機(jī)器人教程4:紅外循跡及LM339模塊
圖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; } } }
評(píng)論