用激光传感器寻线

视频图片:
视频介绍:

用激光传感器寻线

 

 

     因为之前用红外寻线传感器测轮子上的辐条的办法误差太大,控制不精确,故买了两个这种收发一体的激光传感器(其实以后可以自己买零件来焊接的,零件巨便宜,利润巨大~~)这个激光传感器就像之前的寻线传感器一样,不过这个可以斜着寻线,`(*∩_∩*)′~~嗯,它是有反射来的时候就是低电平,没反射就是高电平~~

9CFAEE0D27859B370F0D574527ABA14F_B500_900_500_380

9CFAEE0D27859B370F0D574527ABA14F_B500_900_500_380嗯,放上程序吧~~

int pinI1=8;//定义I1接口

int pinI2=9;//定义I2接口

int speedpin=11;//定义EA(PWM调速)接口,left

int pinI3=6;//定义I3接口

int pinI4=7;//定义I4接口

int speedpin1=10;//定义EB(PWM调速)接口right

int input=15;//超声波输出端口(发射)连接开发板模拟0

int output=14;//超声波输入端口(接收)连接开发板模拟1

int xun1=4;//定义寻线左接口

int xun2=5;//定义寻线右接口

int speed1;//定义左转速

int speed2;//定义右转速

unsigned long time1,time2,oldtime1,oldtime2;

void setup(){

Serial.begin(9600);

pinMode(pinI1,OUTPUT);

pinMode(pinI2,OUTPUT);

pinMode(speedpin,OUTPUT);

pinMode(pinI3,OUTPUT);

pinMode(pinI4,OUTPUT);

pinMode(speedpin1,OUTPUT);

pinMode(input,INPUT);

pinMode(output,OUTPUT);

digitalWrite(pinI4,HIGH);//使直流电机(右)顺时针转

digitalWrite(pinI3,LOW);

digitalWrite(pinI1,HIGH);//使直流电机(左)逆时针转

digitalWrite(pinI2,LOW);

speed1=700;

speed2=700;

analogWrite(speedpin,speed1);

analogWrite(speedpin1,speed2);

}

void loop(){

if (digitalRead(xun1)==HIGH)

{

digitalWrite(pinI4,LOW);

digitalWrite(pinI3,HIGH);

digitalWrite(pinI1,HIGH);

digitalWrite(pinI2,LOW);

delay(10);

digitalWrite(pinI4,HIGH);//使直流电机(右)顺时针转

digitalWrite(pinI3,LOW);

digitalWrite(pinI1,HIGH);//使直流电机(左)逆时针转

digitalWrite(pinI2,LOW);

}

if (digitalRead(xun2)==HIGH)

{

digitalWrite(pinI4,HIGH);

digitalWrite(pinI3,LOW);

digitalWrite(pinI1,LOW);

digitalWrite(pinI2,HIGH);

delay(10);

digitalWrite(pinI4,HIGH);//使直流电机(右)顺时针转

digitalWrite(pinI3,LOW);

digitalWrite(pinI1,HIGH);//使直流电机(左)逆时针转

digitalWrite(pinI2,LOW);

}

}

用激光传感器寻线》上有1条评论

  1. Pingback引用通告: BZ编程小组 作品 | BZ编程小组

发表评论

电子邮件地址不会被公开。 必填项已用*标注