以下是一個簡單的觸控方向判斷範例. 歡迎用App Inventor 或 Android 來實作看看
====================================================
藉由Canvas的 Dragged事件來判斷觸控點現在是朝東西南北四個方向中的哪一個方向移動
Idea: ΔX > ΔY --> 水平移動, 反之為垂直移動.
在已辨識為水平移動的情況下, 如果Current X > Prev X -> 代表往東邊移動, 反之往西邊移動. (Y變化不計).
在已辨識為垂直移動的情況下, 如果Current Y > Prev Y -> 代表往南邊移動, 反之往北邊移動. (X變化不計).
你好,測距是超音波吧?我所說的紅外線是Light Sensor,NXT的感測器,用來讀取光線值。我想用兩個Light Sensor跟著黑線走,比如說右邊的Light Sensor偵測到黑線要左轉修正路線。使用的是app inventor。
[版主回覆12/08/2011 23:45:43]light sensor 不是紅外線(IR). light sensor 不是紅外線(IR). light sensor 不是紅外線(IR). <- 罰寫三遍
App Inventor 不適合做軌跡車. 因為sensor value 回手機之後再回傳給機器人, 一定會lag. App Inventor適合遙控或是需取用Android phone上的特殊sensor.
當然要做也是可以, 就是多用幾個if /else就可以了.
多謝指正,用 if / else 的話,機器人只會做一開始偵測到的動作,碰到其他狀況卻不會更改動作耶。四個狀況一共用了四個 if / else,檢測條件是兩邊(使用and方塊)的光線值,裡面的動作是馬達,當進入一個 if 之後就不會再跳出來檢測了,是不是我少放了什麼方塊呢?
[版主回覆12/12/2011 21:07:01]因為您這樣寫的話只會判斷一次就結束了。請用clock元件,利用 timer always fired來強制程式每一段時間(單位為毫秒)檢查一次光感應器值後判斷