新DiFi第12課主動式紅外線感測器
紅外線感測器可分為主動式和被動式兩種。(註)
主動式的紅外線感測器(紅外線避障模組),感測器本身會發射紅外線光束,當紅外線光束被物體擋住後,紅外線光束就會反射,接收器接收反射的紅外線,做出動作。例如:廁所的自動沖水小便斗、感應式水龍頭。
被動式的紅外線裝置:紅外線動作感測器 (Passive Infrared Sensor) 又稱為(PIR Motion Sensor),感應器本身不會發射紅外線光束。原理就是利用物體發射出來的紅外線的變化,來感應物體的移動。一般利用人體會發出紅外線的特性,常用來當作感應人體的感測器。
DiFi板子上的是主動式紅外線感測器:
由板子上的插孔寫[IRSW]來控制,感測器本身會發射紅外線光束,當紅外線光束被物體擋住後,紅外線光束就會反射,接收器接收反射的紅外線,做出動作。
PS:板子連接電腦後,肉眼看不出來有發射紅外線光束,但是從攝影機(影片)中可以看到有一顆亮的LED就是發射紅外線光束的LED,另一顆暗的LED是接收端。
0.基本測試:
使用Jump直接將D2和[IRSW](紅外線感測器)、D7和LEDG兩兩接上。
由數位腳位D7來控制輸出高電位(3.3V)或低電位(0V),燈亮或滅。
WFduino預設INPUT是低電位(0),但是DiFi板子上的[紅外線感測器 ]未感應到障礙物應該是高電位,需要在設定之後加一個等待時間,讓程式有時間將D0設定為高電位(1)。
先設定要用到的腳位,數位腳位D2為INPUT(輸入)
[重複執行],[說(讀取數位腳位2)],測試紅外線感測器的輸入值變化。
程式下載:基本測試.sb2
一、感應式水龍頭
模擬感應式水龍頭作用,感應到手靠近,啟動LED,並說沖水了,發出水滴聲,模擬沖水。
先設定要用到的腳位,數位腳位D2為INPUT(輸入)
沒有遇到東西(手)時,數位腳D2的輸入訊號為高電位(數值1)
當遇到東西(手)時,數位腳D2的輸入訊號變為低電位(數值0)
不停重複的偵測數位腳D2的輸入訊號,如果是低電位(數值0)表示有感應到東西(手),讓數位腳位D7變成低電位,LED亮綠色,並且說[沖水了]、發出水滴的聲音。
否則就是沒有東西(手)經過,讓數位腳位D7變成高電位,LED不亮。
程式下載:感應式水龍頭.sb2
延伸:
1.配合繼電器(第十三課),可以真的啟動水龍頭沖水。
2.改裝成物體偵測器,當有物體經過就發出音樂。
3.改裝成感應燈,當有物體經過就打開電燈。
4.改裝成防盜器,當有物體經過就發出警告。
PS:一般的主動式紅外線感測器偵測距離短,特殊用途需要特殊規格。
二、超商來客通知
模擬超商來客通知,當紅外線感測器感應到有東西經過時,就會發出歡迎光臨的音樂。
先設定要用到的腳位,數位腳位D2為INPUT(輸入)
沒有遇到東西(人)時,數位腳D2的輸入訊號為高電位(數值1)
當遇到東西(人)時,數位腳D2的輸入訊號變為低電位(數值0)
不停重複的偵測數位腳D2的輸入訊號,如果是低電位(數值0)表示有感應到東西(人),讓數位腳位D7變成低電位,LED亮綠色,螢幕上顯示說[歡迎光臨!歡迎光臨!],並播放來客音樂,再用[說…..]的擴充積木,讓電腦說出 [ 歡迎光臨!歡迎光臨!]。
否則就是沒有東西(人)經過,讓數位腳位D7變成高電位,LED不亮。
程式下載:超商.sb2
PS:一般的主動式紅外線感測器偵測距離短,不適合超商使用。
三、感應式計數器
先設定要用到的腳位,數位腳位D2為INPUT(輸入)
做一個計數器的變數,一開始設為0
重複執行偵測動作。
沒有遇到東西時,數位腳D2的輸入訊號為高電位(數值1)
當遇到東西時,數位腳D2的輸入訊號變為低電位(數值0)
[等待讀取數位腳2=0] ,等待東西經過,就亮綠燈,讓計數器的值加1,說出計數次數。
[等待讀取數位腳2=1],等待東西過去了,就關燈。
程式下載: 計數.sb2
延伸:
投籃機:做個籃框,在籃框旁加上計數器,球投進就會自動計分。
註:影片來源:硬漢爸
四、打擊樂
當遮蔽紅外線感測器時,電腦就發出一個聲音,一群人輪流遮蔽紅外線感測器,讓電腦完成彈奏鼓聲。
[腳位D2模式設為INPUT]:設定數位腳位D2模式為輸入。
沒有遇到東西(手)時,數位腳D2的輸入訊號為高電位(數值1)
當遇到東西時(手)時,數位腳D2的輸入訊號變為低電位(數值0)
不停重複的偵測數位腳D2的輸入訊號,如果是低電位(數值0)表示有感應到東西(手),讓數位腳位D7變成低電位,LED亮綠色,彈奏鼓聲。
可以選擇發出不同的[鼓聲]
程式下載:打擊樂.sb2
延伸:
各組選擇不同的鼓聲,配合節奏,大家一起彈奏(遮光),就可以完成打擊樂了。
五、演奏歌曲
當遮蔽紅外線感測器時,電腦就發出一個聲音,一群人輪流遮蔽紅外線感測器,讓電腦完成歌曲演奏。
先設定樂器種類,上圖的1是 鋼琴。
[腳位D2模式設為INPUT]:設定數位腳位D0模式為輸入。
然後將歌曲音符編排好,加上偵測動作的[等待…]指令
當遇到東西時(手)時,數位腳D2的輸入訊號變為低電位(數值0),就彈奏一個音符。
這樣就可以依序將歌播完。
因為歌曲常常有一些重複的曲段,所以用積木來編排,節省程式長度,比較簡潔。
如果想要變換樂器,只要更改[樂器種類]就可以了。
程式下載:演奏歌曲.sb2
延伸:
1.學生自由創作不同的音樂
2.增加一條麵包線連接數位腳位8和蜂鳴器,使用蜂鳴器來演奏樂曲。
六、應用:
生活中的應用
1.廁所的自動沖水小便斗:接收訊號後啟動繼電器讓沖水開關打開
2.感應式水龍頭:接收訊號後啟動繼電器讓水龍頭開關打開
3.機器人避障:裝置在機器人身上偵測障礙物,控制機器人避免碰撞。
4.避障小車:裝置在自走車上偵測障礙物,控制自走車避免碰撞。
5.自走車黑白線循跡:裝置在自走車上偵測地面黑線或白線,控制自走車沿著路線行走。
6.做好偵測感應設備,再加上大喇叭,就成了第一課的垃圾桶和資源回收箱了。
https://youtube.com/watch?v=qRgWttqFKu8
https://youtube.com/watch?v=zCt_MzsnIUk
註:要真的實用還有一些細節要改進,例如:接線要堅固,加裝擴音線路才能讓喇叭發出夠大的聲音……….
7.多媒體互動牆
製作方法:
http://mingshiuan.blogspot.com/2012/12/arduino.html
註:
紅外線感測器可分為主動式和被動式兩種。
A:主動式
主動式的紅外線感測器(紅外線避障模組),感測器本身會發射紅外線光束,當紅外線光束被物體擋住後,紅外線光束就會反射,接收器接收反射的紅外線,做出動作。例如:廁所的自動沖水小便斗、感應式水龍頭。
左邊一般用於循跡自走車,右邊常用於避障小車。
特性:
該感測器模組對環境光線適應能力強,其具有一對紅外線發射與接收器,發射器發射出一定頻率的紅外線,當檢測方向遇到障礙物(反射面)時,紅外線反射回來被接收器接收,經過電路處理之後,輸出介面輸出數位訊號(一個低電位訊號)。可透過電位器旋鈕調節檢測距離(順時針,距離增加;逆時針,距離減少。),有效距離範圍2~80cm,檢測角度35°。
B:被動式
紅外線動作感測器 (Passive Infrared Sensor) 又稱為(PIR Motion Sensor),是屬於被動式的紅外線裝置,感應器本身不會發射紅外線光束。原理就是利用物體發射出來的紅外線的變化,來感應物體的移動。一般利用人體會發出紅外線的特性,常用來當作感應人體的感測器。
HC-SR501 人體紅外線模組:
———————————-
相關連結:
新DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/104089/678192
DiFi課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/100870/660551
WFduino(Arduino)課程目錄
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433