极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8257|回复: 4

这个寻线避障机器人,避障不了,求解答!!

[复制链接]
发表于 2014-2-25 21:23:06 | 显示全部楼层 |阅读模式
  里面有我的操作。。
下面是代码:
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);
      }
    }
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-2-26 00:46:38 | 显示全部楼层
3个是距离传感器么? 下面那一坨5个是啥东西?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-26 12:00:16 | 显示全部楼层
shihaipeng04 发表于 2014-2-26 00:46
3个是距离传感器么? 下面那一坨5个是啥东西?

图上3个是红外避障传感器,那5个是红外寻线传感器。。视频你看了没?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-27 11:45:44 | 显示全部楼层
49741933o 发表于 2014-2-26 12:00
图上3个是红外避障传感器,那5个是红外寻线传感器。。视频你看了没?

哦,难怪没人回答我
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-3 15:39 , Processed in 0.044106 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表