循線模組
依序完成循線練習地圖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)
那麼車子右轉
否則
直走