0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Arduino和超声波传感器避障小车制作方案

电子设计 来源:一板网 作者:风筝 2020-12-24 15:45 次阅读

避障小车是一种智能设备,可以自动感知前方的障碍物,并通过朝另一个方向转动来避开障碍物。该设计允许小车通过避免碰撞在未知环境中导航,这是任何自主移动小车的主要要求。避障小车的应用不受限制,现在大多数军事组织都使用它,这有助于执行许多士兵无法完成的危险工作。

在本篇文章中,我们将使用Arduino和超声波传感器制作一个避障小车。这里,超声波传感器用于通过计算机器人和障碍物之间的距离来感测路径中的障碍物。如果机器人发现任何障碍物,它会改变方向并继续移动。

超声波传感器如何用于避免障碍物

在制作之前,了解超声波传感器的工作原理非常重要,因为这种传感器在检测障碍物方面起着重要作用。超声波传感器工作的基本原理是记录传感器在撞击表面后传输超声波束和接收超声波束所需的时间。然后使用该公式计算距离。在本文中,使用了广泛使用的HC-SR04超声波传感器。

因此,HC-SR04的Trig引脚高至少10 us。声波束以8个40KHz的脉冲传输。

o4YBAF_kRkKAGuLxAABmemJvaWE848.png

然后信号撞击表面并返回并由HC-SR04的接收器Echo引脚捕获。 Echo引脚在发送高电平时为高电平。

光束返回所用的时间保存在变量中,并使用如下所示的适当计算转换为距离

距离=(时间x空气中声音的速度(343 m / s))/ 2

可轻松找到避免机器人的障碍物的组件。为了搭建底盘,可以使用任何玩具底盘或者可以定制。

需要的组件

● Arduino NANO或Uno开发板

● HC-SR04超声波传感器

● LM298N电机驱动器模块

● 5V直流电动机

● 电池

● 车轮

● 机壳

● 跳线

电路原理

避障小车的Arduino编程

在本文末尾处将给出了完整程序。该程序将包括设置HC-SR04模块并将信号输出到电机引脚以相应地移动电机方向。此项目中不会使用任何库。

首先在程序中定义HC-SR04的TRIG和ECHO引脚。在本文中,trig引脚连接到GPIO9,echo引脚连接到Arduino NANO的GPIO10。

int trigPin = 9; // trig pin of HC-SR04

int echoPin = 10; // Echo pin of HC-SR04

定义用于输入LM298N电机驱动器模块的引脚。 LM298N有4个数据输入引脚,用于控制连接到它的电机方向。

int revleft4 = 4; //REVerse motion of Left motor

int fwdleft5 = 5; //ForWarD motion of Left motor

int revright6 = 6; //REVerse motion of Right motor

int fwdright7 = 7; //ForWarD motion of Right motor

LM298N电机驱动器模块

在setup()函数中,定义使用的GPIO引脚的数据方向。四个电机引脚和Trig引脚设置为输出,Echo引脚设置为输入。

pinMode(revleft4, OUTPUT); // set Motor pins as output

pinMode(fwdleft5, OUTPUT);

pinMode(revright6, OUTPUT);

pinMode(fwdright7, OUTPUT);

pinMode(trigPin, OUTPUT); // set trig pin as output

pinMode(echoPin, INPUT); //set echo pin as input to capture reflected waves

在loop()函数中,从HC-SR04获取距离并根据距离移动电机方向。距离将显示机器人前方的物体距离。通过将超声波束发射至10 us并在10us后接收来获取距离。

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH); // send waves for 10 us

delayMicroseconds(10);

duration = pulseIn(echoPin, HIGH); // receive reflected waves

distance = duration / 58.2; // convert to distance

delay(10);

如果距离大于定义的距离意味着其路径中没有障碍物并且它将向前移动。

if (distance > 19)

{

digitalWrite(fwdright7, HIGH); // move forward

digitalWrite(revright6, LOW);

digitalWrite(fwdleft5, HIGH);

digitalWrite(revleft4, LOW);

}

如果距离小于规定的距离以避开障碍物意味着前方存在一些障碍物。因此,在这种情况下,机器人将停止一段时间并在此之后向后移动再次停止一段时间,然后转向另一个方向。

if (distance < 18)

{

digitalWrite(fwdright7, LOW);//Stop

digitalWrite(revright6, LOW);

digitalWrite(fwdleft5, LOW);

digitalWrite(revleft4, LOW);

delay(500);

digitalWrite(fwdright7, LOW); //movebackword

digitalWrite(revright6, HIGH);

digitalWrite(fwdleft5, LOW);

digitalWrite(revleft4, HIGH);

delay(500);

digitalWrite(fwdright7, LOW);//Stop

digitalWrite(revright6, LOW);

digitalWrite(fwdleft5, LOW);

digitalWrite(revleft4, LOW);

delay(100);

digitalWrite(fwdright7, HIGH);

digitalWrite(revright6, LOW);

digitalWrite(revleft4, LOW);

digitalWrite(fwdleft5, LOW);

delay(500);

}
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    28066

    浏览量

    205762
  • 超声波传感器

    关注

    18

    文章

    574

    浏览量

    35872
  • Arduino
    +关注

    关注

    187

    文章

    6456

    浏览量

    186468
收藏 人收藏

    评论

    相关推荐

    典型的超声波传感器及其应用领域

    超声波传感器是一种利用超声波信号进行检测和测量的传感器,广泛应用于工业、医疗、环境监测等领域。 一、超声波
    的头像 发表于 09-07 11:40 604次阅读

    超声波传感器是模拟还是数字

    超声波传感器是一种利用超声波信号进行距离测量、物体检测、流速测量等的传感器。它们广泛应用于工业自动化、机器人导航、汽车防撞系统、医疗诊断等领域。超声
    的头像 发表于 09-07 11:34 359次阅读

    超声波传感器输出的是什么信号

    超声波传感器是一种利用超声波进行距离测量、物体检测和流速测量的传感器。它通过发射超声波信号并接收反射回来的信号,根据时间差计算距离或速度。
    的头像 发表于 09-07 11:32 416次阅读

    第七章-V1.5 STM32超声波测距STM32F103C8t6超声波小车 超声波模块 STM32超声波测距

    5STM32超声波测距STM32F103C8t6超声波小车
    的头像 发表于 08-15 16:25 551次阅读
    第七章-V1.5 STM32<b class='flag-5'>超声波</b>测距STM32F103C8t6<b class='flag-5'>超声波</b><b class='flag-5'>避</b><b class='flag-5'>障</b><b class='flag-5'>小车</b> <b class='flag-5'>超声波</b><b class='flag-5'>避</b><b class='flag-5'>障</b>模块 STM32<b class='flag-5'>超声波</b>测距

    解读工业机器人常用的视觉传感器、激光传感器、红外传感器超声波传感器

      移动机器人需要通过传感器实时获取周围的障碍物信息,包括尺寸、形状和位置信息,来实现使用的
    的头像 发表于 06-19 17:06 1382次阅读
    解读工业机器人<b class='flag-5'>避</b><b class='flag-5'>障</b>常用的视觉<b class='flag-5'>传感器</b>、激光<b class='flag-5'>传感器</b>、红外<b class='flag-5'>传感器</b>、<b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>

    AGV小车使用雷达

    AGV(自动导引车)小车使用雷达是为了确保其在运行过程中的安全性和稳定性。雷达,如激光雷达或超声
    的头像 发表于 05-20 10:48 540次阅读

    超声波传感器中的保护膜的作用是什么?

    超声波传感器是一种利用超声波进行距离测量和物体检测的传感器,广泛应用于自动化控制、物位测量、机器人
    的头像 发表于 04-09 17:33 710次阅读

    超声波传感器的工作原理 超声波传感器声波频率是多少

    超声波传感器是一种常用的非接触式测距传感器,以其精确测量距离、高可靠性和广泛应用而受到广泛青睐。超声波传感器工作原理基于
    的头像 发表于 02-21 15:30 2070次阅读

    超声波液位传感器的工作原理 超声波液位传感器型号

    超声波液位传感器是一种常用于测量液体或固体物料高度的装置。其工作原理基于超声波传播和回波反射的原理,通过发送超声波脉冲并测量回波的时间来确定物体的距离。下面将详细介绍
    的头像 发表于 01-30 09:52 1473次阅读

    超声波传感器形成超声波的原理

    超声波传感器发射头是利用压电效应来实现产生超声波的,就是在发射头不断给出一定频率的如40KHz的电压信号,就可以产生超声波
    的头像 发表于 01-29 10:23 935次阅读

    超声波传感器超声波测距原理分析

    声音是由振动产生的,能够产生超声波的装置就是超声波传感器,习惯上称为超声换能器,或者超声探头。
    发表于 01-29 09:20 687次阅读
    <b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>和<b class='flag-5'>超声波</b>测距原理分析

    超声波传感器的硬件组成及类型

    超声波传感器的硬件组成如图所示。超声波发送电路由晶体管,电阻,T/R40-16 压电陶瓷超声波传感器和变压
    发表于 01-22 17:31 1718次阅读
    <b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>的硬件组成及类型

    超声波传感器的工作原理 超声波传感器的应用

    超声波传感器是一种基于超声波的无接触式测距传感器,可以广泛应用于工业、医疗、军事等领域。本文将详细介绍超声波
    的头像 发表于 01-18 14:04 1453次阅读

    超声波传感器声波频率是多少

    超声波传感器一般使用40kHz左右。超声波传感器是一种常用的非接触测距装置,利用超声波的传播速度测量目标物体与
    的头像 发表于 01-16 09:47 1480次阅读

    什么是超声波传感器?光学与超声波传感器的对比

    传感器头发射超声波,并再次通过传感器头接收目标物反射回来的超声波超声波传感器可通过测量从发
    发表于 11-06 17:41 1024次阅读
    什么是<b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>?光学与<b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>的对比