Arduino:
Kahden päivämäärän vertailu
How to: (Miten toimia:)
#include <RTClib.h>
RTC_DS3231 rtc;
void setup() {
Serial.begin(9600);
if (!rtc.begin()) {
Serial.println("RTC ei käynnisty!");
while (1);
}
DateTime dateOne = rtc.now();
delay(10000); // Odotetaan 10 sekuntia demoa varten
DateTime dateTwo = rtc.now();
if (dateOne < dateTwo) {
Serial.println("dateOne on ennen dateTwo.");
} else if (dateOne > dateTwo) {
Serial.println("dateOne on myöhemmin kuin dateTwo.");
} else {
Serial.println("dateOne ja dateTwo ovat samat.");
}
}
void loop() {
// Toistaiseksi tyhjää.
}
Tuloste:
dateOne on ennen dateTwo.
Deep Dive (Sukellus syvyyksiin):
Päivämäärien vertailuun Arduino-ympäristössä käytetään usein RTC-kirjastoja, kuten RTClib
, joka kommunikoi reaaliaikakellojen, kuten DS3231, kanssa. Historiallisesti, ajan seuraaminen on ollut haaste, mutta mikrokontrollerit ja RTC-moduulit ovat tehneet siitä tarkkaa ja tehokasta. Vaihtoehtoja RTClib
:ille ovat muun muassa TimeLib
ja sisäiset kellot, jos tarkkuusvaatimukset ovat matalat. Vertailu tapahtuu ohjelmallisesti DateTime-olioiden avulla, jotka sisältävät sekunteja alkaen tietyistä päivästä (esim. 1. tammikuuta 2000).