Valós idejű óra modul.
Látogatási statisztikákat böngészve tapasztaltam, hogy a az olvasókat jobban érdekli egy-egy modul használata mint egy projekt, így igazodom az igényekhez.
A modul DS1307RTC IC-n alapul van mellette még egy eeprom is de ennek használatával nem foglalkozok ebben a cikkben.
Modul bekötése:
4 csatlakozási pontot használunk (mindegy melyik oldalon) :
SCL- órajel, SDA – adat, VCC – +5V, GND – test
Csatlakoztatás Arduino Uno-hoz:
Szkript az Arduino Uno-hoz:
Vezérlő könyvtár (library) letölthető itt: https://github.com/sparkfun/SparkFun_DS1307_RTC_Arduino_Library
A könyvtár felvételét az Arduino fordító programjába nem tárgyalom.
#include <SparkFunDS1307RTC.h>
#include <Wire.h>
void setup() {
rtc.begin(); // óra indul :)
Serial.begin(9600); //soros kapcsolat inicializálása
oraFunction(14, 22, 0, 4, 8, 5, 19); //2019-05-08 14:22:00
Serial.println("Start");
}
void loop() {
rtc.update(); //idő lekérdezése
//Ki íratás
Serial.print(rtc.year());
Serial.print("-");
Serial.print(rtc.month());
Serial.print("-");
Serial.println(rtc.date());
Serial.print(rtc.day());
Serial.println("nap");
Serial.print(rtc.hour());
Serial.print(":");
Serial.print(rtc.minute());
Serial.print(":");
Serial.println(rtc.second());
delay(1000);
}
//idő beállító funkció
void oraFunction(int ora, int perc, int masodperc, int nap, int naptarinap, int honap, int ev){
rtc.set24Hour(); //24 órás működés
rtc.setTime(masodperc, perc, ora, nap, naptarinap, honap, ev); //idő beállítása
}
Jó kódolást mindenkinek!