|
今天把程序一切都準(zhǔn)備差不多了,程序沒有發(fā)現(xiàn)說明錯(cuò)誤和警告。但是因?yàn)橹皼]焊好線路,沒法接上循跡模塊,但是把帶有循跡模塊的程序燒進(jìn)去之后,本來因?yàn)樗膫(gè)輪都不動(dòng),卻發(fā)現(xiàn)四個(gè)輪都在轉(zhuǎn)動(dòng)。…現(xiàn)在還沒搞明白問題出在哪?程序如下
int main(void)
{
delay_init(); //延時(shí)函數(shù)初始化
Motor_1234_Config(); //298電機(jī)驅(qū)動(dòng)初始化
XUNJI();//初始化
TIM1_PWM_Init(9999,7199);
while(1)
{
if(Led10&&Led21&&Led30)
{
while(1)
{
Motor_1234_PRun();
}
}
else if(Led11&&Led30)
{
while(1)
{
Turn_Left();
if(Led10&&Led21&&Led30)
break;
}
}
else if(Led10&&Led31)
{
while(1)
{
Turn_Right();
if(Led10&&Led21&&Led30)
break;
}
}
else if(Led11&&Led21&&Led31)
{
while(1)
{
Motor_1234_STOP();
}
}
}
}
利用pwm輸出來控制內(nèi)外側(cè)輪子不同的轉(zhuǎn)速實(shí)現(xiàn)轉(zhuǎn)彎,而后
if(Led10&&Led21&&Led30
break;
來實(shí)現(xiàn)跳出,實(shí)現(xiàn)在轉(zhuǎn)彎過程中遇到中間循跡模塊檢測(cè)到黑膠后,跳出前一個(gè)循環(huán),小車開始直行。
最后 else if(Led11&&Led21&&Led31)
{
while(1)
{
Motor_1234_STOP();
}
}//可以在地上貼橫向黑膠帶,當(dāng)三個(gè)循跡模塊同時(shí)檢測(cè)到時(shí),實(shí)現(xiàn)定點(diǎn)停車。
|
|