在上一篇的實驗中,我們完成了反射型紅外線物體偵測,接下來第二個實驗要製作遮光型的紅外線物體偵測。
先來複習一下遮光型紅外線物體偵測的原理,它的原理是把紅外線接收器與發射器安置在兩端,兩者相對,發射器一樣不斷發出紅外線光束,當光線被遮擋時,就表示中間有物體或障礙物。底下這張是遮光型紅外線物體偵測的示意圖:
▲ 遮光型紅外線感測器
實驗二:遮光型紅外線物體偵測
利用紅外線遮光偵測物體,材料與接線與上一篇完全相同。唯一不一樣的地方,如前面所說的,必須把紅外線接收器與發射器安置在兩端,讓接收器跟發射器兩者相對,如此而已。
程式
只要把接收器與發射器安置妥當後,用上一篇紅外線反射偵測物體的程式(irObjectDetection.pde)就可以了,程式其實完全不需要修改。不過,因為反射型跟遮光型紅外線物體偵測不一樣,一個是檢查有沒收到訊號,另一個是檢查訊號有沒被擋住,邏輯正好相反,所以我們還是把程式改成這樣(irBreakerObjectDetection.pde):
程式只改了一行,把 L36 這行由原來的 if (ir_status == 0) 改成 if (ir_status == 1),因為利用紅外線反射偵測物體的邏輯是「檢查接收器是否有收到紅外線訊號,有的話,就讓指示燈閃爍幾下」,而利用紅外線遮光偵測物體則是「檢查紅外線訊號有沒有被遮擋住,有的話,就讓指示燈閃爍幾下」。
Great! very clear !
回覆刪除