~ MamakTalk ~: 【如何設計網路計時器?】電路組立上篇

2016年7月18日 星期一

【如何設計網路計時器?】電路組立上篇



本專欄主要以網路投幣計時器的主題,期望透過投幣的機制,來取得電力插座使用時間,進而控制家庭電器的使用時間,並可以透過網際網路來查詢使用情形。

本篇是接續上篇文章『如何設計網路計時器:硬體組立篇』(曹永忠, 2016d),主要是讓讀者將投幣計時器、網路投幣計時器,相關元件,進行硬體組立(曹永忠, 2016c, 2016d; 曹永忠, 許智誠, & 蔡英德, 2015a, 2015b, 2015c, 2015d, 2015e, 2015f, 2015g, 2015h)。

關於組裝元件

關於所需的元件,請參閱上篇文章『如何設計網路計時器:硬體組立篇』(曹永忠, 2016d; 曹永忠 et al., 2015a, 2015b),網址如下:http://www.techbang.com/posts/44123-how-to-design-a-network-timer-hardware-group-legislative-review,本文不再重述。

連接乙太網路擴充卡

為了能夠上網,本文使用 W5100乙太網路擴充卡(曹永忠 et al., 2015c, 2015d, 2015e, 2015f, 2015g, 2015h), 主要特色是把 TCP/IP Protocols (TCP, UDP, ICMP, IPv4 ARP, IGMP, PPPoE, Ethernet) 做在硬體電路上,減輕了單晶片(MCU )的負擔 (也就是 Arduino 開發板的負擔)。

Arduino 程式只要使用 Ethernet Library 便可以輕易完成連至網際網路的動作,不過 W5100 也不是沒有缺點,因為它有一個限制,就是最多只允許同時 4 個 socket 連線。

Arduino Ethernet Shield 使用加長型的 Pin header (如下圖.(a) & 下圖(b)),可以直接插到 Arduino 控制板上 (如下圖.(c) & 下圖.(d) &.下圖. (e)),而且原封不動地保留了 Arduino 控制板的 Pin Layout,讓使用者可以在它上面疊其它的擴充板(如下圖.(c) & 下圖.(d) & 下圖(e))。

比較新的 Ethernet Shield 增加了 micro-SD card 插槽(如下圖.(a)),可以用來儲存檔案,你可以用 Arduino 內建的 SD library 來存取板子上的 SD card

Ethernet Shield 相容於 UNO 和 Mega 2560 控制板。


圖1 Ethernet Shield(W5100)

首先,組立 W5100 以太網路模組是非常容易的一件事,如下圖所示,只要將W5100 以太網路模組堆疊到任何 Arduino 開發板之上就可以了。


圖2 將 Arduino開發板與W5100 以太網路模組堆疊組立

之後,在將組立好的 W5100 以太網路模組,如下圖所示,只要將 USB 線差到 Arduino 開發板,再將 RJ 45的網路線一端插到 W5100 以太網路模組,另一端插到可以上網的集線器(Switch HUB)的任何一個區域網路接口(Lan Port)就可以了。


圖3 接上電源與網路線的 W5100 以太網路模組堆疊卡

連接 LCD2004顯示器

本實驗引入了 LCD 2004 I2C 顯示模組,如下圖所示,可以見到 Tiny RTC LCD 2004 I2C 顯示模組的外觀圖,本模組採用 I2c 的通訊界面,請將此顯示模組皆在 I2C 的標準接腳(曹永忠 et al., 2015c, 2015d, 2015g, 2015h)。


圖4 LCD 2004 I2C 顯示模組

在寫 LCD 2004 I2C 顯示模組程式之前,我們可以參考下圖所示之 LCD 2004 I2C 顯示模連接圖,先將電路連接完善後,方能進行下 列LCD 2004 I2C 顯示模組程式的攥寫與測試。


圖5 LCD 2004 I2C 顯示模組連接方式

下一頁還有教學哦 ~

連接 RTC I2C 時鐘模組

本實驗引入了 Arduino Tiny RTC I2C 時鐘模組,如下圖所示,可以見到 Tiny RTC I2C 時鐘模組的外觀圖,本模組採用 DS1307晶片,為了驅動它,請參考附錄中 DS1307函式庫(Jeelab, 2013),並在下列 Tiny RTC I2C 時鐘模組測試程式(DS1307_test1),讀出時間資料並且列印到 Arduino 開發板之監控通訊埠(曹永忠, 2016a, 2016b, 2016e, 2016f, 2016g; 曹永忠 et al., 2015c, 2015d, 2015g, 2015h)。


圖6 Tiny RTC I2C 時鐘模組

在寫時鐘程式之前,我們可以參考下圖所示之時鐘模組之電路連接圖,先將電路連接完善後,方能進行下列 Tiny RTC I2C 時鐘模程式的攥寫與測試。


圖7 時鐘模組電路連接方式

連接繼電器模組

本實驗引入了繼電器模組,如下圖所示,可以見到 Tiny RTC I2C 時鐘模組的外觀圖。


圖8 繼電器模組

在寫繼電器模組之前,我們可以參考下圖所示之繼電器模組之電路連接圖,先將電路連接完善後,方能進行下列繼電器模組程式的攥寫與測試(曹永忠 et al., 2015c, 2015d, 2015e, 2015f, 2015g, 2015h; 曹永忠, 許智誠, & 蔡英德, 2015i, 2015j)。


圖9 繼電器模組電路連接方式

連接投幣機

本實驗引入了投幣機模組,如下圖所示,可以見到投幣機模組的外觀圖。


圖10 投幣機模組

在寫投幣機模組之前,我們可以參考下圖所示之投幣機模組之電路連接圖,先將電路連接完善後,方能進行下列投幣機模組程式的攥寫與測試。


圖11 投幣機模組電路連接方式

連接投幣計數器

本實驗引入了投幣計數器模組,如下圖所示,可以見到投幣計數器模組的外觀圖。


圖12 投幣計數器模組

在寫投幣計數器之前,我們可以參考下圖所示之投幣計數器之電路連接圖,先將電路連接完善後,方能進行下列投幣計數器程式的攥寫與測試。


圖13 投幣計數器電路連接方式

本文為『智慧家庭:網路計時器』系列第三篇:電路組立上篇,主要承接上篇『如何設計網路計時器:硬體組立篇』,介紹讀者如何自行組立網路計時器的所有電子電路的組裝。

下一頁是筆者的介紹唷 ~

 

後續筆者還會繼續發表『智慧家庭:網路計時器』系列的文章,讓我們在未來可以創造出更優質、智慧化的家庭。

敬請期待更多的文章。

筆者介紹

曹永忠 (Yung-Chung Tsao):目前為自由作家,專注於軟體工程、軟體開發與設計、物件導向程式設計、Arduino 開發、嵌入式系統開發,商品攝影及人像攝影。長期投入資訊系統設計與開發、企業應用系統開發、軟體工程、新產品開發管理、商品及人像攝影等領域,並持續發表作品及相關專業著作。

Email:prgbruce@gmail.com
Line ID:dr.brucetsao
Arduino部落格:http://taiwanarduino.blogspot.tw/
臉書社群(Arduino.Taiwan) https://www.facebook.com/groups/Arduino.Taiwan/ 
活動官網: http://arduino.kktix.cc/ 
Youtube https://www.youtube.com/channel/UCcYG2yY_u0m1aotcA4hrRgQ 

參考文獻:

Jeelab. (2013). A fork of Jeelab's fantastic RTC library.   Retrieved from https://github.com/adafruit/RTClib

曹永忠. (2016a). AMEBA透過網路校時RTC時鐘模組. 智慧家庭.  Retrieved from http://makerpro.cc/2016/03/using-ameba-to-develop-a-timing-controlling-device-via-internet/

曹永忠. (2016b). 用RTC時鐘模組驅動Ameba時間功能. 智慧家庭.  Retrieved from http://makerpro.cc/2016/03/drive-ameba-time-function-by-rtc-module/

曹永忠. (2016c). 如何設計網路計時器:元件設計篇. 智慧家庭.  Retrieved from http://www.techbang.com/posts/43326-how-to-design-a-network-timer-component-design-review

曹永忠. (2016d). 【如何設計網路計時器?】硬體組立篇. 智慧家庭.  Retrieved from http://www.techbang.com/posts/44123-how-to-design-a-network-timer-hardware-group-legislative-review

曹永忠. (2016e). 智慧家庭:如何安裝各類感測器的函式庫. 智慧家庭.  Retrieved from http://vmaker.tw/project/view/651

曹永忠. (2016f). 智慧家庭實作:ARDUINO 永遠的時間靈魂-RTC時鐘模組. 智慧家庭.  Retrieved from http://www.techbang.com/posts/40838

曹永忠. (2016g). 實戰ARDUINO的RTC時鐘模組,教你怎麼進行網路校時.   Retrieved from http://www.techbang.com/posts/40869-smart-home-arduino-internet-soul-internet-school

曹永忠, 許智誠, & 蔡英德. (2015a). Arduino投币定时器(网络篇):Using Arduino to Develop a Timing Controlling Device via Internet (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.

曹永忠, 許智誠, & 蔡英德. (2015b). Arduino投幣計時器(網路篇):Using Arduino to Develop a Timing Controlling Device via Internet (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.

曹永忠, 許智誠, & 蔡英德. (2015c). Arduino程式教學(入門篇):Arduino Programming (Basic Skills & Tricks) (初版 ed.). 台湾、彰化: 渥玛数位有限公司.

曹永忠, 許智誠, & 蔡英德. (2015d). Arduino程式教學(常用模組篇):Arduino Programming (37 Sensor Modules) (初版 ed.). 台湾、彰化: 渥玛数位有限公司.

曹永忠, 許智誠, & 蔡英德. (2015e). Arduino程式教學(無線通訊篇):Arduino Programming (Wireless Communication) (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.

曹永忠, 許智誠, & 蔡英德. (2015f). Arduino编程教学(无线通讯篇):Arduino Programming (Wireless Communication) (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.

曹永忠, 許智誠, & 蔡英德. (2015g). Arduino编程教学(常用模块篇):Arduino Programming (37 Sensor Modules) (初版 ed.). 台湾、彰化: 渥玛数位有限公司.

曹永忠, 許智誠, & 蔡英德. (2015h). Arduino編程教学(入门篇):Arduino Programming (Basic Skills & Tricks) (初版 ed.). 台湾、彰化: 渥玛数位有限公司.

曹永忠, 許智誠, & 蔡英德. (2015i). 家居生活的好保全:讓ARDUINO替您看顧您的房子.   Retrieved from http://makerdiwo.com/archives/3653

曹永忠, 許智誠, & 蔡英德. (2015j). 家居生活的好夥伴:讓ARDUINO照顧您的眼睛.   Retrieved from http://makerdiwo.com/archives/2920

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

加入T客邦Facebook粉絲團

[热门文章] 亚航十大漂亮性感空姐美媚,美晕了!




Share this interesting post: