🕰️ ماموریت ۷۹: ساعت واقعی با DS3231

ماژول RTC را با I2C وصل کن. با rtc.now() زمان را بگیر و hour/minute/second را در سریال چاپ کن.

سطح: متوسط ⭐⭐ · مود: آردوینو — با کد

هدف‌ها

قطعه‌های لازم

▶ همین ماموریت را در شبیه‌ساز امتحان کن
💡 گیر کردی؟ داخل شبیه‌ساز راهنما را ببین، و اگر باز هم نشد دکمه‌ی «برام حلش کن» مدار را برایت می‌چیند تا ببینی چطور کار می‌کند.

جواب کامل

اول خودت امتحان کن! بعد جواب را ببین 👀

سیم‌کشی

  1. Arduino Uno (VCC5) ⟷ Real-Time Clock (DS3231) (VCC)
  2. Real-Time Clock (DS3231) (GND) ⟷ Arduino Uno (GND1)
  3. Arduino Uno (A4) ⟷ Real-Time Clock (DS3231) (SDA)
  4. Arduino Uno (A5) ⟷ Real-Time Clock (DS3231) (SCL)

کد

// DS3231 clock: print the time every second
#include <Wire.h>
#include <RTClib.h>

RTC_DS3231 rtc;

void print2(int n) {
  if (n < 10) Serial.print("0");
  Serial.print(n);
}

void setup() {
  Serial.begin(9600);
  rtc.begin();
  if (rtc.lostPower()) {
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));  // set it once from the PC time
  }
}

void loop() {
  DateTime now = rtc.now();
  print2(now.hour());
  Serial.print(":");
  print2(now.minute());
  Serial.print(":");
  print2(now.second());
  Serial.println();
  delay(1000);
}

ماموریت‌های مشابه

🌡️

ماموریت ۷۸: ایستگاه هوا: دما و رطوبت

📈

ماموریت ۷۷: نمودار زنده روی OLED

😊

ماموریت ۸۱: شکلک روی ماتریس ۸×۸

🖥️

ماموریت ۷۶: سلام روی نمایشگر OLED

📚 برای یاد گرفتن پایه‌ها سری به دوره‌ی آموزش آردوینو بزن · 🎯 همه‌ی ماموریت‌ها