这个寻线避障机器人,避障不了,求解答!!
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);
}
}
}
3个是距离传感器么? 下面那一坨5个是啥东西? shihaipeng04 发表于 2014-2-26 00:46 static/image/common/back.gif
3个是距离传感器么? 下面那一坨5个是啥东西?
图上3个是红外避障传感器,那5个是红外寻线传感器。。视频你看了没? 49741933o 发表于 2014-2-26 12:00 static/image/common/back.gif
图上3个是红外避障传感器,那5个是红外寻线传感器。。视频你看了没?
哦,难怪没人回答我
页:
[1]