精华内容
下载资源
问答
  • 超声波避障小车设计超声波避障小车设计超声波避障小车设计超声波避障小车设计超声波避障小车设计超声波避障小车设计超声波避障小车设计超声波避障小车设计超声波避障小车设计超声波避障小车设计超声波避障小车设计...
  • 超声波避障小车

    2020-07-06 22:21:50
    1.用STM32F103C8T6最小系统板,小车配件,L298N电机驱动模块,SG90舵机,HC-SR04组成超声波避障小车。 2.小车能在前方无障碍物时(由超声波模块检测并返回距离)前进(电机驱动左右轮正转),当检测到前方30cm有障碍物时...
  • 超声波避障小车.rar

    2021-04-25 10:59:49
    超声波避障小车设计
  • stm32超声波避障小车

    2020-12-28 21:55:38
    舵机+超声波避障小车
  • 51写的一个红外 控制小车的动态 加上避障功能 避障用的超声波模块
  • stm32 超声波避障小车2

    2017-12-14 18:59:09
    stm32 超声波避障小车2stm32 超声波避障小车2stm32 超声波避障小车2stm32 超声波避障小车2
  • stm32小车红外循迹+超声波避障停车,基于stm32的超声波避障小车,C,C++源码
  • stm32 超声波避障小车1

    2017-12-14 09:20:17
    stm32 超声波避障小车1stm32 超声波避障小车1stm32 超声波避障小车1
  • stm32小车红外循迹+超声波避障停车,基于stm32的超声波避障小车,C,C++源码.rar
  • 超声波避障小车程序

    2018-03-02 10:30:29
    超声波避障小车总程序,包括舵机,超声波,L298N,电机每一个模块的详细程序,加上注解
  • 超声波避障小车结题报告.doc
  • arduino超声波避障小车

    2014-06-28 10:20:54
    arduino超声波避障小车,里面有proteus仿真文件,,,以及写好的文档,,
  • 51超声波避障小车

    万次阅读 多人点赞 2018-12-26 13:24:11
    超声波避障小车 简介 本文小车的功能主要有两个:超声波测距避障,以及蓝牙遥控。主控芯片用的是STC89C52,电机驱动模块用的是L298N,超声波传感器HC-SR04,蓝牙模块使用的是HC-05,电机采用5V的直流电机。 总体设计...

    超声波避障小车

    简介

    本文小车的功能主要有两个:超声波测距避障,以及蓝牙遥控。主控芯片用的是STC89C52,电机驱动模块用的是L298N,超声波传感器HC-SR04,蓝牙模块使用的是HC-05,电机采用5V的直流电机。

    总体设计

    总体方案框图

    在这里插入图片描述

    硬件篇

    1. 主控芯片STC89C52
      本实验使用的最小系统主控芯片是STC89C52,功能不是很多。该最小系统是学习单片机时,在淘宝购买集成好的开发板Mini51。(建议:自己购买洞洞板和其他配件搭建最小系统,需要的功能模块再拓展,这样能学到的东西比较多)
      Mini51实物图

    2. 超声波模块HC-SR04
      能测距的传感器有很多,如红外传感器,激光传感器等等。也考虑过使用红外传感器,因为价格成本比较低,但红外传感器的抗干扰能力就没超声波好,红外传感器主要是利用光反射的原理,对于透明的障碍物就会有影响。所以本实验使用的是超声波传感器。
      其原理也并不难理解,超声波测距的原理正是基于其物理基础,当超声波模块产生超声波后,单片机的计时器开始计时。超声波在遇到障碍物后会被反射,超声波模块接收到反射波后,单片机的计时器停止计时。根据收发超声波所产生的时间差,便可计算出超声波模块与障碍物的距离。超声波模块在接收超声波时存在能量转化,当超声波接收到反射波后,声信号转换为电信号,从而使单片机的停止计时。设超声波的声速为v,时间差为t0则超声波的测距公式如下:

      S = v × t 0/2

      附上超声波传感器的实物图:
      HC-SR04超声波传感器

    3. 蓝牙模块HC-05
      该模块价格不会很高,网上基本有该模块的使用方法,首先要连接USB转TTL的模块接入电脑,使用串口调试软件,输入AT指令配置蓝牙模块。该蓝牙模块的源码资料有提供,也可从其他网站或 Github 找。
      详细的蓝牙模块的配置和使用方法参考:
      【常用模块】HC-05蓝牙串口通信模块使用详解(实例:手机蓝牙控制STM32单片机)—Yngz_Miao

    软件篇

    编程环境是使用Keil5 C51。

    展示几个流程图,代码就不放了,需要就在链接中下载。

    主程序流程图:
    主程序流程图

    超声波测距:
    在这里插入图片描述

    避障程序:
    避障程序

    总结

    本项目成本不高,功能也不多,适合课程设计,练练手,熟悉一下做项目的流程,如何写文档等。小车的功能可以继续扩展,如自动循迹,实时测速等等。或者使用更加强大的芯片,如STM32系列的芯片,可以扩展的功能就可以很多

    本文最后附上几张小车实物图:
    小车1

    小车2

    小车3

    手机蓝牙终端控制App(app商城有很多,或者自己开发):
    手机蓝牙终端控制App

    另附
    小车的详细资料源码下载:https://pan.baidu.com/s/1kyYyLXyMrLQX8SMp5YrOZg (提取密码:twk7)

    展开全文
  • 超声波避障程序随处可见,基于51单片机的超声波避障小车也很成熟,但是完整的Proteus仿真并不容易找到开源资料。这次主要给大家分享其Proteus仿真部分。涉及到的模块有:超声波模块(hc-sr04)、L293D电机驱动器和...
  • 本程序配套基于51单片机的超声波避障小车(含Proteus仿真)博客,现分享给大家学习使用,如有错误,希望批评指正,多多指教。
  • AT89S51单片机的智能超声波避障小车.doc
  • stm32标准库两路超声波避障小车.rar
  • 超声波避障小车设计,基于单片机控制的超声波避障小车设计
  • 基于Arduino的超声波避障小车

    万次阅读 多人点赞 2019-03-17 12:03:41
    基于Arduino的超声波避障小车 利用超声波,判断前方是否有障碍物,如果有小车转向,没有小车直行 所需材料 小车车架及车轮(可以用sw建模然后利用3D打印机打印,也可以在网上直接购买小车地板,用纸板最廉价O...

    基于Arduino的超声波避障小车

    利用超声波,判断前方是否有障碍物,如果有小车转向,没有小车直行

    所需材料

    1. 小车车架及车轮(可以用sw建模然后利用3D打印机打印,也可以在网上直接购买小车地板,用纸板最廉价O(∩_∩)O哈哈~)
    2. Arduino开发板及扩展板
    3. 两个360度舵机(我是以舵机为驱动的,也可以用电机)
    4. 杜邦线若干
    5. 超声波模块
    6. 锂电池

    组装小车及模块调试

    舵机调试利用代码使舵机前传后传停止

    参考代码如下:

    #include <Servo.h>
    Servo servo;  //定义舵机
    void setup()
    {
      servo.attach(2);//舵机串口设为2
    }
    void loop()
    {
        servo.write( 360 );//舵机前转
        delay(1000);
        servo.write( -360 );//舵机后转
        delay(1000);
        servo.write( 90 );//舵机停止
        delay(1000);
    }
    

    超声波模块调试:

    int Ecoh=A6;//Ecoh为回声脚
    int Trig=A7;//Trig为触发脚
    int Distance; 
    void setup()
    {
      Serial.begin(9600);//初始化串口
      pinMode(Ecoh,INPUT);//定义超声波输入脚
      pinMode(Trig,OUTPUT);//定义超声波输出脚 
    }
    void loop()//距离测试
    {
        digitalWrite(Trig,LOW);//给触发脚低电平2微妙
        delayMicroseconds(2);
        digitalWrite(Trig,HIGH);//给触发脚高电平10微妙
        delayMicroseconds(10);
        digitalWrite(Trig,LOW);//给触发脚持续低电平
        float Fdistance=pulseIn(Ecoh,HIGH);//读取高电平时间
        Fdistance=Fdistance/58;//L(m)=t(s)*344/2
        Distance=Fdistance;
        if(Fdistance<400)
        {
          Serial.print("Distance:");//输出距离
          Serial.print(Fdistance);//距离
          Serial.print("cm\n");
        }
        else
          Serial.print("!!!out of range!!!\n");
           
    }
    

    小车避障代码.

    #include <Servo.h>
    Servo servo_pin_right;  //定义右驱动
    Servo servo_pin_left;  //定义左驱动
    int Ecoh=A6;//Ecoh为回声脚
    int Trig=A7;//Trig为触发脚
    int Distance; 
    void setup()
    {
      Serial.begin(9600);//初始化串口
      pinMode(Ecoh,INPUT);//定义超声波输入脚
      pinMode(Trig,OUTPUT);//定义超声波输出脚 
      servo_pin_right.attach(9);//右驱动串口设为9
      servo_pin_left.attach(10);//左驱动串口设为10 
    }
    //===========小车基本运动===============
    //void car_go(int time)//小车直行
    void car_go()
    {
      servo_pin_left.write( 360 );//左轮前进
      servo_pin_right.write( -360);//右轮前进
      //delay( 100*time );//执行时间
    }
    void car_left(int time)//小车左转
    {
      servo_pin_left.write( 90);//左轮后退
      servo_pin_right.write( -360 );//右轮前进
      delay( 100*time );//执行时间
    }
    void car_back(int time)//小车后退
    {
      servo_pin_left.write( -360 );//左轮后退
      servo_pin_right.write(360 );//右轮后退
      delay( 100*time );//执行时间
    }
    void car_right(int time)//小车右转
    {
      servo_pin_left.write( 360 );//左轮前进
      servo_pin_right.write( 90);//右轮后退
      delay( 100*time );//执行时间
    }
    void car_stop(int time)//小车停止
    {
      servo_pin_left.write( 90 );//左轮停止
      servo_pin_right.write(90 );//右轮停止
      delay( 100*time );//执行时间
    }
    void Distance_test()//距离测试
    {
        digitalWrite(Trig,LOW);//给触发脚低电平2微妙
        delayMicroseconds(2);
        digitalWrite(Trig,HIGH);//给触发脚高电平10微妙
        delayMicroseconds(10);
        digitalWrite(Trig,LOW);//给触发脚持续低电平
        float Fdistance=pulseIn(Ecoh,HIGH);//读取高电平时间
        Fdistance=Fdistance/58;//L(m)=t(s)*344/2
        Distance=Fdistance;
        if(Fdistance<400)
        {
          Serial.print("Distance:");//输出距离
          Serial.print(Fdistance);//距离
          Serial.print("cm\n");
        }
        else
          Serial.print("!!!out of range!!!\n");
           
    }
    void loop()
    {
      while(1)
      {
        Distance_test();
        if(Distance<24)
        {
          while(Distance<24)
          {   
            car_right(2);
            car_stop(1);
            Distance_test();
          }
        }
         else
      	  car_go();
      }
       
    }
    

    在这里插入图片描述

    展开全文
  • 基于AT89S51单片机的智能超声波避障小车.doc
  • 超声波避障小车.zip

    2019-10-02 19:34:29
    基于51单片机的超声波避障代码和资料,小车可以自动避障,走迷宫。确保代码直接可以使用,不会有错误。代码中的注释很清楚,具体的接线问题也有注明。
  • 基于80C51单片机电动智能超声波避障小车设计 论文.doc
  • 基于STC89C51单片机的智能超声波避障小车.doc
  • 基于STC89C52单片机的超声波避障小车设计.pdf
  • 自己写的简易版本的基于51单片机的超声波避障小车的工程文件,包含输出的.hex文件。如有写的不好的地方还请多多包涵。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,218
精华内容 487
关键字:

超声波避障小车