上期談及了智能自動換水水族箱的設計和原理,以及其科學相關概念。接下來就是讓大家理解相關的電子組件和感應器的相關知識。
今期會以 Arduino 通過超聲波測距器控制水泵。換水系統最主要透過 Arduino 微控制器開關水底水泵,以及用超聲波測距器監控水位,現在讓我們認識當中的各部分元件及接線圖:
繼電器
一般家用電器(如換水系統中的水底水泵),香港電壓是 220V 運作,而 Arduino 輸出的電壓是 5V,我們怎樣以 Arduino 控制它們呢?使用繼電器就可以了。
繼電器模組能利用小電壓控制大電壓,運作原理為利用電磁鐵的磁力,吸引開關的切換。繼電器的一端需連接至 Arduino 的數位輸出(Digital Out),而另一端則連接至電器並與市電電源接通。
NO 是常開(Normal Open)的意思,代表於繼電器未通電的情況下電路是斷開的。當 Arduino 的相應數位輸出被指定為高輸出(1 or HIGH)時,繼電器的開關便會使電路閉合,電器便會開始運作。相反當 Arduino 的相應數位輸出被指定為低輸出(0 or LOW)時,電器便會停止運作。
[row][double_paragraph]
[/double_paragraph][double_paragraph]
[/double_paragraph] [/row]
超聲波測距器
超聲波測距器是由超聲波發射器、超聲波接收器和控制電路所組成。
聲音在空氣中的傳播速度大約是每秒 340 米。要得知聲音傳播 1 厘米所需的時間,可用下例數式計算:
1 / 340米 = 1 / 34000 厘米 = 0.00002941118…秒
經換算後約等於 29.4 微秒,即聲音傳播 1 厘米需時 29.4 微秒。
由於超聲波從發射到返回是兩段距離,因此在計算時必須將結果除以 2 才是正確的物體距離。我們可以利用下例公式以 Arduino 編程計算出以厘米為單位的物體距離:
測量得到音波來回傳播所需時間 / 2 / 29.4
[row][double_paragraph]
[/double_paragraph][double_paragraph]
[/double_paragraph] [/row]
物聯網程式設計
即使不在家中也能隨意控制家中的一事一物,這就是物聯網的強大優勢,讓我們的換水系統也接上網絡,解決學校長假期水族箱維護的難題。
因為整個系統以 Arduino 編程,所以必須把 Arduino 微控制器接上網絡。我們所使用的是能兼容 Arduino 編程的 WEMOS D1 微控制器,這個微控制器已經安裝了一個能夠連接無線網絡的模組,只要下載 Arduino IDE 編程軟件就能夠為系統編寫程式並連接至網絡。
WEMOS D1 微控制器:https://www.wemos.cc/product/d1.html
Arduino IDE 編程軟件:https://www.arduino.cc/en/main/software
整個系統的操控,會利用 Blynk 這個智能手機應用程式處理。它提供多種元件(Widget)用來自行設計 App 界面,透過 Blynk Cloud 端與各式硬體設備例如 Arduino、Raspberry Pi 等連結。其功能可讓智能手機控制遠端設備,同時也可以擷取遠端設備狀態顯示於手機上。
於手機或平板下載了 Blynk 後,申請一個免費帳戶,或以 facebook 登入。除此之外,還需下載 Blynk 函式庫,利用當中的韌體程式及例子,就能以 Arduino IDE 編程透過 Blynk 控制我們的換水系統。下期會進入程式設計的部份。
Blynk:http://www.blynk.cc
Blynk函式庫:https://goo.gl/7C0h2F