機器人教程4:紅外循跡及LM339模塊
圖7紅外循跡原理圖
5、紅外循跡程序
下面給出一個簡單的程序用以實現(xiàn)小車的循跡,為了便于對程序的理解,此處用非PWM的方法寫出,即電源電壓直接加了電機兩端,以固定速度實現(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;//左二級 sbit ss2=P1^1;//左一級 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)//右邊檢測到,向右轉(zhuǎn) { PWM1=0; PWM2=0; PWM3=0; PWM4=0; PWM5=1; PWM6=0; PWM7=1; PWM8=0; } if(ss1==0&&ss2==1)//左邊檢測到,向左轉(zhuǎn) { PWM1=1; PWM2=0; PWM3=1; PWM4=0; PWM5=0; PWM6=0; PWM7=0; PWM8=0; } } }
評論