2018年1月27日 星期六

Arduino (9) 高精度時鐘模組 DS3231+IIC/I2C1602顯示器。

購買DS3231時的情況蠻無言的,

當時買了網路上的學習套件其實是應該要給DS1302,

結果點料時發現是DS3231,

後來反映給商家說給錯料,結果過一星期送來又是DS3231???

結果我現在有兩顆DS3231   XD





DS3231高精度時鐘模組本體,有一顆鈕扣3V電池。

杜邦線接法要注意SDA->A0,SCL->A1。

電壓給3.3V。


再來就與LCD1602做結合。



程式如下:


#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3,POSITIVE);

#include <DS3231.h>
DS3231 rtc(A0, A1);

void default_Clack()
{
rtc.setDOW(SATURDAY); 
rtc.setTime(17, 41, 55);    
rtc.setDate(27, 01, 2018);   
}
//這是時間預設值函式。

void setup()
{
Serial.begin(115200);
rtc.begin();
 lcd.begin(16, 2);

default_Clack();
//時間預設函式執行,如果不執行預設可以忽略"//"。
}
void loop()
{
Serial.print("Week:");
Serial.println(rtc.getDOWStr());
Serial.print("Data:");
Serial.print(rtc.getDateStr());
Serial.print(", Time:");
Serial.println(rtc.getTimeStr());
//使用序列阜監控。

lcd.setCursor(0,0);
lcd.print("Time:");
lcd.setCursor(0,1);
lcd.print(rtc.getTimeStr());
//LCD只顯示時間就好。

delay (1000);
//1秒更新時間一次。
}


序列阜監視顯示時間、日期和週別。




LCD只顯示時間。

就是一個數位電子鐘。





3 則留言:

  1. 想請問如果要將時分秒分開成三個變數應該怎麼改?

    回覆刪除
  2. 請問有接法嗎? 這個圖片上的看不清楚

    回覆刪除
  3. 請問有LiquidCrystal_I2C.h涵式庫嗎

    回覆刪除

8051 (6) 紅外線避障模組控制LED七段顯示器。

這篇要做的Project就是感測器測到訊號時,LED七段顯示器會開始計算偵測次數, 到第5次時會讓紅色LED燈發光。 程式如下: #include <reg52.h> unsigned char seg[5]={0xf9,...