<span style="font-size: 14.0pt; font-family: &quot;新細明體&quot;,&quot;serif&quot;; mso-ascii-theme-font: minor-fareast; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-fareast; mso-bidi-font-family: SimSun; mso-font-kerning: 0pt;">本專欄主要以網路投幣計時器的主題,期望透過投幣的機制,來取得電力插座使用時間,進而控制家庭電器的使用時間,並可以透過網際網路來查詢使用情形。</span><p>本篇是接續上篇文章『如何設計網路計時器:硬體組立篇』(曹永忠, 2016d),主要是讓讀者將投幣計時器、網路投幣計時器,相關元件,進行硬體組立(曹永忠, 2016c, 2016d; 曹永忠, 許智誠, &amp; 蔡英德, 2015a, 2015b, 2015c, 2015d, 2015e, 2015f, 2015g, 2015h)。</p>
<h2 class="23421">關於組裝元件</h2>
<p>關於所需的元件,請參閱上篇文章『如何設計網路計時器:硬體組立篇』(曹永忠, 2016d; 曹永忠 et al., 2015a, 2015b),網址如下:<a href="http://www.techbang.com/posts/44123-how-to-design-a-network-timer-hardware-group-legislative-review">http://www.techbang.com/posts/44123-how-to-design-a-network-timer-hardware-group-legislative-review</a>,本文不再重述。</p>
<h2 class="23421">連接乙太網路擴充卡</h2>
<p>為了能夠上網,本文使用 W5100乙太網路擴充卡(曹永忠 et al., 2015c, 2015d, 2015e, 2015f, 2015g, 2015h), 主要特色是把 TCP/IP Protocols (TCP, UDP, ICMP, IPv4 ARP, IGMP, PPPoE, Ethernet) 做在硬體電路上,減輕了單晶片(MCU )的負擔 (也就是 Arduino 開發板的負擔)。</p>
<p>Arduino 程式只要使用 Ethernet Library&nbsp;便可以輕易完成連至網際網路的動作,不過 W5100 也不是沒有缺點,因為它有一個限制,就是最多只允許同時 4 個 socket 連線。</p>
<p>Arduino Ethernet Shield 使用加長型的 Pin header (如下圖.(a) &amp; 下圖(b)),可以直接插到 Arduino 控制板上 (如下圖.(c) &amp; 下圖.(d) &amp;.下圖. (e)),而且原封不動地保留了 Arduino 控制板的 Pin Layout,讓使用者可以在它上面疊其它的擴充板(如下圖.(c) &amp; 下圖.(d) &amp; 下圖(e))。</p>
<p>比較新的 Ethernet Shield 增加了 micro-SD card 插槽(如下圖.(a)),可以用來儲存檔案,你可以用 Arduino 內建的 SD library 來存取板子上的 SD card</p>
<p>Ethernet Shield 相容於 UNO 和 Mega 2560 控制板。</p>
<p style="text-align: center;"><img src="http://cdn1.techbang.com.tw/system/images/355388/original/2e0c215bbc1d630db128cbf993514864.jpg?1468301977" alt="" /><br /><span>▲</span>圖1 Ethernet Shield(W5100)</p>
<div>
<div>
<p style="text-align: left;">首先,組立 W5100 以太網路模組是非常容易的一件事,如下圖所示,只要將W5100 以太網路模組堆疊到任何 Arduino 開發板之上就可以了。</p>
<p style="text-align: center;"><img src="http://cdn1.techbang.com.tw/system/images/355389/original/d8e2747d518a5043b537aacd40caf4f2.jpg?1468301978" alt="" /><br /><span>▲</span>圖2 將 Arduino開發板與W5100 以太網路模組堆疊組立</p>
<p>之後,在將組立好的 W5100 以太網路模組,如下圖所示,只要將 USB 線差到 Arduino 開發板,再將 RJ 45的網路線一端插到 W5100 以太網路模組,另一端插到可以上網的集線器(Switch HUB)的任何一個區域網路接口(Lan Port)就可以了。</p>
<p style="text-align: center;"><img src="http://cdn3.techbang.com.tw/system/images/355390/original/55b39f86493d9ace8ecc42827207c734.jpg?1468301978" alt="" /><br /><span>▲</span>圖3&nbsp;接上電源與網路線的 W5100 以太網路模組堆疊卡</p>
<h2 class="23421">連接 LCD2004顯示器</h2>
<p>本實驗引入了 LCD 2004 I2C 顯示模組,如下圖所示,可以見到 Tiny RTC LCD 2004 I2C 顯示模組的外觀圖,本模組採用 I2c 的通訊界面,請將此顯示模組皆在 I2C 的標準接腳(曹永忠 et al., 2015c, 2015d, 2015g, 2015h)。</p>
<p style="text-align: center;"><img src="http://cdn3.techbang.com.tw/system/images/355391/original/f9ed225019c41398f73c2a26407c6e01.jpg?1468301979" alt="" /><br /><span>▲</span>圖4&nbsp;LCD 2004 I2C 顯示模組</p>
<p>在寫 LCD 2004 I2C 顯示模組程式之前,我們可以參考下圖所示之 LCD 2004 I2C 顯示模連接圖,先將電路連接完善後,方能進行下 列LCD 2004 I2C 顯示模組程式的攥寫與測試。</p>
<p style="text-align: center;"><img src="http://cdn3.techbang.com.tw/system/images/355392/original/cbf7f667dccb386486453c4e07820b8a.jpg?1468301979" alt="" /><br /><span>▲</span>圖5&nbsp;LCD 2004 I2C 顯示模組連接方式</p>
<p style="text-align: center;">下一頁還有教學哦 ~</p>
<p style="text-align: center;"><!-- pagebreak --></p>
<h2 class="23421">連接 RTC I2C 時鐘模組</h2>
<p>本實驗引入了 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)。</p>
<p style="text-align: center;"><img src="http://cdn1.techbang.com.tw/system/images/355393/original/9def989ebe5ddd221d7c831cda1d34a3.jpg?1468301980" alt="" /><br /><span>▲</span>圖6&nbsp;Tiny RTC I2C 時鐘模組</p>
<p>在寫時鐘程式之前,我們可以參考下圖所示之時鐘模組之電路連接圖,先將電路連接完善後,方能進行下列 Tiny RTC I2C 時鐘模程式的攥寫與測試。</p>
<p style="text-align: center;"><img src="http://cdn1.techbang.com.tw/system/images/355394/original/6559f30b285c5166a02e347d79eef39a.jpg?1468301980" alt="" /><br /><span>▲</span>圖7&nbsp;時鐘模組電路連接方式</p>
<h2 style="text-align: left;">連接繼電器模組</h2>
<p>本實驗引入了繼電器模組,如下圖所示,可以見到 Tiny RTC I2C 時鐘模組的外觀圖。</p>
<p style="text-align: center;"><img src="http://cdn2.techbang.com.tw/system/images/355395/original/9d70e326d3ad0a9881b891ce933c1a9b.jpg?1468301981" alt="" /><br /><span>▲</span>圖8&nbsp;繼電器模組</p>
<p style="text-align: left;">在寫繼電器模組之前,我們可以參考下圖所示之繼電器模組之電路連接圖,先將電路連接完善後,方能進行下列繼電器模組程式的攥寫與測試(曹永忠 et al., 2015c, 2015d, 2015e, 2015f, 2015g, 2015h; 曹永忠, 許智誠, &amp; 蔡英德, 2015i, 2015j)。</p>
<p style="text-align: center;"><img src="http://cdn3.techbang.com.tw/system/images/355396/original/12b5d0823fff21b931358a96d55efa8c.jpg?1468301981" alt="" /><br /><span>▲</span>圖9&nbsp;繼電器模組電路連接方式</p>
<h2 class="23421">連接投幣機</h2>
<p>本實驗引入了投幣機模組,如下圖所示,可以見到投幣機模組的外觀圖。</p>
<p style="text-align: center;"><img src="http://cdn2.techbang.com.tw/system/images/355397/original/7efcff3df56345c47b8f49268f639f4b.jpg?1468301982" alt="" /><br /><span>▲</span>圖10&nbsp;投幣機模組</p>
<p>在寫投幣機模組之前,我們可以參考下圖所示之投幣機模組之電路連接圖,先將電路連接完善後,方能進行下列投幣機模組程式的攥寫與測試。</p>
<p style="text-align: center;"><img src="http://cdn3.techbang.com.tw/system/images/355398/original/8ccdb00a5202d6b2b51405e37d70ce60.jpg?1468301983" alt="" /><br /><span>▲</span>圖11&nbsp;投幣機模組電路連接方式</p>
<h2 class="23421">連接投幣計數器</h2>
<p>本實驗引入了投幣計數器模組,如下圖所示,可以見到投幣計數器模組的外觀圖。</p>
<p style="text-align: center;"><img src="http://cdn3.techbang.com.tw/system/images/355399/original/91da4b39750583d259d39259927fd17a.jpg?1468301983" alt="" /><br /><span>▲</span>圖12&nbsp;投幣計數器模組</p>
<p>在寫投幣計數器之前,我們可以參考下圖所示之投幣計數器之電路連接圖,先將電路連接完善後,方能進行下列投幣計數器程式的攥寫與測試。</p>
<p style="text-align: center;"><img src="http://cdn3.techbang.com.tw/system/images/355400/original/81dc0429ce1e9e3e013c2f0ba56dbf32.jpg?1468301984" alt="" /><br /><span>▲</span>圖13&nbsp;投幣計數器電路連接方式</p>
<p>本文為『智慧家庭:網路計時器』系列第三篇:電路組立上篇,主要承接上篇『如何設計網路計時器:硬體組立篇』,介紹讀者如何自行組立網路計時器的所有電子電路的組裝。</p>
<p style="text-align: center;">下一頁是筆者的介紹唷 ~</p>
<p style="text-align: center;"><!-- pagebreak --></p>
<p style="text-align: center;">&nbsp;</p>
<p>後續筆者還會繼續發表『智慧家庭:網路計時器』系列的文章,讓我們在未來可以創造出更優質、智慧化的家庭。</p>
<p>敬請期待更多的文章。</p>
<blockquote>
<p><strong>筆者介紹</strong></p>
<p><strong>曹永忠 (Yung-Chung Tsao)</strong>:目前為自由作家,專注於軟體工程、軟體開發與設計、物件導向程式設計、Arduino 開發、嵌入式系統開發,商品攝影及人像攝影。長期投入資訊系統設計與開發、企業應用系統開發、軟體工程、新產品開發管理、商品及人像攝影等領域,並持續發表作品及相關專業著作。</p>
<p>Email:<a href="mailto:[email protected]">[email protected]</a><br />Line ID:dr.brucetsao<br />Arduino部落格:<a href="http://taiwanarduino.blogspot.tw/">http://taiwanarduino.blogspot.tw/<br /></a><span>臉書社群<span lang="EN-US">(Arduino.Taiwan)</span>:</span><a href="http://taiwanarduino.blogspot.tw/"><span lang="EN-US">&nbsp;</span></a><a href="https://www.facebook.com/groups/Arduino.Taiwan/">https://www.facebook.com/groups/Arduino.Taiwan/</a>&nbsp;<br /><span>活動官網:<a href="http://taiwanarduino.blogspot.tw/"><span lang="EN-US">&nbsp;</span></a><a href="http://arduino.kktix.cc/">http://arduino.kktix.cc/</a></span><a href="http://taiwanarduino.blogspot.tw/">&nbsp;<br /></a><span lang="EN-US">Youtube</span><span>:<a href="http://taiwanarduino.blogspot.tw/"><span lang="EN-US">&nbsp;</span></a><a href="https://www.youtube.com/channel/UCcYG2yY_u0m1aotcA4hrRgQ">https://www.youtube.com/channel/UCcYG2yY_u0m1aotcA4hrRgQ</a></span><a href="http://taiwanarduino.blogspot.tw/">&nbsp;</a></p>
<p><img src="http://cdn2.techbang.com.tw/system/images/355403/original/e025f8c47bf05b8d0288807f5ff3887e.png?1468303537" alt="" /></p>
<h3>參考文獻:</h3>
<p class="EndNoteBibliography">Jeelab. (2013). A fork of Jeelab's fantastic RTC library.&nbsp;&nbsp; Retrieved from <a href="https://github.com/adafruit/RTClib">https://github.com/adafruit/RTClib</a></p>
<p class="EndNoteBibliography">曹永忠. (2016a). AMEBA透過網路校時RTC時鐘模組. <em>智慧家庭.</em>&nbsp; Retrieved from <a href="http://makerpro.cc/2016/03/using-ameba-to-develop-a-timing-controlling-device-via-internet/">http://makerpro.cc/2016/03/using-ameba-to-develop-a-timing-controlling-device-via-internet/</a></p>
<p class="EndNoteBibliography">曹永忠. (2016b). 用RTC時鐘模組驅動Ameba時間功能. <em>智慧家庭.</em>&nbsp; Retrieved from <a href="http://makerpro.cc/2016/03/drive-ameba-time-function-by-rtc-module/">http://makerpro.cc/2016/03/drive-ameba-time-function-by-rtc-module/</a></p>
<p class="EndNoteBibliography">曹永忠. (2016c). 如何設計網路計時器:元件設計篇. <em>智慧家庭.</em>&nbsp; Retrieved from <a href="http://www.techbang.com/posts/43326-how-to-design-a-network-timer-component-design-review">http://www.techbang.com/posts/43326-how-to-design-a-network-timer-component-design-review</a></p>
<p class="EndNoteBibliography">曹永忠. (2016d). 【如何設計網路計時器?】硬體組立篇. <em>智慧家庭.</em>&nbsp; Retrieved from <a href="http://www.techbang.com/posts/44123-how-to-design-a-network-timer-hardware-group-legislative-review">http://www.techbang.com/posts/44123-how-to-design-a-network-timer-hardware-group-legislative-review</a></p>
<p class="EndNoteBibliography">曹永忠. (2016e). 智慧家庭:如何安裝各類感測器的函式庫. <em>智慧家庭.</em>&nbsp; Retrieved from <a href="http://vmaker.tw/project/view/651">http://vmaker.tw/project/view/651</a></p>
<p class="EndNoteBibliography">曹永忠. (2016f). 智慧家庭實作:ARDUINO 永遠的時間靈魂-RTC時鐘模組. <em>智慧家庭.</em>&nbsp; Retrieved from <a href="http://www.techbang.com/posts/40838">http://www.techbang.com/posts/40838</a></p>
<p class="EndNoteBibliography">曹永忠. (2016g). 實戰ARDUINO的RTC時鐘模組,教你怎麼進行網路校時.&nbsp;&nbsp; Retrieved from <a href="http://www.techbang.com/posts/40869-smart-home-arduino-internet-soul-internet-school">http://www.techbang.com/posts/40869-smart-home-arduino-internet-soul-internet-school</a></p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015a). <em>Arduino</em><em>投币定时器(</em><em>网络篇):Using Arduino to Develop a Timing Controlling Device via Internet</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015b). <em>Arduino</em><em>投幣計時器(</em><em>網路篇):Using Arduino to Develop a Timing Controlling Device via Internet</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015c). <em>Arduino</em><em>程式教學(</em><em>入門篇):Arduino Programming (Basic Skills &amp; Tricks)</em> (初版 ed.). 台湾、彰化: 渥玛数位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015d). <em>Arduino</em><em>程式教學(</em><em>常用模組篇):Arduino Programming (37 Sensor Modules)</em> (初版 ed.). 台湾、彰化: 渥玛数位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015e). <em>Arduino</em><em>程式教學(</em><em>無線通訊篇):Arduino Programming (Wireless Communication)</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015f). <em>Arduino</em><em>编程教学(</em><em>无线通讯篇):Arduino Programming (Wireless Communication)</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015g). <em>Arduino</em><em>编程教学(</em><em>常用模块篇):Arduino Programming (37 Sensor Modules) </em>(初版 ed.). 台湾、彰化: 渥玛数位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015h). <em>Arduino</em><em>編程教学(</em><em>入门篇):Arduino Programming (Basic Skills &amp; Tricks)</em> (初版 ed.). 台湾、彰化: 渥玛数位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015i). 家居生活的好保全:讓ARDUINO替您看顧您的房子.&nbsp;&nbsp; Retrieved from <a href="http://makerdiwo.com/archives/3653">http://makerdiwo.com/archives/3653</a></p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015j). 家居生活的好夥伴:讓ARDUINO照顧您的眼睛.&nbsp;&nbsp; Retrieved from <a href="http://makerdiwo.com/archives/2920">http://makerdiwo.com/archives/2920</a></p>
</blockquote>
<p class="EndNoteBibliography">&nbsp;</p>
<blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</blockquote>
<p style="text-align: left;">&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
</div>
</div>
<p>&nbsp;</p><a href="http://www.facebook.com/TKbang">加入T客邦Facebook粉絲團</a><img src="http://feeds.feedburner.com/~r/techbang/~4/_uaBxRTCU9g" height="1" width="1" alt=""/>