新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 機(jī)器人教程4:紅外循跡及LM339模塊

機(jī)器人教程4:紅外循跡及LM339模塊

作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏



圖7紅外循跡原理圖

5、紅外循跡程序

下面給出一個(gè)簡(jiǎn)單的程序用以實(shí)現(xiàn)小車的循跡,為了便于對(duì)程序的理解,此處用非PWM的方法寫出,即電源電壓直接加了電機(jī)兩端,以固定速度實(shí)現(xiàn)循跡。

#include

#define uint unsigned int

#define uchar unsigned char

sbit PWM1=P2^0;//接IN1控制正轉(zhuǎn)

sbit PWM2=P2^1;//接IN2控制反轉(zhuǎn)

sbit PWM3=P2^2;//接IN1控制正轉(zhuǎn)

sbit PWM4=P2^3;//接IN2控制反轉(zhuǎn)

sbit PWM5=P2^4;//接IN1控制正轉(zhuǎn)

sbit PWM6=P2^5;//接IN2控制反轉(zhuǎn)

sbit PWM7=P2^6;//接IN1控制正轉(zhuǎn)

sbit PWM8=P2^7;//接IN2控制反轉(zhuǎn)

sbit ss1=P1^0;//左二級(jí)

sbit ss2=P1^1;//左一級(jí)

void main()

{

while(1)

{

if(ss1==0&&ss2==0)//直走

{

PWM1=1;

PWM2=0;

PWM3=1;

PWM4=0;

PWM5=1;

PWM6=0;

PWM7=1;

PWM8=0;

}

if(ss1==1&&ss2==0)//右邊檢測(cè)到,向右轉(zhuǎn)

{

PWM1=0;

PWM2=0;

PWM3=0;

PWM4=0;

PWM5=1;

PWM6=0;

PWM7=1;

PWM8=0;

}

if(ss1==0&&ss2==1)//左邊檢測(cè)到,向左轉(zhuǎn)

{

PWM1=1;

PWM2=0;

PWM3=1;

PWM4=0;

PWM5=0;

PWM6=0;

PWM7=0;

PWM8=0;

}

}

}


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


技術(shù)專區(qū)

關(guān)閉