循線模組

依序完成循線練習地圖1、2與綜合練習。

一些地圖需搭配顏色感應模組,顏色感應模組必須利用motoblockly才能撰寫程式。

循線說明請見下方。

尋跡感測器模組的紅外發射器不斷發射紅外線

當發射出的紅外線沒有被反射回來,光敏三極管一直處於關閉狀態,指示LED 燈為熄滅狀態。此時信號輸出1高電位。

反之紅外線被反射回來且強度足夠大,光敏三極管飽和,指示LED燈被點亮。此時模組的輸出端為0低電位。

黑色會將所有光線吸收,所以黑色表面不會反射,LED不亮,輸出1。

白色或其他顏色會反射光線,LED亮,輸出0。

程式構思

你要使用二路、三路、四路、還是五路循跡?

這邊示範三路循跡的決策。

將左、中、右三個感應器S訊號接在A0、A1、A2(類比也可當數位輸入)

如果左邊是白,LED亮(A0腳位)==0。

如果中邊是白,LED亮(A1腳位)==0。

如果右邊是白,LED亮(A2腳位)==0。


如果左邊是黑,LED滅(A0腳位)==1。

如果中邊是黑,LED滅(A1腳位)==1。

如果右邊是黑,LED滅(A2腳位)==1。


如果三個輸入分開判斷,程式寫法會非常複雜。

像是

如果(A0=1且A1=0且A2=0)或(A0=1且A1=1且A2=0)     /////左黑、左中黑
  那麼車子左轉
否則如果(A0=0且A1=0且A2=1)或(A0=0且A1=1且A2=1) 
  那麼車子右轉
否則
  直走

看看左邊的圖,該怎麼用一個數字代表現在車子與黑線的關係?

像是

如果(線的狀態=1或線的狀態=2)
    那麼車子左轉
否則如果(線的狀態=3或線的狀態=4)
    那麼車子右轉
否則
    直走