大家好,我是小编。
继上一节内容点击打开链接
我今天讲arduino循迹小车。
循迹模块原理:红外对管的工作原理是利用红外线对颜色的反射
率不一样,将反射信号的强弱转化成电流信号。黑白寻迹模块在检测
到黑色高电平有效,检测到白色是为低电平有效,检测高度为0
—3cm。
注:在电路中你可以使用旋钮电位器来调黑白寻迹的灵敏度。
红外对管在机器人设计,工业制造中应用十分广泛。可利用红外
对管制作黑白寻迹机器人、工业计数传感器等等。
使用方法:
1.P1 传感器接口有3 根排针,分别是SR、SM、SL 是三个信号输出端。
2.检测到物体,信号端输出低电平;未检测到物体,信号端输出高电
平。
3.主要判断信号输出端是0 或者1,就能判断物体是否存在。
这是场地:
这个程序是:
int MotorRight1=14; int MotorRight2=15; int MotorLeft1=16; int MotorLeft2=17; int MotorRPWM=3; int MotorLPWM=5; const int SensorLeft = 2; const int SensorMiddle= 4 ; const int SensorRight = 6; int SL; int SM; int SR; void setup() { Serial.begin(9600); pinMode(MotorRight1, OUTPUT); pinMode(MotorRight2, OUTPUT); pinMode(MotorLeft1, OUTPUT); pinMode(MotorLeft2, OUTPUT); pinMode(MotorLPWM, OUTPUT); pinMode(MotorRPWM, OUTPUT); pinMode(SensorLeft, INPUT); pinMode(SensorMiddle, INPUT); pinMode(SensorRight, INPUT); } void loop() { SL = digitalRead(SensorLeft); SM = digitalRead(SensorMiddle); SR = digitalRead(SensorRight); if (SL == LOW&&SR==LOW)// { digitalWrite(MotorRight1,HIGH); digitalWrite(MotorRight2,LOW); analogWrite(MotorRPWM,150); digitalWrite(MotorLeft1,HIGH); digitalWrite(MotorLeft2,LOW); analogWrite(MotorLPWM,150); } else // { if (SL == HIGH & SR == LOW) { delay(1); digitalWrite(MotorRight1,HIGH); digitalWrite(MotorRight2,LOW); analogWrite(MotorRPWM,130); digitalWrite(MotorLeft1,LOW); digitalWrite(MotorLeft2,LOW); } else if (SR == HIGH & SL == LOW) { delay(1); digitalWrite(MotorRight1,LOW); digitalWrite(MotorRight2,LOW); digitalWrite(MotorLeft1,HIGH); digitalWrite(MotorLeft2,LOW); analogWrite(MotorLPWM,130); } else { digitalWrite(MotorRight1,LOW); digitalWrite(MotorRight2,LOW); digitalWrite(MotorLeft1,LOW); digitalWrite(MotorLeft2,LOW);; }}}这就是今天的内容,谢谢大家!
原文地址:http://blog.csdn.net/g1342522389/article/details/46455987