机器人教程4:红外循迹及LM339模块
图7红外循迹原理图
5、红外循迹程序
下面给出一个简单的程序用以实现小车的循迹,为了便于对程序的理解,此处用非PWM的方法写出,即电源电压直接加了电机两端,以固定速度实现循迹。
#include #define uint unsigned int #define uchar unsigned char sbit PWM1=P2^0;//接IN1控制正转 sbit PWM2=P2^1;//接IN2控制反转 sbit PWM3=P2^2;//接IN1控制正转 sbit PWM4=P2^3;//接IN2控制反转 sbit PWM5=P2^4;//接IN1控制正转 sbit PWM6=P2^5;//接IN2控制反转 sbit PWM7=P2^6;//接IN1控制正转 sbit PWM8=P2^7;//接IN2控制反转 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)//右边检测到,向右转 { PWM1=0; PWM2=0; PWM3=0; PWM4=0; PWM5=1; PWM6=0; PWM7=1; PWM8=0; } if(ss1==0&&ss2==1)//左边检测到,向左转 { PWM1=1; PWM2=0; PWM3=1; PWM4=0; PWM5=0; PWM6=0; PWM7=0; PWM8=0; } } }
评论