今天就来控制一下红外寻线传感器。寻线传感器是根据反射式光电传感器原理开发的机器人配件,可以帮助你的机器人进行黑线或白线的跟踪,可以检测到白底中的黑线,也可以检测到黑底中的白线。这款寻线传感器是黑线低电平有效,白线高电平有效。
既然是寻线传感器,那我就让它来控制一个电机的启动和制动吧,具体要求是当传感器检测到黑线就让电机开始转动。要准备的主要材料有:Arduino、寻线传感器、直流电机驱动板、直流电机、轮子、电池、导线若干。我就将直流电机的PWM信号输出口接Arduino上的11接口,I1、I2分别接Arduino数字接口8和9接口,寻线传感器的TS信号接口就接到Arduino的7数字接口上,+5V符号接口连接Arduino上的+5V输出、GND符号接口与Arduino板共地,按下图连接好电路。
连接好电路,就可以来编写程序了,程序如下:
int linepin=7;//定义信号接口
int speedpin=11;//定义EA(PWM调速)接口
int pin1=8;//定义I1接口
int pin2=9;//定义I2接口
int val;//定义变量
void setup()
{
pinMode(pin1,OUTPUT);//定义该接口为接口为输出接口
pinMode(pin2,OUTPUT);
pinMode(speedpin,OUTPUT);
pinMode(linepin,INPUT);
}
void loop()
{
val=digitalRead(linepin);//读出信号接口的值
if(val==HIGH)
{//如果信号为高电平,电机制动
digitalWrite(pin1,HIGH);
digitalWrite(pin2,HIGH);
}
else
{//如果信号为低电平,电机启动
analogWrite(speedpin,100);//输入模拟值进行设定速度
digitalWrite(pin1,LOW);//使直流电机顺时针转
digitalWrite(pin2,HIGH);
}
}