13-08繼電器的應用
(2016/11/08)
前幾天做了利用Transformer控制繼電器的應用(如天氣熱請開電扇、土壤乾燥請澆灌),發現利用Transformer要一直開著電腦,使用上並不是那麼方便,但如果利用MotoBlockly寫程式來控制繼電器,再將程式燒錄進入Arduino內,只要外部提供電源給Arduino就沒這個問題了,所以趕快來測試看看吧!
題目一:利用繼電器來開燈(扇)
說明:利用Arduino IDE下的「序列埠監控視窗」來輸入1,啟動電扇;輸入其他來關閉電扇!
「繼電器插座DIY」請參閱筆者另一篇文章「13繼電器之應用」
裝置圖:
進入Moto Blockly (檔案於附件)
將上面程式轉成Arduino程式語言,並將程式複製到Arduino IDE裡面來上傳(燒錄)到板子上!
char c;void setup(){ Serial.begin(9600); pinMode(9, OUTPUT); c = '0'; Serial.println("Please input \'1\' or others ! 1: turn on the fan ; others:turn off the fan.");}void loop(){ if (Serial.available() > 0) { c = Serial.read(); } if (c == '1') { digitalWrite(9,HIGH); } else { digitalWrite(9,LOW); }}
打開「序列埠監控視窗」,,輸入1或其他,來開啟或關閉電扇!測試成功!
題目二:天氣熱請開電扇
說明:當LM35溫度感測器量測的溫度大於28度時會啟動電扇;否則則關閉電扇!(溫度會顯示在LCD模組上)
裝置圖:
LM35溫度感測器(Motoduino的參考資料)接在A3腳位
溫度(攝式)= A3值 * 0.49
進入Moto Blockly (檔案於附件)
將上面程式轉成Arduino程式語言,並將程式複製到Arduino IDE裡面來上傳(燒錄)到板子上!
#include <Wire.h>#include <motoLiquidCrystal_I2C.h>LiquidCrystal_I2C mylcd(0x3F,16,2);int tem;void setup(){ mylcd.init(); mylcd.backlight(); pinMode(9, OUTPUT); tem = 0;}void loop(){ mylcd.clear(); tem = analogRead(A3) * 0.49; delay(100); mylcd.setCursor(0,0); mylcd.print(String("Tempture:") + String(tem) + String("(C)")); if (tem >= 28) { digitalWrite(9,HIGH); mylcd.setCursor(0,1); mylcd.print("Turn on the fan."); } else { digitalWrite(9,LOW); mylcd.setCursor(0,1); mylcd.print("Turn off the fan."); } delay(1000);}
當溫度大於28度時,則開啟電扇!測試成功!