ผมใช้โปรแกรมนี้เป็นตัวตั้งเวลาให้ตัว RTC ตอนแรก
#include <DS3231.h>
DS3231 rtc(SDA, SCL);
Time t;
void setup()
{
Serial.begin(115200);
rtc.begin();
rtc.setDOW(MONDAY);
rtc.setTime(21, 20,30);
rtc.setDate(24, 11, 2014);
}
void loop()
{
t = rtc.getTime();
Serial.print(t.hour, DEC);
Serial.print(" : ");
Serial.print(t.min, DEC);
Serial.print(" : ");
Serial.print(t.sec, DEC);
delay (1000);
}
พอได้เวลาที่ต้องการแล้ว ผมใชัโ)รแกรมต่อไปนี้ให้มันแสดงออกจอLCD
// include the library code:
#include <LiquidCrystal.h>
#include <DS3231.h>
#include "TM1637.h"
#define ON 1
#define OFF 0
int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};
unsigned char ClockPoint = 1;
unsigned char Update;
unsigned char halfsecond = 0;
unsigned char second;
unsigned char min = 0;
unsigned char hour = 0;
DS3231 rtc(SDA, SCL);
Time t;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
rtc.begin();
lcd.begin(16, 2);
}
void loop() {
t = rtc.getTime();
lcd.setCursor(0, 0);
lcd.print ("TIME ");
lcd.print(rtc.getTimeStr());
lcd.setCursor(0, 1);
lcd.print("DATE ");
lcd.print(rtc.getDateStr());
delay (1000);
}
มันแสดงเวลาและวันที่ออกมาได้แล้ว แต่ผมอยากจะต่อสวิทช์เพื่อที่จะใช้ตั้งเวลาจากภายนอกโดยไม่ต้องมาเขียนโปรแกรมใหม่ ต้องเริ่มตรงไหน ช่วยแนะนำหน่อยครับ
ขอโค้ดตัวอย่างได้ไหมคับ ผมติดตั้งเวลาเหมือนกัน
‹ ก่อนหน้า | 1 | 2 |