|
本帖最後由 yao412030 於 2011-10-15 22:12 編輯
大大您好
小弟我又遇到問題了.....
就是小弟我有寫說如果左右兩科都偵測到障礙物時,要判斷哪邊距離障礙物比較遠,轉向離障礙物較遠的方向時
我的超音波類比值整個會怪怪的
假如說我前方有到牆壁,左邊比較接近牆壁,正常來說左邊類比值一定會小於右邊,可是我的卻不是,我的居然是左邊大於右邊...
反之也是一樣....
數值整個變非常奇怪,我也檢查我的程式碼好像也沒啥問題在....
我只用大大您提供的電路給我兩顆雖然不會互相干擾,左右其中一顆偵測到也不會發現說有類比值不穩的地方,可是兩顆同時偵測到就會出現問題
可否請大大幫助我呢?
謝謝!!
小弟我提供一下當兩邊都有遇到障礙物判斷距離轉向的寫法!!
}else if(right && left <= 30 && right<left){ //偵測到左右方障礙物且左方距離障礙物較遠減速轉向左方
analogWrite(g_nMotor_2_Pin_B,255);
analogWrite( g_nMotor_1_Pin_A, 0);
analogWrite( g_nMotor_1_Pin_B , 120);
l = 1;
}else if (right >= 30 && right < left){ //偵測結束回復速度
analogWrite( g_nMotor_1_Pin_A, 0);
analogWrite( g_nMotor_1_Pin_B , 180);
}else if(right && left <= 30 && right>left){ //偵測到左右方障礙物且右方距離障礙物較遠減速轉向右方
analogWrite(g_nMotor_2_Pin_A,255);
analogWrite( g_nMotor_1_Pin_A, 0);
analogWrite( g_nMotor_1_Pin_B , 120);
}else if (left >= 30 && right > left){ //偵測結束回復速度
analogWrite( g_nMotor_1_Pin_A, 0);
analogWrite( g_nMotor_1_Pin_B , 180);
r = 1; |
|