文章類型
開發平台
解決方案
關注主題
文章類型
開發平台
解決方案
關注主題

如何讓AMEBA使用RTC時鐘模組

作者:曹永忠

drive ameba time function by RTC module
智慧家庭的核心為人,而人最重視的是時間,如何讓「創客神器-Ameba」來顯示出時間,且時間是連續、不可磨滅的,Ameba開發版的確缺少這個非常重要的核心功能,雖然可以自己計時,但是在關機或重開機後,所有的時間又重來了,還儘管可以使用EEPROM或SD Card記憶卡來當作解決方案,但是終究不是一個很完善的解決方案,針對此問題,可以利用下列方式補足Ameba時間模組需求:

RTC時鐘模組的介紹與描述

我們首先介紹RTC時鐘模組,其模組具備了時間功能,且為了斷電時依然能保留時間,補足了Ameba開發板所沒有的內置時鐘(Internal Clock),正好可以使用它。如圖所示,可見到 Tiny RTC I2C 時鐘模組的外觀圖,模組採用DS1307晶片,若讀者需要更詳盡的資料,請參考『Arduino投幣計時器(網路篇)』,內容皆相關於RTC時鐘模組。

Tiny RTC I2C 時鐘模組

Tiny RTC I2C 時鐘模組

如下圖所示,我們可以參考時鐘模組之電路連接圖,先將電路連接完善後,撰寫與測試下列Tiny RTC I2C 時鐘模組測試程式。

時鐘模組電路連接方式

時鐘模組電路連接方式

在完成上圖所示之時鐘模組之電路連接後,如下圖所示,完成時鐘模組電路實際組裝的工作。

時鐘模組電路實際組裝圖

時鐘模組電路實際組裝圖

透過RTC時鐘模組管理時間

我們使用下表所示之「RTC 1307時鐘模組測試程式一」,進行時鐘模組程式的撰寫與測試,會得到如下圖所示之執行畫面,可以知道目前日期與時間的資料。

RTC 1307 時鐘模組測試程式一.

由上述程式的使用,Ameba開發板就可以做到讀取時間,並且透過該時間模組,可以達到儲存目前時間,及自動達到時鐘的功能(指當Ameba停電休息時,時間仍然會繼續計算且不失誤),對於工業上的應用,可以更加完備,因為當企業不營業時,所有設備是關機不用的,但是當營業時,所有設備開機,就不需要再次重新設定時間。

RTC DS1307 時鐘模組測試程式一執行畫面

RTC DS1307 時鐘模組測試程式一執行畫面

使用RTC取得正確的日期與時間

在完成時鐘模組之電路連接後,因為RTC DS1307 時鐘模組會幫我們管理好時間,所以我們並不需要每次都重新設定,接下來,我們使用下表所示之「RTC 1307 時鐘模組測試程式二」,進行時鐘模組測試程式的撰寫與測試,可以得到如下圖所示之執行畫面,得到目前日期與時間的資料。

RTC 1307 時鐘模組測試程式二.

 RTC DS1307 時鐘模組測試程式二執行畫面

RTC DS1307 時鐘模組測試程式二執行畫面

小結

本文主要介紹Ameba開發板,透過RTC DS1307 時鐘模組取得正確時間,以及維持時間的驅動,相信透過本文的解說,讀者更可以應用Ameba在許多產業、工業上,甚至實務使用在物聯網上;後續筆者還會繼續發表智慧家庭相關的文章,讓我們在未來可以創造出更優質、智慧化的生活。

曹建國

目前為自由作家,已有二十多年的開發資訊系統經驗,專長為於軟體工程、軟體開發與設計、物件導向程式設計、Arduino/Ameba/LinkIt ONE等開發版開發與應用、嵌入式系統開發,同時也喜歡商品攝影及人像攝影,並持續發表作品及相關專業著作。

原始碼網址:https://github.com/brucetsao/

上一篇: | 下一篇:

我想回應

你的電子郵件位址並不會被公開。 必要欄位標記為 *

邀您加入《MakerPro》粉絲團:Maker&Startup開發社群的學習與知識平台