Arduino:
קבלת התאריך הנוכחי
איך לעשות זאת:
הארדואינו עצמו אינו מכיל שיטה מובנית לצורך קבלת התאריך הנוכחי באופן ישיר, מכיוון שאין לו שעון אמת (RTC). עם זאת, ניתן להשיג זאת באמצעות מודולים חיצוניים של RTC כמו ה-DS3231, וספריות כמו RTClib
, שפותחה על ידי Adafruit, אשר הופכת את הממשק עם מודולים אלו לפשוט.
ראשית, ודאו שספריית ה-RTClib
מותקנת בסביבת הפיתוח Arduino IDE שלכם. לאחר מכן, חברו את מודול ה-RTC לארדואינו שלכם על פי ההוראות בתיעוד.
הנה דוגמה פשוטה להתחלה:
#include <Wire.h>
#include "RTClib.h"
RTC_DS3231 rtc;
void setup() {
Serial.begin(9600);
if (!rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
if (rtc.lostPower()) {
Serial.println("RTC lost power, let's set the time!");
// כאשר יש צורך לקבוע את הזמן במכשיר חדש או לאחר אובדן כוח, אפשר לעשות זאת כאן.
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}
void loop() {
DateTime now = rtc.now();
Serial.print("תאריך נוכחי: ");
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.println(now.day(), DEC);
delay(3000); // השהייה של 3 שניות כדי להפחית ספאם בממשק הסריאלי
}
פלט לדוגמה (בהנחה שה-RTC שלכם כבר הוגדר):
תאריך נוכחי: 2023/4/15
הקוד הזה מאתחל את מודול ה-RTC ולאחר מכן, בלולאה, משיג ומדפיס את התאריך הנוכחי למוניטור הסריאלי כל 3 שניות. זכרו, אפשר לבטל את ההערה ולשנות את שורת ה-rtc.adjust(...)
כדי לקבוע תחילה את תאריך והזמן של RTC או לאחר שהוא איבד כוח.