Để ngắn gọn hơn và đi vào chủ đề chính mình không giới thiệu lại phần cứng hỗ trợ!
Bước 1: Kết nối như sơ đồ nguyên lí.
Chân Vcc
Chân GND
Chân SDA và SCL
***Chú ý: Module thời gian thực DS1307 đã tích hợp sẵn PIN.
Bước 2: Viết Code chạy thực nghiệm.
***Copy đoạn code bên dưới và dán vào chương trình IDE và nhớ thêm đúng thư viện hỗ trợ bên dưới link nhé!
Thư viện hỗ trợ.
1. RTClib-master
http://www.mediafire.com/file/dbctizgv7l4kcxl/RTClib-master.rar
2. LCD(LiquidCrystal)
Code tham khảo:
#include <LiquidCrystal.h>
#include <Wire.h>
#include "RTClib.h"
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
void setup ()
{
while (!Serial);
lcd.begin(16,2);
Serial.begin(57600);
if (! rtc.begin())
{
Serial.println("Couldn't find RTC");
while (1);
}
if (! rtc.isrunning())
{
Serial.println("RTC is NOT running!");
}
}
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(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.print(" since midnight 1/1/1970 = ");
Serial.print(now.unixtime());
Serial.print("s = ");
Serial.print(now.unixtime() / 86400L);
Serial.println("d");
DateTime future (now + TimeSpan(7,12,30,6));
Serial.print(" now + 7d + 30s: ");
Serial.print(future.year(), DEC);
Serial.print('/');
Serial.print(future.month(), DEC);
Serial.print('/');
Serial.print(future.day(), DEC);
Serial.print(' ');
Serial.print(future.hour(), DEC);
Serial.print(':');
Serial.print(future.minute(), DEC);
Serial.print(':');
Serial.print(future.second(), DEC);
Serial.println();
Serial.println();
delay(3000);
lcd.setCursor(0, 0);// cot hang
lcd.print(future.hour(), DEC);
lcd.setCursor(2, 0);// cot hang
lcd.print(":");
lcd.setCursor(3, 0);// cot hang
lcd.print(future.minute(), DEC);
lcd.setCursor(5, 0);// cot hang
lcd.print(":");
lcd.setCursor(6, 0);// cot hang
lcd.print(future.second(), DEC);
lcd.setCursor(0, 1);// cot hang
lcd.print(future.day(), DEC);
lcd.setCursor(2, 1);// cot hang
lcd.print("/");
lcd.setCursor(3, 1);// cot hang
lcd.print(future.month(), DEC);
lcd.setCursor(5, 1);// cot hang
lcd.print("/");
lcd.setCursor(6, 1);// cot hang
lcd.print(future.year(), DEC);
}
//Email: cuối web.
DateTime future (now + TimeSpan(7,12,30,6));
Trả lờiXóadòng này nghĩa là sao vậy ad?