Diskuze: Arduino hodiny s RTC
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ahoj, kód používáš přesně ten z návodu, bez žádných úprav? Takhle na pohled tam nevidím žádnou chybu a aktuálně žádné DS1307 na vyzkoušení bohužel nemám...
Zkusil bych nějaký jiný kód, třeba: (před kompilací je ale nutné přes Arduino Library Manager nainstalovat knihovnu "RTClib by Adafruit")
// připojení knihoven
#include <Wire.h>
#include "RTClib.h"
// vytvoření instance DS1307 z knihovny RTClib
RTC_DS1307 DS1307;
// vytvoření pole seznamDni s názvy jednotlivých dní
char seznamDni[7][8] = {"nedele", "pondeli", "utery", "streda", "ctvrtek", "patek", "sobota"};
void setup () {
// komunikace přes sériovou linku rychlostí 9600 baud
Serial.begin(9600);
// kontrola připojeného obvodu reálného času
if (! DS1307.begin()) {
Serial.println("Hodiny nejsou pripojeny!");
while (1);
}
// kontrolu spuštění obvodu reálného času
if (! DS1307.isrunning()) {
Serial.println("Hodiny nejsou spusteny! Spoustim nyni..");
}
}
void loop () {
// načtení aktuálního času a data do proměnné datumCas
DateTime datumCas = DS1307.now();
// vypsání informací o aktuálním času a datu po sériové lince
Serial.print("Aktualni cas ");
Serial.print(datumCas.hour());
Serial.print(':');
Serial.print(datumCas.minute());
Serial.print(':');
Serial.print(datumCas.second());
Serial.print(", ");
Serial.print(seznamDni[datumCas.dayOfTheWeek()]);
Serial.print(" ");
Serial.print(datumCas.day());
Serial.print('.');
Serial.print(datumCas.month());
Serial.print('.');
Serial.print(datumCas.year());
Serial.println();
// pauza mezi výpisy
delay(2000);
}
Díky za reakci, zkouším tu konstrukci s LCD displejem, zjistil jsem že
tam dochází při běhu programu k přepsání řádku 1, pokud řádek 2
zakomentuju, tak se řádek 1 zobrazuje, sice divně, protože za výpisem
vteřin se zobrazují další nesmyslné znaky a to i přes serial, zkusím
jiné konstrukce nebo se s tím nějak porvu
Zobrazeno 3 zpráv z 3.