洪嵐峰 發表於 2023-4-11 06:12:22

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]
查看完整版本: ATtiny85 和 DS1302 製作一個實時時鐘