寻线避障机器人,避障不了,这是为什么?
----连接图http://v.qq.com/boke/page/o/z/q/o0126x118zq.html 这是我自己拍的视频,本来想发给我买这个机器人那公司的,但是那边没能给出很好的解答,说“很忙”。。。下面是代码:
void setup()
{
pinMode(8,OUTPUT);//定义输入、输出接口
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(11,INPUT);
pinMode(12,INPUT);
pinMode(14,INPUT); /*这个假如换成13的话,接在这个口的mini避障传感器总是亮着微弱的光,这是为什么?*/
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
}
void qianjin()//前进
{
digitalWrite(10,300);//输入数字量进行设定速度
digitalWrite(5,300);
digitalWrite(9,HIGH);//使直流电机(右)顺时针转
digitalWrite(8,LOW);
digitalWrite(7,HIGH);//使直流电机(左)逆时针转
digitalWrite(6,LOW);
}
void youzhuan()//右转
{
digitalWrite(10,100);//输入数字量进行设定速度
digitalWrite(5,100);
digitalWrite(6,LOW);//使直流电机(右)逆时针转
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);//使直流电机(左)逆时针转
digitalWrite(9,LOW);
}
void zuozhuan()//左转
{
digitalWrite(10,100);//输入数字量进行设定速度
digitalWrite(5,100);
digitalWrite(6,HIGH);//使直流电机(右)顺时针转
digitalWrite(7,LOW);
digitalWrite(8,LOW);//使直流电机(左)顺时针转
digitalWrite(9,HIGH);
}
void tingzhi()//停止
{
digitalWrite(6,HIGH);//使直流电机(右)制动
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);//使直流电机(左)制动
digitalWrite(9,HIGH);
}
void houtui(int a)
{
analogWrite(10,a);//输入模拟值进行设定速度
analogWrite(5,a);
digitalWrite(6,HIGH);//使直流电机(右)逆时针转
digitalWrite(7,LOW);
digitalWrite(9,LOW);//使直流电机(左)顺时针转
digitalWrite(8,HIGH);
}
void loop()
{
int r,m,l;//定义寻线传感器接口
r=digitalRead(2);//定义右侧寻线接口
m=digitalRead(3);//定义中间寻线接口
l=digitalRead(4);//定义左侧寻线接口
int r1,m1,l1;//定义避障传感器接口
r1=digitalRead(14);//定义右侧避障接口
m1=digitalRead(12);//定义中间避障接口
l1=digitalRead(11);//定义左侧避障接口
if(l==LOW || m==LOW || r==LOW)//判断是否有黑线 有则继续
{
if(l==LOW && m==LOW && r==LOW)
qianjin();
if(l==HIGH && m==LOW && r==HIGH)
qianjin();
if(l==HIGH && m==LOW && r==LOW)
{
youzhuan();
delay(400);
// tingzhi();
// delay(80);
}
if(l==LOW && m==LOW && r==HIGH)
{
zuozhuan();
delay(400);
// tingzhi();
// delay(80);
}
if(l==HIGH && m==HIGH && r==LOW)
{
youzhuan();
delay(400);
// tingzhi();
//delay(80);
}
if(l==LOW && m==HIGH && r==HIGH)
{
zuozhuan();
delay(400);
// tingzhi();
// delay(80);
}
}
if(l==HIGH && m==HIGH && r==HIGH)//判断是否有障碍 有则继续
{
if(l1==HIGH && m1==HIGH && r1==HIGH)
qianjin();
if(l1==HIGH && m1==LOW && r1==HIGH)
{
houtui(200);
delay(400);
zuozhuan();
delay(300);
}
if(l1==HIGH && m1==HIGH && r1==LOW)
zuozhuan();
if(l1==LOW && m1==HIGH && r1==HIGH)
youzhuan();
if(l1==HIGH && m1==LOW && r1==LOW)
zuozhuan();
if(l1==LOW && m1==LOW && r1==HIGH)
youzhuan();
if(l1==LOW && m1==LOW && r1==LOW)
{
houtui(200);
delay(400);
zuozhuan();
delay(300);
}
}
怎么没视频了啊?
页:
[1]