🕰️ ساعت واقعی DS3231
تاریخ و ساعت از ماژول RTC روی I2C، هر ثانیه روی سریال.
سطح: متوسط ⭐⭐ · مود: آردوینو (سهبعدی + کد)
قطعات لازم
کد کامل پروژه
// DS3231 real-time clock: set it once, then read the time every second.
#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
int lastSecond = -1;
void print2(int n) { // 7 -> "07"
if (n < 10) Serial.print("0");
Serial.print(n);
}
void setup() {
Serial.begin(9600);
if (!rtc.begin()) {
Serial.println("RTC not found!");
while (true) delay(1000);
}
if (rtc.lostPower()) { // battery was out: set the time from the computer
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
Serial.println("Time was set.");
}
}
void loop() {
DateTime now = rtc.now();
if (now.second() == lastSecond) return; // print once per second
lastSecond = now.second();
Serial.print(now.year()); Serial.print("/");
print2(now.month()); Serial.print("/");
print2(now.day()); Serial.print(" ");
print2(now.hour()); Serial.print(":");
print2(now.minute()); Serial.print(":");
print2(now.second());
Serial.print(" millis: ");
Serial.println(millis());
}
چطور اجرایش کنم؟
- شبیهساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
- از پنل «نمونهها»، «ساعت واقعی DS3231» را بارگذاری کن — مدار و کد با هم میآیند.
- دکمهی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
- حالا کد را تغییر بده — عددها، پینها، ترتیب — و دوباره اجرا کن!