小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 15324|回复: 7

想在小车上加个超声波模块,可以再撞墙前停止并后退

[复制链接]
发表于 2015-7-24 15:14:59 | 显示全部楼层 |阅读模式
想在小车上加个超声波模块,可以再撞墙前停止并后退,在进行操控,我一直在改程序,就是不能成功,要不只能后退,要不就是只能控制我是在源码的基础上修改的loop,
void loop()
{  
        read_csb();
        while(distance<15)
        {
        MOTOR_GO_STOP;
        MOTOR_GO_BACK;
        delay(100);
        MOTOR_GO_STOP;
        Get_uartdata();
        }
        while(distance>=15)
        {
        Get_uartdata();
        UartTimeoutCheck()
        }
      
}
回复

使用道具 举报

 楼主| 发表于 2015-7-24 15:26:55 | 显示全部楼层
大神,这里有什么错误吗?帮忙看看,这是另一个
{
   read_csb();
  if (distance<25)   //前方距离小于25cm

  {
    MOTOR_GO_STOP;//停
    MOTOR_GO_BACK;  
    delay(100);    //改其中的数值可以控制退后的时间
    MOTOR_GO_STOP;
     Get_uartdata();
  }
  else
  {
   Get_uartdata();
   UartTimeoutCheck();
   }

}
回复 支持 反对

使用道具 举报

发表于 2015-7-25 11:41:04 | 显示全部楼层
read_csb();  这个是?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-26 09:06:31 | 显示全部楼层
yu木风 发表于 2015-7-25 11:41
read_csb();  这个是?

就是读取超声波数据的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-26 09:09:19 | 显示全部楼层
void read_csb()
    {
      digitalWrite(TrigPin, LOW);  
      delayMicroseconds(2);
      digitalWrite(TrigPin, HIGH);  
      delayMicroseconds(10);
      digitalWrite(TrigPin, LOW);  
      distance = pulseIn(EchoPin, HIGH)/58;           
      Serial.println(distance);      //窗口输出测距值            
    }  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-26 11:30:24 | 显示全部楼层
void loop
{
read_csb();
Get_uartdata();
UartTimeoutCheck();
}
就算这样也是只能读出数据 却不能控制,不懂啊这是为啥呢
回复 支持 反对

使用道具 举报

发表于 2015-7-28 14:45:21 | 显示全部楼层
楼主你好,我用STM32来做过这方面的程序,我想你用了while()来进行距离判断,那你应该在while函数里面也加入read_csb();
回复 支持 反对

使用道具 举报

发表于 2016-1-3 13:36:59 | 显示全部楼层
希望論壇內有問題提出經高手堤供修正意見後,提問者應將測試結果公布,讓大家共同學習進步,住新的一年大家增長知識
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-5-5 15:23 , Processed in 1.098764 second(s), 19 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

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