Robofun 機器人論壇
標題:
請教!
[打印本頁]
作者:
zhq
時間:
2012-2-7 21:04
標題:
請教!
大家好!
我想用Arduino做一個智能小車,實現避懸崖功能,我是這樣想的,小車開始時是向前走的,當遇到地上的黑線時,向後退5S,然後再向前走。下面是我的主程序,實際運行起來實現不了。請高手指教。
void loop()
{
advance();
int I;
I=digitalRead(IRR);
if(I==HIGH)
{
back();
delay(5000);
}
else
{
advance();
}
}
其實我也知道是什麼原因,就是只要傳感器觸發一下,然後就後退,不管SENSOR有沒有感應到。是紅色的要修改下。就是不知道用哪個命令,請高手指點,謝謝!
作者:
mzw2008
時間:
2012-2-7 22:48
advance(); back(); 這兩個函數是自己寫的嗎?!
有沒有單獨測過他們讓馬達動?
再來就是感測黑線的感測器
遇到黑線時是HIGH?
IRR 那根腳確實是感測器那根?
delay(5000);
這行不該接BACK 後面
應該是看BACK()要執行多久, 假設是0.1秒
則需要
for (int a=1;a<=50;a++)
BACK();
這樣才能真的後退五秒
作者:
mzw2008
時間:
2012-2-7 22:49
車子的控制前進, 要作到很人性化, 需要好多好多的努力哩^^
作者:
playrobot
時間:
2012-2-8 09:25
除了使用計算副程式執行一次要多久的方法外,可以參考millis() 這指令計算時間,另外如果你是控RC馬達,可以直接搭配servo.h控制,可以更加容易程式也會比較簡短。
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2