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

避障小车是一种智能设备,可以自动感知前方的障碍物,并通过朝另一个方向转动来避开障碍物。该设计允许小车通过避免碰撞在未知环境中导航,这是任何自主移动小车的主要要求。避障小车的应用不受限制,现在大多数军事组织都使用它,这有助于执行许多士兵无法完成的危险工作。
在本篇文章中,我们将使用arduino和超声波传感器制作一个避障小车。这里,超声波传感器用于通过计算机器人和障碍物之间的距离来感测路径中的障碍物。如果机器人发现任何障碍物,它会改变方向并继续移动。
超声波传感器如何用于避免障碍物
在制作之前,了解超声波传感器的工作原理非常重要,因为这种传感器在检测障碍物方面起着重要作用。超声波传感器工作的基本原理是记录传感器在撞击表面后传输超声波束和接收超声波束所需的时间。然后使用该公式计算距离。在本文中,使用了广泛使用的hc-sr04超声波传感器。
因此,hc-sr04的trig引脚高至少10 us。声波束以8个40khz的脉冲传输。
然后信号撞击表面并返回并由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);
}


影响电机电流不平衡的原因有哪些
NG-PON发展,共存是王道
如何制作基于arduino的微型CNC绘图仪机器
便携式即热水机上线,机身采用可伸缩壶嘴专利技术
智慧戒指应用再度兴起:功能更强大
基于Arduino和超声波传感器避障小车制作方案
红米Note9:搭载天玑800U处理器
上海推动“5G+工业互联网”进程
应该如何维护和保养连接器
Harwin推出了圆形传感器连接器Vivern系列产品可适合于高性能汽车
负氧离子检测仪是如何工作的
怎样将树莓派变成无线便携式蓝牙音频系统
马斯克承诺将通过增强语音调整Model 3的控制和功能
古瑞瓦特“光伏巡检进万家”活动盛大开启!
RS232串行通信协议的相关说明
煲仔饭机器人助力抗疫 可无接触全天候供应
智慧工厂谁来做脏活累活
红米Note4x高配版怎么样?看了红米Note4x和红米note4颜值、配置、性能、拍照、续航的不同你就知道
单片机的基本原理及内部构成
“量子点”视觉很玄幻?原来它和你如此贴近