2013-01-24 32 views
1

如何在案例中添加條件。我想添加一個功能,如果結果小於15釐米停車位,返回並左轉或右轉。開關櫃內的功能條件

if (Serial.available()) 
    { val = Serial.read(); 
    switch(val) 
{ 
case 'a': 
    servoX.write(lx); 
    qian(); // forward 
    break; 
    case 'b': 
    hou(); //back 
    break; 
+0

你在說什麼'結果'?你能提供更多細節嗎? – GeorgeVremescu

+0

我沒有在Arduino中編程,但是從文檔中可以看出,對switch語句中可能出現的語句沒有限制。你爲什麼不能在'case'裏面使用'if'? – Barmar

+0

我想添加超聲波傳感器。 http://linksprite.com/wiki/index.php5?title=Rover:_WiFi_Video_Streaming_Robot#Schematic – jjboy

回答

0

@Barmar是正確的,沒有什麼可以阻止你形成嵌套邏輯在switch語句,所以它是細到裏面添加你case塊之一的,如果條件。

附註:如果這是您第一次在避免汽車的牆上跑步,請注意當某些物體距離傳感器太近時發生的信號會發生什麼情況,就像大多數傳感器一樣,您將開始讀取指示您當你移動的距離比它的操作範圍更近時離開。出於這個原因,您需要嘗試並且比設置限制更聰明,或者設置一個比傳感器的最小工作範圍更高的限制。爲此,超聲波傳感器比廉價的紅外線距離傳感器要好,但在提高速度時仍需小心。我還建議使用非常靈敏的超聲波傳感器,在對它們作出反應之前,您需要連續讀取兩個一致的讀數。