49741933o 发表于 2014-2-27 12:10:38

寻线避障机器人,避障不了,这是为什么?

----连接图      
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);
      }
    }

49741933o 发表于 2014-2-27 12:15:56

怎么没视频了啊?
页: [1]
查看完整版本: 寻线避障机器人,避障不了,这是为什么?