Code ตัวอย่าง
อธิบาย Module นาฬิกา หรือมีอีกชื่อหนึ่งว่า Real time clock (RTC) ถ้าน้องๆนึกถึง Arduino เมื่อไม่มีการจ่ายไฟโปรแกรมของ Arduino ก็จะหยุดทำงาน เราจึงมี RTC เพื่อทำการเก็บเวลาไว้เมื่อจ่ายไฟให้กับวงจร Arduino ก็จะดึงเวลามาใช้งานได้ทันที หรือการ ตั้งค่าคำนวนเวลาของ Arduino อาจจะมีปัญหา ความแม่นยำไม่ตรงบ้าง Library มีการ delay ทำให้เวลาไม่ตรงบ้าง เราก็สามารถใช้ Module อ้างอิ่งเวลาได้อย่างชัดเจนแน่นอน หรือจะนำไปใช้ในการบอกเวลา เพื่อลดน้ำต้นไม้ เปิดปิดไฟตามเวลาก็ได้เช่นกัน#include <Wire.h>
#include <SPI.h>
#include <RTClib.h>RTC_DS3231 RTC;void setup () {
Serial.begin(9600);
Wire.begin();
RTC.begin();RTC.adjust(DateTime(__DATE__, __TIME__)); //จุดนี้เป็นการตั้งเวลา ตั้งครั้งแรกเสร็จแล้วให้ // ไว้ด้วย
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
RTC.adjust(DateTime(__DATE__, __TIME__));
}DateTime now = RTC.now();
RTC.setAlarm1Simple(21, 58); //เป็นการตั้งเวลาปลุก เวลา 22.58 น.
RTC.turnOnAlarm(1); //ปลุกช่วงเวลาที่ 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);
Serial.println();if (RTC.checkIfAlarm(1)) { // เมื่อถึงเวลาให้ทำการปลุกโดยการทำตามเงือนไขใน if
Serial.println("Alarm Triggered");
}Serial.println();
delay(3000);}
อ้างอิงจากhttps://www.9arduino.com/
ไม่มีความคิดเห็น:
แสดงความคิดเห็น