基于Arduino的智能遥控小车设计_第1页
基于Arduino的智能遥控小车设计_第2页
基于Arduino的智能遥控小车设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业基于Arduino的智能遥控小车设计作者:花勇岳春来源:山东工业技术2016年第19期摘 要:智能遥控小车作为运输机器人研究的一个重要组成部分,在货物的搬运分拣中被广泛的使用。本次设计以Arduino为控制单元,通过蓝牙模块发出控制指令,结合L298N电机驱动芯片、红外光电传感器模块、超声波发射与接收模块等构成外围扩展电路,实现了智能小车的自动避障、自动循迹等功能。对智能小车的控制与开发进行了有效的尝试,具有一定的参考价值。关键词:Arduino; 智能遥控;避障;循迹

2、DOI:10.16640/ki.37-1222/t.2016.19.0840 引言Arduino作为一款全球知名的开源硬件,全球有数以万计的开发者使用Arduino开发项目和电子产品1。利用Arduino开发的遥控智能小车具有体积小、成本低、可在多种设备上远程控制等特点。其在饲料生产企业的袋包码垛仓储、化肥厂颗粒粉体袋包码垛,印刷制品运输以及物流企业中的货物的搬运分拣中被广泛使用。本文以Arduino UNO开发板作为控制单元,手机端传递控制指令给蓝牙穿透模块,通过超声波模块,红外线循迹模块采集的信息配合控制程序实现一种具有无线遥控、避障、自动循迹等多功能智能小车。1 设计思路和方案1.1 系

3、统组成智能遥控小车控制系统硬件由Arduino UNO开发板、HC05蓝牙穿透模块,超声波传感器、红外循迹传感器和直流电机及驱动电路组成2。1.2 智能小车设计方案基于Arduino的智能小车通过无线串口实现对小车的无线遥控,通过相应的传感器和控制程序能够实现以下功能:(1)利用蓝牙使小车可以远程控制小车运行方向和速度。(2)利用超声波传感器探测前方的障碍物,从而实现自动避障的功能。(3)利用红外循迹传感器探测下方的轨迹线,从而实现自动循迹的功能。(4)安装蜂鸣器和三色LED灯,实现报警和功能指示的作用。2 智能遥控小车控制程序设计智能遥控小车程序编写采用了模块化的结构设计方法。小车Ardui

4、no程序的基本结构由setup()、loop()、LEDBlin()、bizhang()和Line()五个函数构成。Arduino通电后Setup()函数中的程序只执行一次,用于Arduino的初始化设置,如I/O口的初始化操作和速度状态的定义。Loop()函数完成程序的主要功能和子程序的调用,如小车的蓝牙遥控、自动避障和循迹等函数的调用。LEDBlin()函数用来定义WS2812B RGB三色LED闪烁和蜂鸣器发声,bizhang()函数实现小车的自动避障功能,Line()函数实现小车的循迹功能,而yaokong()函数实现小车的手动遥控功能,通过手机客户端的SPP蓝牙串口软件,在名称文本框

5、内输入要传送的字符,如字符A、B、C用来设置小车运动的工作模式(手动遥控、自动避障、循迹运行)。字符R1、R2、R3用来设置小车的移动速度,、分别用来控制小车的前进、后退、左转、和右转。2.1 手动遥控避障程序主要由主函数Loop()和电机L298N驱动函数来实现。首先在函数Loop()中通过函数BT_COM()读取蓝牙串口的数据3,通过switch()多选择分支函数比对接收字符对应的电机驱动函数,如符号“”则调用Forward()函数小车前进,符号“”调用Backup()函数小车后退,“”调用Turnright()函数小车右转,“”调用Turnleft()函数小车左转,实现小车通过无线蓝牙的

6、遥控控制。2.2 避障代码避障程序主要由超声波测距函数Distance(),电机L298N驱动函数和避障模式函数BiZhang()等构成4。首先在主程序中选择自动避障模式B,则调用测距模块函数Distance()通过Triq引脚输送一个大于10us的高电平,然后检测Echo引脚反馈回来的高电平持续时间,通过公式:距离=344m/s*高电/2将时间转换成距离。然后再调用BiZhang()函数来判断检测的距离:如果在20mm40mm小车直行,us2.3 循迹代码循迹程序主要由循迹函数Line()和电机L298N驱动函数等构成。首先在主程序中选择自动避障模式C,当Line()函数返回值为0时表示小车

7、没有在轨迹上,小车调用电机控制函数Forward()控制电机继续前进,当Line()函数返回值为1时表示小车在轨迹的右侧,小车调用电机控制函数Turnright()函数控制电机右转,同理当Line()函数返回值为2时,小车调用电机控制函数Turnleft()函数控制电机左转,当Line()函数返回值为3时表示小车在轨迹中间,小车调用电机控制函数Forward()控制电机继续前进。2.4 实验研究经实验测试小车成功地实现了无线蓝牙遥控功能,能够实现三种控制模式的切换。在前方遇到障碍物时能够自动的避障,轻松的避开障碍物,达到了预定的目标,效果如图1所示。3 小 结借助Arduino资源丰富的开源硬件平台和高效率的Arduino类库函数实现了对智能遥控小车控制系统的设计。实验结果表明小车能够很好地实现自动的避障和循迹的功能,通过HC-05蓝牙模块还可以方便地实现无线遥控和控制模式的切换。基于Arduino智能小车的控制系统的研究将有助于把Arduino引入到智能产品的设计当中去,具有一定的实用价值,为后续开发工业智能货物运输机器人进行了一次有效的尝试。参考文献:1陈吕洲.Arduino程序设计基础M.北京:北京航空航天大学出版社,2015.2宋楠,韩广义.Arduino开发从零开始学:学电子的都玩这个M.北京:清华大学出版社,2009.3聂茹

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论