Arduino第13課(繼電器)
繼電器(relay):讓我們可以用較小的電流去控制較大電流設備的一種「自動開關」。因為arduino的輸出功率太小,搭配繼電器才可以讓我們用程式來控制家電產品或其他大電流的電子產品,達成自動控制電路的功能。
左邊是5V控制的繼電器,中間是3V控制的繼電器,右邊是廠商將線路接好的繼電器模組。
如果直接買左邊或中間的繼電器,還要自己再加上整流二極體、電晶體、電阻等電子零件接好線路,才能讓Arduino來控制,否則無法啟動。
繼電器一般可分成兩邊,一邊接Arduino輸入訊號,另一邊接被控制的電器。
上圖右邊有三個針腳分別接GND、5V、訊號,由訊號來控制右邊的接點連接情形。
上圖左邊為輸出端,右邊沒訊號來時NO和COM不通(斷路),右邊有訊號來時NO和COM接通(通路)
因此只要控制右邊的訊號,就可以控制左邊線路是否導通。要導通就給高電位(1),不導通就給低電位(0)
圖片來源:https://cdn4.explainthatstuff.com/how-a-relay-works.gif
一、基本運用
搭配光敏電阻(第十課),當光線被遮住時,打開繼電器讓LED亮。
模擬天黑開電燈(用LED取代電燈)
使用光敏電阻偵測訊號的接線圖請參考(第十課),訊號接類比腳A0來判斷。
LED負極接220歐姆電阻再接GND,正極接繼電器輸出端的NO(常開介面)接點,繼電器輸出端的COM(共用介面)接點接5V。
繼電器DC+接5V,DC-接GND,IN接數位腳D7(可以高或低電位控制繼電器吸合)
因為程式修正,以後用到[讀取類比腳位A0]積木時,請在[當綠旗被點一下]積木下方增加[腳位A0模式設為INPUT]積木。
由數位腳7來控制繼電器的開和關。
先將[腳位7模式設為OUTPUT]。
如果偵測到類比腳位A0讀到的值減少到判斷標準,就讓數位腳位D7輸出高電位,啟動繼電器,控制繼電器吸合,讓LED線路成為通路,LED亮起來。
程式下載:繼電器.sb2
二、用繼電器控制 12V 風扇
搭配光敏電阻(第十課),當光線被遮住時,打開繼電器讓LED亮,並啟動風扇轉動。
PS:學校報廢的舊電腦裡面有風扇,可以拆下來使用。直接用CPU上的小風扇,可以不用外接電源。
使用光敏電阻偵測訊號的接線圖請參考(第十課),訊號接類比腳A0來判斷。
LED負極接220歐姆電阻再接GND,正極接數位腳D7。
因為電扇需要較大的供電量,因此Arduino控制板外接一個電源。
12V 風扇正極接Arduino的Vin(直接由外接電池供電),負級接繼電器輸出端的NO(常開介面)接點,繼電器輸出端的COM(共用介面)接點接GND。
繼電器DC+接5V,DC-接GND,IN接數位腳D8(可以高或低電位控制繼電器吸合)
由數位腳7來控制LED的亮和滅,數位腳8來控制繼電器的開和關。
先將[腳位7模式設為OUTPUT]、[腳位8模式設為OUTPUT]。
如果偵測到類比腳位A0讀到的值減少到判斷標準,就讓數位腳位D7輸出高電位,讓LED亮起來。
同時讓數位腳位D8輸出高電位,啟動繼電器,控制繼電器吸合,讓12V風扇線路成為通路,風扇開始轉動。
程式下載:繼電器(風扇).sb2
三、家電控制插座
使用繼電器控制家電產品需要破壞原來電器用品的電線,改裝有點麻煩。如果將裝置改成插座,原來的電器用品直接插上就可以控制,讓自動控制變簡單。(註1)
家電用品使用須注意用電安全,此裝置僅限小電流家電使用,請小心使用。(註2)
注意:
接線請特別留意避免造成意外。
http://www.cna.com.tw/news/asoc/201801110174-1.aspx
配錯線路電死人 ,新聞
材料:3孔插座一個、2插插頭一個、2插插座一個、繼電器模組一個、電腦電源線一條
PS:學校換新電腦,淘汰的舊電腦電源線可以廢物利用。
1、製作:
1.1將電源線靠近[母]插座的一端剪下丟棄。
再剪下約20公分,兩端小心剝去一小段外皮,留下黑、白線(綠線剪掉不用),一端接2孔插座。
另一端接繼電器模組輸出端的NO(常開介面)接點及COM(共用介面)接點。(上圖)
PS:當Arduino端輸入訊號後,插座端的NO和COM接通,形成通路,電器就會開啟。反之,就是斷路。
1.2電腦電源線裡面有3條電線,三插插頭中間圓柱是接地線(綠色),短扁插頭是火線(黑色),長扁插頭是中性線(白色)。
插座也是同樣的接法。
更正:下面應該是要控制火線不是中性線(黑色和白色相反)
將有插頭的這段電線從中間小心(不要傷到裡面電線的絕緣塑膠)剝去一小段(約7公分)外皮,露出3條電線。
白色電線不要剪,黑色電線剪斷分別接在火線(上圖粉紅色)及中性線的接點(上圖紅色)。(接中性線接點的黑線其實是白色繞過去後回接)
另一條綠色線剪斷,靠近插頭的這端接插座的接地端接點(上圖黃色),另一端可以抽掉(或留著不管它)
如上圖接好三孔插座。
插頭的另一端也是小心(不要傷到裡面電線的絕緣塑膠)剝去外皮,露出3條電線。
將綠色線剪斷,黑、白線接上2插插頭。
注意:
實際使用前,線路接好後,因為110V電流會經過繼電器,所以繼電器要包起來(絕緣),以免觸電。
2、使用
將繼電器端接上Arduino控制板,另一端2孔插座接控制插座那條線的2插插頭。
控制插座那條線的3插插頭,接上家用電源插座上。
將想要控制的電器用品的插頭插到控制插座上。
這樣就可以寫程式控制了。
如果遇到只有2孔的插座,那就反過來接,還是可以使用。
四、鍵盤控制電燈開、關
Arduino端接線圖
如上面的插座接線,訊號端接Arduino的數位腳D7
由數位腳7來控制繼電器的開和關。
先將[腳位7模式設為OUTPUT]。
當按下(向上鍵)腳位7數位輸出為1(繼電器導通),電燈亮起來。
當按下(向下鍵)腳位7數位輸出為0(繼電器斷開),電燈熄滅。
程式下載:鍵盤開、關.sb2
五、模擬天黑開電燈
搭配光敏電阻(第十課),當光線被遮住時,打開繼電器讓電燈亮。
Arduino端接線圖
插座接線同上面,訊號端接Arduino的數位腳D7
使用光敏電阻偵測訊號的接線圖請參考(第十課),訊號接類比腳A0來判斷。
繼電器DC+接5V,DC-接GND,IN接數位腳D7(可以高或低電位控制繼電器吸合)
先將[腳位7模式設為OUTPUT]。
如果偵測到類比腳位A0讀到的值減少到判斷標準(天黑了),就讓數位腳位D7輸出高電位,啟動繼電器,控制繼電器吸合,讓電燈亮起來。
程式下載:繼電器.sb2
六、自動控制定時器
使用arduino程式控制家電產品開、關的時間。
繼電器DC+接5V,DC-接GND,IN接數位腳D7(可以高或低電位控制繼電器吸合)
繼電器另一端接控制插座。
使用清單來輸入想要控制的開、關時間。
如果到了開啟時間,就啟動繼電器,讓電器通電。
如果到了關閉時間,就關閉繼電器,讓電器斷電。
先製作一個[題號]變數,和[題目]、[開啟]、[關閉]等3個清單
按題目清單左下角的[+],依序輸入[時],[分],[秒]
按開啟清單左下角的[+]3次,產生3個空白位置。
按關閉清單左下角的[+]3次,產生3個空白位置。
由數位腳7來控制繼電器的開和關。
先將[腳位7模式設為OUTPUT]。
重複3次輸入要開啟的時間並記錄在開啟清單上,再重複3次輸入要關閉的時間並記錄在關閉清單上。
item(題號)of題目:提問題目的第幾項,依次提問時、分、秒
replace item (題號) of (開啟) with (答案) :將答案填入[開啟]清單中的第幾項中,依次填入回答的時、分、秒
重複執行,核對資料,如果目前的時、分、秒和[開啟]清單一樣,就[腳位7數位輸出1],啟動繼電器,讓電器打開。
如果目前的時、分、秒和[關閉]清單一樣,就[腳位7數位輸出0],關閉繼電器,讓電器關閉。
程式下載: 定時器(開、關).sb2
延伸:
1.可以改變程式設定多組開、關的時間。
2.設計可以跨日的計時器。
3.設定不定時開燈:當家人出外旅遊時,將家裡的電燈設定成不定時打開,讓小偷以為家裡有人。
七、語音控制繼電器
Arduino端接線圖
使用WFduino的[監聽語音]和[語音文字]積木來控制繼電器動作。
由數位腳7來控制繼電器的開和關。
先將[腳位7模式設為OUTPUT]。
使用[監聽語音]啟動語音轉換。
重複執行監聽語音,使用[語音文字]積木來讓程式判斷要做什麼動作,要開,還是要關。
使用[語音文字]積木來讓程式判斷要做什麼動作
如果說[開燈]就讓腳位7輸出為1(高電位),讓繼電器連接的電器打開(檯燈亮)。
如果說[關燈]就讓腳位7輸出為0(低電位),讓繼電器連接的電器關閉(檯燈暗)。
程式下載: 繼電器(語音).sb2
如果插座改插其他電器,一樣可以做控制。
八、感應亮燈
配合人體紅外線感測器(第十四課)當有人靠近時,就會自動亮燈,人離開後燈就自動熄滅。
九、延時大夜燈:
加上按鍵,當按下按鍵後,隔一段時間後自動關燈。
—————————-
註1:參考資料:http://lioujj.blogspot.tw/2015/09/arduino.html
https://www.strongpilab.com/?p=2114
註2:
家裏的用電一般是110V單相交流電,三孔插座的中間是接地線,兩邊是火線和中性線(零線),短孔為火線,長孔為中性線。
圖片來源:http://www.bigeye.url.tw/labsafe/images/elec/elec_005.jpg
火線和中性線的區別在於它們對地的電壓不同:火線對地電壓為110V,中性線對地電壓為0。可以用三用電表來測量。
中性線是從電力公司的發電機中性點引出的線,如果它不接地就稱為中性線,如果將它良好的接地(大地為零電位),此時的中性線就又稱為零線。中性線和火線是用電的回路線,它們和電器的外殼是絕緣的。而接地線是和電器的外殼相聯的,當電器有故障時當中才有電流流通,一般沒有電流。 台灣地區電線的配線標準用色,接地線是綠色,火線是黑色,中性線是白色。
其他用電安全請參考:http://www.bigeye.url.tw/labsafe/elec.htm
———————————-
相關連結:
初級班課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433
WFduino課前準備
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636665
WFduino第一課(概論、連接)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636745
WFduino第二課(LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637840
WFduino第三課(用鍵盤控制LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637841
WFduino第四課(3顆LED紅綠燈)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637850
WFduino第五課(PWM模擬類比輸出)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/638450
WFduino第六課(RGB三色LED)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/638508
WFduino第七課(蜂鳴器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/638509
WFduino第八課(按鍵)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639090
WFduino顏色猜猜機(第8-1課)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639091
WFduino第九課(可變電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639092
WFduino第十課(光敏電阻)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639093
WFduino第十一課(伺服馬達)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639094
WFduino第十二課(超音波感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639095
WFduino第十三課(繼電器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/639096
WFduino第十四課(人體紅外線感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/640850
WFduino第十五課(主動式紅外線感測器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/640852
WFduino第十六課(七段顯示器)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/640853
英文聽音打字練習(WFduino)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636484
會說時間的鬧鐘(WFduino)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637772
會說話的九九乘法表(WFduino)
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636482
WFduino Chrome App
http://blog.ilc.edu.tw/blog/blog/868/post/97509/637303
WFduino語音控制(forcratchX)
http://blog.ilc.edu.tw/blog/blog/868/post/10898/635592
WFduino無線操控arduino
http://blog.ilc.edu.tw/blog/blog/868/post/97509/636819
WFduino原廠使用方法介紹網頁
http://wf8266.com/wf8266r/tutorials/65_Sx4ABlocks
WFduino for ScratchX
http://blog.ilc.edu.tw/blog/blog/868/post/10898/635190
WF8266R雲端外部感應器