第4期 微处理机 No.4 2015年8月 MICR0PROCESS0RS Aug.,2015 基于Arduino开发板的智能小车设计 聂 茹 ,严 明 (1.华南理工大学广州学院,广州510800; 2.沈阳军区65042部队,沈阳110035) 摘 要:随着科技发展,芯片技术已经越来越与人们的生活紧密联系,它给人们的生活带来了 不少的便利,不管是智能手机还是相机和电脑,都离不开芯片技术的发展与进步。Arduino成本低 廉,开发简单方便,而且功能强大,可以非常方便的连接各种传感器,是一款便捷灵活、方便上手的 开源电子原型平台,包含硬件(各种型号的开发板)和软件(arduino IDE)。这里使用Arduino开发 平台,充分利用其各种便利特性设计了一款智能小车,这款智能小车可以利用传感器自动采集环境 数据从而按照程序自动运行,具有宽广潜力和应用价值。 关键词:Arduino开发板;智能小车;芯片 DOI编码:10.3969/j.issn.1002—2279.2015.04.023 中图分类号:TN91 文献标识码:A 文章编号:1002—2279(2015)04—0089—03 Design of Intelligent Car Based on Arduino Development Board Nie Ru ,Yan Ming。 (1.Guangzhou College ofSouth China University fo Technology,Guangzhou 510800,China; 2.The Army 65042,Shenyang Military Region,Shenyang 1 10035,China) Abstract:As the development of science and technology,the microchip technology provides more convenient for our life and becomes closer to us,not only the telephone but computers and digital cameras cant work without the mierochip development.Arduino,cheap and easy to develop with high perform— ance,can be easily connected to kinds of sensors.It is really an open—source digital platform including hardware and software(arduino IDE).Now,the arduino board is used to develop an intelligent car which can automatically acquire the environmental date by sensors and runs as per the program.So,it has good potential and wide application. Key words:Arduino development board;Intelligent car;Microchip 1 引 言 开发简单,操作方便,硬件电路成本低廉,非常适于 开发和设计,用它可以方便的完成各种以前需要复 信息化时代,计算机技术和芯片技术的进步,各 杂步骤的功能,它就是Arduino开发平台,是一个开 种科技产品,其中不管是电脑,电视,空调,手机还是 源平台,适合没有基础的学生学习和使用。Arduino 相机,都离不开芯片技术的发展和进步。芯片从很 是一块基于开放源代码的USB接口Simple I/O接 早的六七十年代简单的单片机,到现在先进的处理 口板(包括12通道数字GPIO,4通道PWM输出, 器,已经变得越来越强大。现在51单片机早已为人 6一&通道lObit ADC输入通道),该系统的硬件主要 们所熟知,学习电子专业的大学生们基本上51单片 由Arduino UNO主控板、Arduino Xbee传感器扩展 机都是他们的必修课。但是随着人们的要求越来越 板、蓝牙串口模块和数字温度传感器组成…。基于 高,对芯片的性能要求也不断提高,51单片机陈旧 Arduino开发板设计的智能小车,具有以下功能:寻 的结构和落后的性能已经越来越不能满足人们对知 线功能,也就是会跟着地上的黑线来走;其次是红外 识的渴望,所以一种崭新的硬件平台应运而生。‘其 避障功能,利用红外传感器来感知外界环境从而避 作者简介:聂茹(1982一),女,江西人,硕士研究生,讲师,主研方向:智能控制。 收稿日期:2014—10—08 ・90・ 微处理机 2015正 开障碍;超声波测距功能,利用超声波传感器来测量 距离;使用BS18B20温度传感器测量温度的功能和 用红外遥控器进行小车控制。 红外接收管构成。工作原理是:传感器发射红外线, 根据反射红外光探测前方障碍物,无障碍物时输出 高电平,有障碍时输出低电平。这样看来其实这个 传感器的原理和之前的寻线传感器是差不多的,因 此可以如法炮制,先将传感器装在小车的前端来感 2 基于Arduino开发板的智能小车控制系统 硬件设计 2.1智能小车控制系统整体设计 2.1.1 寻线功能的实现 受环境变化,在这里一样使用三个传感器,分别放在 正前方,左前方,右前方。这里情况会比前面的寻线 功能要稍微复杂一点,因为寻线只有一条,但是这里 小车想要完成寻线功能,希望它能够跟着黑线 走,那么它首先也要能够“看见”那些黑线,因此需 有可能是只有一个传感器被遮挡,也有可能有两个 传感器被遮挡,也有可能是三个传感器都被遮挡,因 此就需要把这几种情况都要考虑进去。 2.1.3超声波测距功能的实现 对于超声波测距功能,使用的是HC—SR04,它 是最常见的超声波传感器之一,价格便宜,好用。超 声波的发射和接收采用HC—SR04模块,模块包括 要用到传感器。传感器,简单的说就是一种检测装 置,能够感受到被测量的信息,并将检测到的信息, 按一定规律变换成为电信号或者是其他所需形式的 信息输出,以满足信息的传输,处理,存储,显示,记 录,控制等要求。这里选择一个红外巡线传感器,而 这个红外传感器就将充当智能小车的眼睛来检测黑 线。红外巡线传感器模块的原理是利用红外对管检 测自己发出的红外线反射光(深色反射弱,浅色反 射强)。寻线传感器可以帮助机器人进行白线或者 黑线跟踪,可以检测白底中的黑线,也可以检测黑底 中的白线,检测到黑线返回低电平。 超声波发射器、接收器和控制电路引。超声波的原 理是非常简单的,想要在Arduino平台中实现也是 一件非常方便的事情,不过因为要显示到电脑上,所 以别忘了串口的波特率设置。 2.1.4温度传感功能的实现 温度传感功能,在这里选用的是DS18B20数字 温度传感器。DS18B20是美国DALLAS半导体公司 继DS1820之后最新推出的一种改进型智能温度传 感器 J,DS18B20具有测温系统简单、测温精度高、 设计的小车采用前置驱动,由两个电机分别控 制左右两个前轮,后面是个万向轮,可以自由转动。 当确定了小车模型之后,如果小车的两个前轮同时 以相同的速度向前转的话那么小车就往前走。当小 车右轮向前转左轮不动那么小车就会向左转,同理 小车左轮向前转右轮不动那么小车就向右转,两个 轮子同时以相同的速度向后转那么小车就会倒车。 连接方便、占用接口线少等优点 。从主机CPU到 DS1820仅需一条线(和地线),DS1820的电源可以由 数据线提供而不需要外部电源。因为每一个 DS1820在出厂时已经给定了唯一的序号,因此任意 多个DS1820可以连接在同一条单线总线上。 DS1820的测量范围从一55℃到+125℃增量值为 接下来就是由传感器控制小车运行了,在这里设置 三个寻线传感器,三个传感器也就有三种情况,分别 是每个传感器遇到黑线而两外两个没有遇到黑线时 0.5 ̄C,可在ls(典型值)内把温度变换成数字。简 的三种情况。中间一个用于检测黑线,当中间的一 单的理解DS18B20测温原理就是芯片把感知到的 个检测到黑线时就返回低电平,此时小车直走;当黑 温度换成数值放在数据寄存器里面,要想得到寄存 线向左边转弯,此时小车若直走则左边的传感器则 器里面的数据,只有按照DALLAS规定的一种时序 才能正确传出数据,这种时序被称为单总线,CPU 会检测到黑线,此时返回低电平,此时就要右轮转, 左轮停,小车就会向左转弯;当转过弯后左边的传感 器已经检测不到黑线,中间的又能检测到黑线了,那 么就继续向前直走。同理,当黑线向右转弯时右边 的传感器也会检测到黑线,返回低电平,此时小车左 轮转,右轮停止,那么小车就会像右转,直到中间的 传感器检测到黑线为止。 2.1.2避障功能的实现 就可通过单总线协议,取得DS18B20里面的温度 值。 2.1.5红外控制功能的实现 为了实现红外控制功能,所选择的是38K红外 接收模块,并且还带有一个小遥控器以方便控制。 这里要实现的目标是对小车行走进行控制,也就是 控制小车前进,后退,左转,右转。前面的寻线也好, 红外避障也好,都提供了一个对小车行走的控制函 里选用红外避障传感器,由一个红外发射管和一个 数,在这里进行调用就好了,这不是问题。限于红外 至于小车的避障功能,首先要选用传感器,在这 4期 聂茹等:基于Arduino开发板的智能小车设计 ・91・ 发射的本质,也就是红外线本身的限制,所以在控制 3.2红外遥控程序设计 范围上是有限制的,就好比家里的电视遥控器,必须 红外模块,因为配备了一个遥控器,所以先读取 对准了才能遥控,所以把红外接收头装在小车后面, 出每个遥控中按钮的值,然后将每个按钮的值记录 在后面进行控制。 下来,将每个值作为一个操作命令。当遥控器中的 2.2智能小车系统结构框图 某个按钮按下时,就会发射出那个对应的值,然后当 图1是小车被三个传感器控制的运行状态,另 红外接收头接收到信号时,处理器就会读取到那个 外还有两个传感器的结果是要输出到电脑用专用软 值并按照程序做出相应的反应,图4是红外控制逻 件的监视窗口去进行监视的,如图2所示。 辑框图。 l 墨 垒塑室 垦垫塑 I [堑匿墅亟圈 堡墨 焦呈 堂当担 堡 I 皇 I 图4红外遥控图 图1小车控制框图 Fig.4 Infrared remote control chart Fig.1 Control car block diagram 4结束语 对基于Arduino开发板的智能小车系统的硬件 和软件进行设计,实现了小车的自动循迹、避障、超 声波测距等功能,在设计中软件采用模块化设计思 想。实验结果表明,利用传感器自动采集环境数据 从而按照程序自动运行。设计的智能小车操作简 图2小车控制框图 单,稳定可靠,该系统具有宽广潜力和应用价值。 Fig.2 Control ear blcok diagram 参考文献: [1]郑昊,钟志峰,郭昊.基于Arduino/Android的蓝牙通信 3基于Arduino开发板的智能小车控制系统 系统设计[J].物联网技术,2012,(5):50—51. 软件设计 Zheng Hao,ZHONG Zhifeng,GUO Hao.Design of Blue- tooth communication system based on Arduino/Android 3.1超声波传感器程序设计 [J].Internet of Things Technologies,2012(5):50—51. 超声波传感器测距是通过先发射超声波然后检 [2]苏琳.基于HC—SR04的超声波测距器的设计[J].科 测传回的超声波所耗费的时间从而计算距离,图3 技信息,2012(9):124—125. 是其流程图。 SU Lin.Design of ultrasonic range finder based on HC— SR04[J].Science&Technology Information,2012(9): 124—125. [3] 赵海兰.智能温度传感器DS18B20[J].电子世界, 2003(7):46—47. ZHAO Hailan.Intelligent temperature ̄Bn¥or DS18B20 [J].Electronics World,2003(7):46—47. [4] 高云红.数字温度传感器在多点温度测量系统中的应 用[J].沈阳航空工业学院学报,2006,23(2):61—63. GAO Yunhong.Application of digital temperature sensor in multi—point temperature measurement system[J]. 图3超声波测距图 Journal of Shenyang Institute of Aeronautical Engineering, Fig.3 Ultrasonic ranging chart 2006,23(2):61—63.