โมดูลนาฬิกา DS3231 module ความแม่นยำสูง RTC DS3231 AT24C32 IIC Module
Precision Clock Module for Arduino
DS3231 module เป็นโมดูนาฬิกาแบบเวลาจริง RTC( Real Time Clock ) ที่มีความถูกต้องแม่นยำสูง
เพราะข้างในมีวงจรวัดอุณหภูมิ เพื่อนำอุณหภูมิจากสภาพแวดล้อมมาคำนวนชดเชยความถี่ของ Crystal ที่
ถูกรบกวนจากอุณหภูมิภายนอก มาพร้อมแบตเตอร์รี่ ใช้งานได้แม้ไม่มีแหล่งจ่ายไฟจากภายนอก สามารถตั้ง
ค่า วัน เวลา ได้อย่างง่าย มีไลบารีมาพร้อมใช้งาน สามารถเลือกแสดงผลเวลาแบบ 24 ชั่วโมงหรือแบบ 12
ชัวโมงก็ได้
นอกจากจะแสดงวันและเวลาได้อย่างแม่นยำแล้ว โมดูลนี้ยังสามารถ แสดงอุณหภูมิภายนอกได้ เป็นเหมือน
นาฬิกาดิจิตอลที่บอกอุณหภูมิได้ด้วย
DS3231 module ➔ Arduino
SCL ➔ A5
SDA ➔ A4
VCC ➔ 5V
GND ➔ GND
// Date, Time and Alarm functions using a DS3231 RTC connected via I2C and Wire lib
#include "Wire.h"
#include "SPI.h" // not used here, but needed to prevent a RTClib compile error
#include "RTClib.h"
RTC_DS3231 RTC;
void setup () {
Serial.begin(9600);
Wire.begin();
RTC.begin();
// ตั้งเวลาเตือนให้เอา // ข้างหน้า RTC.adjust ออก
//RTC.adjust(DateTime(__DATE__, __TIME__));
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(__DATE__, __TIME__));
}
DateTime now = RTC.now();
//กำหนดให้ นาฬิกาเตือนตอน 13:05
RTC.setAlarm1Simple(13, 5);
RTC.turnOnAlarm(1);
if (RTC.checkAlarmEnabled(1)) {
Serial.println("Alarm Enabled");
}
}
void loop () {
DateTime now = RTC.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
if (RTC.checkIfAlarm(1)) {
// ถ้านาฬิกาเดินถึง 13:05 จะมาทำงานในนี้
Serial.println("Alarm Triggered");
}
Serial.println();
Serial.print("Tempeature = ");
Serial.print(RTC.getTemperature()); // คำสั่งดึงอุณหภูมิออกมาแสดง
Serial.println(" C");
delay(1000);
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น