ATtiny85 和 DS1302 製作一個實時時鐘
DS1302模塊是一個實時時鐘模塊,可以提供秒、分、時、日、月和年的計時信息。ATtiny85可以讀取並顯示這些信息。
以下是 ATtiny85 和 DS1302 模塊的所需材料和連接方式:
所需材料:
ATtiny85微控制器
DS1302實時時鐘模塊
16×2字符LCD顯示器
杜邦線
連接方式:
將DS1302的VCC引腳連接到ATtiny85的VCC引腳上。
將DS1302的GND引腳連接到ATtiny85的GND引腳上。
將DS1302的SCLK引腳連接到ATtiny85的PB2引腳上。
將DS1302的DAT引腳連接到ATtiny85的PB0引腳上。
將DS1302的RST引腳連接到ATtiny85的PB1引腳上。
將LCD的VCC引腳連接到ATtiny85的VCC引腳上。
將LCD的GND引腳連接到ATtiny85的GND引腳上。
將LCD的RS引腳連接到ATtiny85的PB3引腳上。
將LCD的EN引腳連接到ATtiny85的PB4引腳上。
將LCD的D4引腳連接到ATtiny85的PB5引腳上。
將LCD的D5引腳連接到ATtiny85的PB6引腳上。
將LCD的D6引腳連接到ATtiny85的PB7引腳上。
以下是ATtiny85和DS1302模塊的示例代碼:
#include <Wire.h>
#include <RtcDS1302.h>
#define RST_PIN PB1
#define DAT_PIN PB0
#define CLK_PIN PB2
RtcDS1302<CLK_PIN, DAT_PIN, RST_PIN> Rtc;
void setup () {
Wire.begin();
Rtc.Begin();
}
void loop () {
RtcDateTime now = Rtc.GetDateTime();
String timeStr = String(now.Hour());
timeStr += ":";
timeStr += String(now.Minute());
timeStr += ":";
timeStr += String(now.Second());
lcd.setCursor(0, 0);
lcd.print("Time: ");
lcd.print(timeStr);
delay(1000);
}
此代碼將連接到DS1302模塊,並使用RTC庫從模塊中讀取時間信息。
然後將這些信息顯示在LCD上。
頁:
[1]