本專欄主要以網路投幣計時器的主題,期望透過投幣的機制,來取得電力插座使用時間,進而控制家庭電器的使用時間,並可以透過網際網路來查詢使用情形。<p>本篇是接續上篇文章『如何設計網路計時器:電路組立上篇』(<a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_7">曹永忠, 2016d</a>),主要是介紹讀者,接續將投幣計時器、網路投幣計時器,相關元件,進行硬體組立(<a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_6">曹永忠, 2016c</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_7">2016d</a>; <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_10">曹永忠, 許智誠, &amp; 蔡英德, 2015a</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_11">2015b</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_14">2015e</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_15">2015f</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_16">2015g</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_17">2015h</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_18">2015i</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_19">2015j</a>)。</p>
<h3 class="23421">關於組裝元件</h3>
<p>關於所需的元件,請參閱上篇文章『如何設計網路計時器:硬體組立篇』(<a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_7">曹永忠, 2016d</a>; <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_10">曹永忠, 許智誠, et al., 2015a</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_11">2015b</a>),網址如下:<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>
<h3 class="23421">電力供應</h3>
<p>投幣計時器本來就是提供使用者投幣之後,根據投幣時間,提供一段時間的電力使用,所以本實驗必須要要有個電力輸入裝置(如下圖所示之電源線),接到電力輸出裝置(如下圖所示之電力插座),中間控制電力供給與否,則使用繼電器來控制電力閉合,如下圖所示,可以見到電力輸入、輸出、控制等元件(<a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_1">曹永忠, 2015a</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_2">2015b</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_3">2015c</a>; <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_10">曹永忠, 許智誠, et al., 2015a</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_11">2015b</a>; <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_12">曹永忠, 許智誠, &amp; 蔡英德, 2015c</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_13">2015d</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_20">2015k</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_21">2015l</a>; <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_22">曹永忠, 蔡佳軒, 許智誠, &amp; 蔡英德, 2015a</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_23">2015b</a>)。</p>
<p style="text-align: center;"><img src="http://cdn3.techbang.com.tw/system/images/358147/original/cbe517b3fd774bfc552c93b101f30f04.jpg?1470216774" alt="" /><br />▲圖1. 電力輸入供應元件一覽圖</p>
<p style="text-align: left;">為了能夠完整的控制電力輸入、輸出、控制,請讀者依下圖所示,進行電路組立。</p>
<p style="text-align: center;"><img src="http://cdn1.techbang.com.tw/system/images/358148/original/4a655ea19bf78ba993db71d709221f4a.jpg?1470216775" alt="" /><br />▲圖2.&nbsp;電力輸入供應元件一覽圖</p>
<h3 class="23421">投幣計時器整體組立</h3>
<p>在硬體組立一文中,我們已介紹如何組立投幣計時器,由下圖所示,我們可以看到投幣計時器正面圖,可以看到右上方有一個投幣機模組,左上方則是顯示資訊的 LCD 2004顯示器模組(<a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_14">曹永忠, 許智誠, et al., 2015e</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_15">2015f</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_16">2015g</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_17">2015h</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_18">2015i</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_19">2015j</a>),中間則是本來就是提供使用者投幣之後,根據顯示投幣次數的計數器,該計數器是不可逆的計數器,也無法歸零或調整,只能受到訊號後,自動加一的運作方式,讓人信賴的計數器。</p>
<p style="text-align: center;"><img src="http://cdn3.techbang.com.tw/system/images/358149/original/1d7f04f944836d3ce6111e3838bc650e.jpg?1470216775" alt="" /><br />▲圖3.&nbsp;投幣計時器正面圖</p>
<p style="text-align: left;">由下圖所示,我們可以看到投幣計時器內面圖,可以看到左上方有一個投幣機模組,右上方則是顯示資訊的 LCD 2004顯示器模組,中間則是顯示投幣次數的計數器,下方後面則是提供電力的插座,下方前面則是 Arduino 開發版與電源供應器等。</p>
<p style="text-align: center;"><img src="http://cdn0.techbang.com.tw/system/images/358150/original/27b9419ff4b805a75219b7671f1b9055.jpg?1470216776" alt="" /><br />▲圖4.&nbsp;投幣計時器內面圖</p>
<p style="text-align: left;">由下圖所示,我們可以看到投幣計時器底板,可以看到上方是提供電力的插座與接收電力的插頭、保險絲、電路端子座等。中間部分則是 Arduino 開發版、電源供應器、 RTC 時鐘模組與計電器模組等。</p>
<p style="text-align: center;"><img src="http://cdn1.techbang.com.tw/system/images/358151/original/fdbe0b46d6aa471a43788dd82d710b24.jpg?1470216776" alt="" /><br />▲圖5.&nbsp;投幣計時器底面圖</p>
<p style="text-align: center;">下一頁有更精彩的教學唷 ~</p>
<p style="text-align: center;"><!-- pagebreak --></p>
<h3 class="23421">取得投幣機模組投幣資料</h3>
<p>我們為了測試投幣計數器是否可以使用,我們依照上面所述,將硬體與電子電路組立好,攥寫下表程式,編譯之後,上傳到 Arduino 開發版測試。</p>
<p style="text-align: center;">表1.&nbsp;投幣計數器測試程式一</p>
<blockquote>
<p style="text-align: left;"><strong>投幣計數器測試程式一(Coin_test01)</strong></p>
<p style="text-align: left;">//Compatible with the Arduino IDE 1.0<br />//Library version:1.1<br />#include &lt;Wire.h&gt;<br />#include &lt;LiquidCrystal_I2C.h&gt;</p>
<p style="text-align: left;"><br />LiquidCrystal_I2C lcd(0x27, 20, 4); // set the LCD address to 0x27 for a 16 chars and 2 line display<br />int coinnum = 0 ;<br />void setup()<br />{&nbsp;</p>
<p style="text-align: left;">&nbsp; &nbsp;lcd.init(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// initialize the lcd</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;// Print a message to the LCD.&nbsp; <br />lcd.backlight();&nbsp; <br />lcd.print("Coin Test");&nbsp; <br />//pinMode(3,INPUT);&nbsp;<br />attachInterrupt(1, addcoin, RISING); <br />//attachInterrupt(1, addcoin, CHANGE);&nbsp;<br />// attachInterrupt(RFIDIntrupNumber, ReadRfidID, CHANGE);<br />}</p>
<p style="text-align: left;">void loop()<br />{&nbsp;</p>
<p style="text-align: left;">// 將游標設到 第一行, 第二列&nbsp; <br />// (注意: 第二列第五行,因為是從 0 開始數起):&nbsp; <br />lcd.setCursor(5, 1);&nbsp;<br /> // 列印 Arduino 重開之後經過的秒數&nbsp; <br />lcd.print(millis() / 1000);&nbsp;<br /> lcd.setCursor(6, 2); <br />// 列印 Arduino 重開之後經過的秒數&nbsp; lcd.print(millis() / 1000);&nbsp; lcd.setCursor(7, 3);&nbsp; <br />// 列印 Arduino 重開之後經過的秒數<br />// &nbsp;lcd.print(digitalRead(3));&nbsp; &nbsp;<br />lcd.print(coinnum);&nbsp; <br />Serial.println(coinnum);&nbsp;<br /> delay(200);<br />}</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">void addcoin()<br />{&nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; coinnum ++ ;<br />}</p>
</blockquote>
<p>讀者也可以在作者 YouTube 頻道(<a href="https://www.youtube.com/user/UltimaBruce">https://www.youtube.com/user/UltimaBruce</a> )中,在網址<a href="https://www.youtube.com/watch?v=UrU6etj-VaE&amp;feature=youtu.be" target="_blank">https://www.youtube.com/watch?v=UrU6etj-VaE&amp;feature=youtu.be</a>,看到本次實驗-我們投幣時,可 LCD 顯示模組會加一的結果畫面。</p>
<p>當然、如下圖所示,我們可以看到投幣計數器測試程式一結果畫面。</p>
<p style="text-align: center;"><img src="http://cdn2.techbang.com.tw/system/images/358152/original/ea5cf2d8676efd40ecd1c65b5a540f8d.jpg?1470216777" alt="" /><br />▲圖6.&nbsp;投幣計數器測試程式一結果畫面</p>
<h3 class="23421">取得 RTC 時鐘模組資料</h3>
<p>Arduino 投幣計時器最重要的事:我們根據投幣數目,換取可使用電力的時間,但是,Arduino 開發版並沒有時鐘功能,所以我們導入『RTC 時鐘模組』的元件(<a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_4">曹永忠, 2016a</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_5">2016b</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_6">2016c</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_7">2016d</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_8">2016e</a>, <a href="file:///D:/%E5%B7%A5%E4%BD%9C/PCHome/247/8%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87/%E5%85%AB%E6%9C%88%E7%AC%AC%E4%B8%80%E7%AF%87V3.doc#_ENREF_9">2016f</a>),由於上述內容已經敘述 RTC 時鐘模組的電子電路組立,所以本文測試RTC時鐘模組的讀取資料。</p>
<p>我們依照上面所述,將硬體與電子電路組立好,攥寫下表程式,編譯之後,上傳到 Arduino 開發版測試。</p>
<p style="text-align: center;">表2.&nbsp;投幣計數器測試程式二</p>
<blockquote>
<p class="a"><strong>投幣計數器測試程式二(Coin_test02)</strong></p>
<p class="a">#include &lt;DS1307RTC.h&gt;</p>
<p class="a">#include &lt;Time.h&gt;</p>
<p class="a">#include &lt;Wire.h&gt;</p>
<p class="a">#include &lt;LiquidCrystal_I2C.h&gt;</p>
<p class="a">#define CoinMinute 2 ;</p>
<p class="a">LiquidCrystal_I2C lcd(0x27, 20, 4); // set the LCD address to 0x27 for a 16 chars and 2 line display</p>
<p class="a">int coinnum = 0 ;</p>
<p class="a">&nbsp; tmElements_t tm;</p>
<p class="a">&nbsp; int TotalCoin = 0 ;</p>
<p class="a">&nbsp; int CoinTime = 0 ;</p>
<p class="a">void setup()</p>
<p class="a">{</p>
<p class="a">&nbsp; lcd.init();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // initialize the lcd</p>
<p class="a">&nbsp; // Print a message to the LCD.</p>
<p class="a">&nbsp; lcd.backlight();</p>
<p class="a">&nbsp; //pinMode(3,INPUT);</p>
<p class="a">&nbsp;attachInterrupt(1, addcoin, RISING);</p>
<p class="a">&nbsp; //attachInterrupt(1, addcoin, CHANGE);</p>
<p class="a">&nbsp;// attachInterrupt(RFIDIntrupNumber, ReadRfidID, CHANGE);</p>
<p class="a">}</p>
<p class="a">void loop()</p>
<p class="a">{</p>
<p class="a">&nbsp; // 將游標設到 第一行, 第二列</p>
<p class="a">&nbsp; // (注意: 第二列第五行,因為是從 0 開始數起):</p>
<p class="a">&nbsp; lcd.setCursor(5, 1);</p>
<p class="a">&nbsp; // 列印 Arduino 重開之後經過的秒數</p>
<p class="a">&nbsp; lcd.print(millis() / 1000);</p>
<p class="a">&nbsp; getDateTime() ;</p>
<p class="a">&nbsp; LCDDateTime() ;</p>
<p class="a">&nbsp;LCDCoin(TotalCoin,CoinTime) ;</p>
<p class="a">&nbsp; delay(200);</p>
<p class="a">}</p>
<p class="a">void addcoin()</p>
<p class="a">{</p>
<p class="a">&nbsp;&nbsp;&nbsp; TotalCoin ++ ;</p>
<p class="a">}</p>
<p class="a">String&nbsp; print2digits(int number) {</p>
<p class="a">&nbsp; String ttt ;</p>
<p class="a">&nbsp; if (number &gt;= 0 &amp;&amp; number &lt; 10)</p>
<p class="a">&nbsp; {</p>
<p class="a">&nbsp;&nbsp;&nbsp;&nbsp; ttt =String("0")+String(number);</p>
<p class="a">&nbsp; }</p>
<p class="a">&nbsp; else</p>
<p class="a">&nbsp; {</p>
<p class="a">&nbsp;&nbsp;&nbsp;&nbsp; ttt =String(number);</p>
<p class="a">&nbsp; }</p>
<p class="a">&nbsp;&nbsp; return ttt ;</p>
<p class="a">}</p>
<p class="a">String&nbsp; print4digits(int number) {</p>
<p class="a">&nbsp; String ttt ;</p>
<p class="a">&nbsp;&nbsp;&nbsp;&nbsp; ttt =String(number);</p>
<p class="a">&nbsp;&nbsp; return ttt ;</p>
<p class="a">}</p>
<p class="a">String&nbsp; StrDate() {</p>
<p class="a">&nbsp; String ttt ;</p>
<p class="a">&nbsp;&nbsp;&nbsp; ttt = print4digits(tmYearToCalendar(tm.Year))+"/"+print2digits(tm.Month)+"/"+print2digits(tm.Day) ;</p>
<p class="a">&nbsp;&nbsp; return ttt ;</p>
<p class="a">}</p>
<p class="a">String&nbsp; StrTime() {</p>
<p class="a">&nbsp; String ttt ;</p>
<p class="a">&nbsp;&nbsp;&nbsp; ttt = print2digits(tm.Hour)+":"+print2digits(tm.Minute)+":"+print2digits(tm.Second) ;</p>
<p class="a">&nbsp;&nbsp; return ttt ;</p>
<p class="a">}</p>
<p class="a">boolean&nbsp; getDateTime()</p>
<p class="a">{&nbsp;&nbsp; if (RTC.read(tm))</p>
<p class="a">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true ;</p>
<p class="a">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</p>
<p class="a">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false ;</p>
<p class="a">}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p class="a">&nbsp; void LCDDateTime()</p>
<p class="a">&nbsp; {</p>
<p class="a">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lcd.setCursor(0, 0);</p>
<p class="a">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lcd.print(StrDate());</p>
<p class="a">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lcd.setCursor(11, 0);</p>
<p class="a">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lcd.print(StrTime());</p>
<p class="a">&nbsp; }</p>
<p class="a">void LCDCoin(int c1,int c2)</p>
<p class="a">{</p>
<p class="a">&nbsp;&nbsp; lcd.setCursor(1, 3);</p>
<p class="a">&nbsp;&nbsp; lcd.print("Credit:(");</p>
<p class="a">&nbsp;&nbsp; lcd.print(c1);</p>
<p class="a">&nbsp;&nbsp; lcd.print("/");</p>
<p class="a">&nbsp;&nbsp; lcd.print(c2);</p>
<p class="a">&nbsp;&nbsp; lcd.print(")");</p>
<p class="a">&nbsp; Serial.println(coinnum);</p>
}</blockquote>
<p>讀者也可以在作者 YouTube 頻道(<a href="https://www.youtube.com/user/UltimaBruce">https://www.youtube.com/user/UltimaBruce</a> )中,在網址<a href="https://www.youtube.com/watch?v=n0btCMcc51g&amp;feature=youtu.be" target="_blank">https://www.youtube.com/watch?v=n0btCMcc51g&amp;feature=youtu.be</a>,看到本次實驗-我們已經可以取到 RTC 時鐘模組的日期資料與時間資料,並顯示在 LCD 顯示模組上,我們投幣時,可 LCD 顯示模組會加一的結果畫面。</p>
<p>當然、如下圖所示,我們可以看到投幣計數器測試程式二結果畫面。</p>
<p style="text-align: center;"><img src="http://cdn0.techbang.com.tw/system/images/358153/original/b3ffe8083783a2c7e8796c0cc630d731.jpg?1470216777" alt="" /><br />▲圖7.&nbsp;投幣計數器測試程式二結果畫面</p>
<p>本文為『智慧家庭:網路計時器』系列第四篇:電路組立下篇,主要承接上篇『如何設計網路計時器:電路組立上篇』,介紹讀者如何自行組立網路計時器的所有電子電路的組裝。</p>
<p>後續筆者還會繼續發表『智慧家庭:網路計時器』系列的文章,讓我們在未來可以創造出更優質、智慧化的家庭。</p>
<p>敬請期待更多的文章。</p>
<p style="text-align: center;">最後一頁有筆者介紹唷 ~</p>
<p style="text-align: center;"><!-- pagebreak --></p>
<blockquote>
<p><strong>筆者介紹</strong></p>
<p><strong>曹永忠 (Yung-Chung Tsao)</strong>:目前為自由作家,專注於軟體工程、軟體開發與設計、物件導向程式設計、Arduino 開發、嵌入式系統開發,商品攝影及人像攝影。長期投入資訊系統設計與開發、企業應用系統開發、軟體工程、新產品開發管理、商品及人像攝影等領域,並持續發表作品及相關專業著作。</p>
<p>Email:<a href="mailto:[email protected]">[email protected]<br /></a>Line ID:dr.brucetsao <br />Arduino部落格:<a href="http://taiwanarduino.blogspot.tw/">http://taiwanarduino.blogspot.tw/<br /></a>臉書社群(Arduino.Taiwan):<a href="https://www.facebook.com/groups/Arduino.Taiwan/">https://www.facebook.com/groups/Arduino.Taiwan/<br /></a>活動官網:<a href="http://arduino.kktix.cc/">http://arduino.kktix.cc/<br /></a>Youtube:<a href="https://www.youtube.com/channel/UCcYG2yY_u0m1aotcA4hrRgQ">https://www.youtube.com/channel/UCcYG2yY_u0m1aotcA4hrRgQ</a></p>
<p><strong><img src="http://cdn2.techbang.com.tw/system/images/358154/original/e73f4a8656785e8e525bae455109bb9c.png?1470216778" alt="" /></strong></p>
<p><strong>參考文獻:</strong></p>
<p class="EndNoteBibliography">曹永忠. (2015a). 用 LinkIt ONE 開發版打造綠能智慧插座-手機程式開發工具介紹.&nbsp;&nbsp; Retrieved from <a href="http://www.techbang.com/posts/40341-the-first-step-towards-the-internet-of-things-green-energy-smart-plug-cloud">http://www.techbang.com/posts/40341-the-first-step-towards-the-internet-of-things-green-energy-smart-plug-cloud</a></p>
<p class="EndNoteBibliography">曹永忠. (2015b). 用 LinkIt ONE 開發版打造綠能智慧插座-利用物聯網雲端平台資源開發.&nbsp;&nbsp; Retrieved from <a href="http://www.techbang.com/posts/40400-using-linkit-one-developer-to-create-green-energy-smart-plug-cloud-resources">http://www.techbang.com/posts/40400-using-linkit-one-developer-to-create-green-energy-smart-plug-cloud-resources</a></p>
<p class="EndNoteBibliography">曹永忠. (2015c). 用 LinkIt ONE 開發版打造綠能智慧插座-超詳細硬體安裝篇.&nbsp;&nbsp; Retrieved from <a href="http://www.techbang.com/posts/40332-the-first-step-towards-the-internet-of-things-green-energy-smart-sockets">http://www.techbang.com/posts/40332-the-first-step-towards-the-internet-of-things-green-energy-smart-sockets</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). 智慧家庭實作: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">曹永忠. (2016f). 實戰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投币定时器(网络篇):Using Arduino to Develop a Timing Controlling Device via Internet</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015b). <em>Arduino投幣計時器(網路篇):Using Arduino to Develop a Timing Controlling Device via Internet</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015c). <em>Arduino智慧电力监控(监控篇):Using Arduino to Develop a Monitoring Device of Power-Socket</em> (初版 ed.). 台湾、彰化: 渥玛数位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015d). <em>Arduino智慧電力監控(監控篇):Using Arduino to Develop a Monitoring Device of Power-Socket</em> (初版 ed.). 台灣、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015e). <em>Arduino程式教學(入門篇):Arduino Programming (Basic Skills &amp; Tricks)</em> (初版 ed.). 台湾、彰化: 渥玛数位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015f). <em>Arduino程式教學(常用模組篇):Arduino Programming (37 Sensor Modules)</em> (初版 ed.). 台湾、彰化: 渥玛数位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015g). <em>Arduino程式教學(無線通訊篇):Arduino Programming (Wireless Communication)</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015h). <em>Arduino编程教学(无线通讯篇):Arduino Programming (Wireless Communication)</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015i). <em>Arduino编程教学(常用模块篇):Arduino Programming (37 Sensor Modules) </em>(初版 ed.). 台湾、彰化: 渥玛数位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015j). <em>Arduino編程教学(入门篇):Arduino Programming (Basic Skills &amp; Tricks)</em> (初版 ed.). 台湾、彰化: 渥玛数位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015k). <em>LinkIt智能电力监控(网络篇):Using LinkIt ONE to Develop an IOT-based Power-Socket</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 許智誠, &amp; 蔡英德. (2015l). <em>LinkIt智慧電力監控(網路篇)):Using LinkIt ONE to Develop an IOT-based Power-Socket </em>(初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
<p class="EndNoteBibliography">曹永忠, 蔡佳軒, 許智誠, &amp; 蔡英德. (2015a). <em>Arduino智慧电力监控(手机篇):Using Arduino to Develop an Advanced Monitoring Device of the Power-Socket</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.</p>
曹永忠, 蔡佳軒, 許智誠, &amp; 蔡英德. (2015b). <em>Arduino</em><em>智慧電力監控(手機篇):Using Arduino to Develop an Advanced Monitoring Device of the Power-Socket</em> (初版 ed.). 台湾、彰化: 渥瑪數位有限公司.
<p><strong><br /></strong></p>
</blockquote><a href="http://www.facebook.com/TKbang">加入T客邦Facebook粉絲團</a><img src="http://feeds.feedburner.com/~r/techbang/~4/tbY7K9ZfxDo" height="1" width="1" alt=""/>