作者:黃小棟
這次自造學堂的教學文主題是「用Arduino x RTC完成LCD時間顯示」。在這一章節裡除了介紹RTC模組外,也會教大家如何將RTC模組與上一章節中提到的I2C_LCD模組和Arduino做系統上的整合,讓大家不再只會使用一塊Arduino控制一個模組,或者看到Arduino IDE內資料庫一堆的範例程式,卻一頭霧水,不知該如何整合使用。
學習目標:
大家研讀完這篇文章並且實際操作之後,將會了解下列兩點:
- 對 DS3231_RTC模組有初步的認識,並且能夠將時間顯示在Arduino IDE的序列埠監控視窗上。
- 學會使用I2C匯流排,讓Arduino、RTC模組和LCD模組做結合,並且整合Arduino的範例程式來完成此專案的控制。
學習背景:
在研讀實作之前,必須知道下面幾點:
- 會安裝第三方資料庫libraries。(依然很重要)
- 了解麵包板的特性,並且知道如何使用。
- 知道I2C匯流排的特性。(可參考【自造學堂】Arduino如何透過I2C控制LCD模組的介紹)
好~話不多說,立刻進入我們的主題吧!
基礎認識:什麼是RTC?
我們可以在Google搜尋到,RTC是Real-time clock的縮寫,指的是負責記錄時間的積體電路元件。它可以跟時鐘一樣輸出實際時間,通常會出現在個人電腦、伺服器或嵌入式系統,因此大家的桌機和筆電內就有這個元件。RTC具有以下特性:
- 消耗功率低。
- 讓主系統處理更需時效性的工作。
- 有時會比其他方式的輸出要更準確。
以上資料皆來自於網路資源,若有興趣深入研究的也可再自行查找。
模組規格及腳位介紹
首先,我們這次所使用的模組為DS3231高精密RTC模組( 只需不到短短一分鐘... 輸入您的信箱與ID註冊即可享有一切福利! 免費電子報 會員搶先看 主題訂閱 好文收藏會員福利
2021/03/12
不好意思DS3231_TEST這個網址不見了
2021/03/17
不好意思,本文時間已久,建議用Google Search看看,有查到這個給你參考:https://gist.github.com/dvsseed/649717d92b8a2d8e7d6dfcc2d3fed145#file-ds3231_test-ino
2021/03/09
不好意思那個副檔名的網址不見了,可以再給一次嗎?
2021/03/09
請問是哪個副檔名呢?
2021/03/11
DS3231_TEST這個第三方資料庫的網址不見了
2020/05/29
有成功了,搞了一天,這個版本是對的。
感謝教學
2018/09/13
請問小時要調整成24HR制該如何設定?
month=Clock.getMonth(Century);其中Century預設為flase用意何在?謝謝!
2018/09/20
有關於操作上或技術上的一些小問題,歡迎您在MakerPRO社群論壇-交流、分享、協作
進行留言與提問喔!社團裡有許多厲害的Maker們願意分享他們的經驗
謝謝您的提問
MakerPRO 編輯部
2018/07/28
程式碼複製過去顯示字串的引號會變全形.所以會出錯無法正常顯示
例如(lcd.print(‘:’);)裡面的單引號會變全形.雙引號也是.
2018/05/13
請問筆者使用arduino版本為何 因為螢幕沒有顯示但有上傳成功
2018/05/08
請問筆者使用arduino版本為何??
2018/05/08
求大神們指點指點小弟都按照步驟來可是LCD跑不出東西來請問筆者ARDUINO版本是??還跑出exit status 1
stray ‘\241’ in progra的這串字,專題有點趕求大神們幫幫忙阿
2019/04/15
因为有中文符号,尝试更换为英文的” 或’
2017/11/22
rtc ds1307 跟i2c lcd 如何混合在一起我有兩個單獨的程式我要讓ds1307所收到的\時間在lcd上面顯示出來
2017/11/23
您好,這裡是MakerPRO編輯部,謝謝您的詢問,關於技術問題,需要詢問一下作者再回覆您噢~若急需解答,建議可上MakerPRO社群發問,相信社群中的高手們能很快為您解惑!請上:https://www.facebook.com/groups/makerpro.cc/
2017/11/20
請問 我時間顯示當只有一個位數時我希望他能夠補零輸出例如:原本是1,2,3…
我希望它是 01,02,03
請問程式要怎麼改呢??
2017/11/21
您好,這裡是MakerPRO編輯部,謝謝您的詢問,我們詢問一下作者再回覆您噢~~
2017/11/20
請問我計數到了59秒之後 他會從09開始計數請問要怎麼調整??才能夠從00開始計數??
請大大幫我解惑感謝
2017/11/21
您好,這裡是MakerPRO編輯部,謝謝您的詢問,我們詢問一下作者再回覆您噢~~
2017/10/01
想請問一下這個副程式「DS3231_TEST」為什麼不能使用?因為我們也有使用這個程式可是我們下載完後也有把副程式加進去I2C_LCD模組也是去上面建議的地方購買的,可是到後來也找不出什麼錯誤但是I2C_LCD模組上就是沒顯示時間
2017/10/19
您好,我們是MakerPRO編輯部,感謝您的提問,這是技術問題的部分,我們再請作者來回答噢:)
2018/03/01
I2C_LCD上看一下上面的晶片,如果轉接的晶片是PCF8574T位址是0X27,如果是PCF8574AT位址是0X3F