arduino的蓝牙智能车的设计
【摘 要】本设计采用Arduino UNO为核心,通过APPinventor软件开发小车控制的APP,利用安卓手机自带的蓝牙发送控制信号,智能小车上的HC-06蓝牙模块接收智能手机发出的控制信号,控制小车进入自动运行和手动运行模式。自动运行模式实现智能小车进行透过超声波来智能避障自动行驶的功能;手动运行模式实现手动控制智能小车进行前进、后退、左转、右转和停止动作。利用L293D芯片驱动直流电机,实现小车前进、后退、左转、右转和停止的需求;利用SG90舵机来180度旋转HC-SR04超声波模块,来进行避障操作,整个系统的电路模块化高,结构简单,可靠性能高。
目录
一、绪论 1
(一)选题背景 1
(二)选题意义 1
二、系统总体设计方案 2
(一)系统总体框图 2
(二)主要功能分析 2
三、系统硬件设计 4
(一)主控系统设计 4
1、Arduino单片机简介 4
2、扩展板功能 5
(二)电机驱动电路设计 7
(三)超声波避障模块电路设计 7
(四)蓝牙HC06 8
(五)舵机 9
(六)电源模块(缺降压电源电路) 10
四、软件系统设计 11
(一)Arduino程序设计 11
1、Arduino主程序设计思想 11
2、Arduino避障程序设计思想 12
(二)安卓手机端程序设计 13
1、AI2编程软件简介 13
2、“登陆MyCar”界面设计 13
3、“控制MyCar”界面设计 14
4、关键程序说明 16
五、智能小车的制作及功能演示 19
(一)智能小车的搭建 19
(二)智能小车的程序烧录 21
(二)实物调试 22
1、手机APP的安装与登陆 22
2、手机APP与智能小车的蓝牙连接 24
3、实验及结果分析 24
五、结论 25
致谢 26
参考文献 27 *好棒文|www.hbsrm.com +Q: ¥351916072¥
附录1:电路原理图 28
附录2:智能车Arduino端下位机程序 29
附录3:智能车手机端程序 35
一、绪论
(一)选题背景
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。随着科技的进步,互联网的发展,现代汽车已由车联网时代已经进入了智慧汽车时代。2016年3月31日,百度发布了智慧汽车战略实现,实现“车—桩—电网—人—交通路网—通信网—服务平台”之间深度互联互通,最终实现“车联网—智慧汽车—无人车”的演进。由此可见,智能汽车的研究意义巨大。
本课题设计一种能利用超声波来智能避障自动行驶及手机蓝牙控制的智能车。本设计采用Arduino UNO为核心,可以通过蓝牙模块与手机App的连接,从而对小车实施控制。手机App的界面上有两个选项:一个是手动遥控,一个是自动避障。点击“手动遥控”按钮,可以通过手机上的“前”、“后”、“左”、“右”、“停”等5个按钮可以使小车进行移动。点击“自动避障”,小车可以进行自主的移动,并且能够通过小车上的超声波装置来判断前方是否存在障碍物。
(二)选题意义
本课题基于Arduino开发平台和安卓手机的蓝牙控制智能小车设计。借助于蓝牙串口通信,设计和实现了一种无线遥控小车新的解决方案。以Arduino开发平台、蓝牙模块、电机驱动模块、超声波避障模块等部件构成小车的硬件电路,手机App采用APPinventor2软件编写,实现手机自带的蓝牙与Arduino单片机上的蓝牙进行串口通信,使Arduino单片机通过控制电机驱动模块实现小车电机的正反转,从而控制小车前进、后退、左转、右转、停止等基本运动功能。实验结果表明,小车可以接收手机蓝牙信号并灵活地进行前行、倒退、左转、右转和停止等功能,并利用超声波传感器进行避障。
二、系统总体设计方案
(一)系统总体框图
本智能小车的硬件电路主要由Arduino 单片机、L293D电机驱动模块、舵机模块、HCSR04超声波模块、HC06蓝牙模块、两个直流电动机、两个车轮、一个万向轮、电源模块及车身等部件组成。以Arduino单片机为核心,利用安卓手机蓝牙控制小车进入自动运行和手动运行模式。自动模式下,小车通过超声波测试前方距离,当遇到障碍物时,能使超声波模块左右摆头检测左右两方距离后转弯来实现超声波的避障功能;手动模式下,可实现手动点击“前”、“后”、“左”、“右”、“停”等5个按钮来控制小车的前进、后退、左转、右转和停止动作。
硬件框图如图2.1所示。
/
图2.1 硬件系统框图
(二)主要功能分析
1、自动模式
当手机APP点击“自动模式”,小车进行自行避障行驶模式。电机驱动模块采用L293D芯片,驱动两个直流电机的运转,控制直流电机正反转,实现小车前进、后退、左转、右转和停止的需求。将HCSR04超声波传感器安置在车身的最前端,利用SG90舵机来180度旋转超声波模块,用于探测前方是否有障碍物。假如前方障碍物距离小于25公分,则探测左、右两方障碍物距离。如果左方距离大于右方距离,向左走;如果左方距离小于右方距离,向右走从;假如左边距离和前方距离和右边距离皆小于15公分,向后走。从而实现整个小车的避障功能。
2、手动模式
当手机App点击“手动模式”,通过“前”、“后”、“左”、“右”、“停”等5个按钮来控制小车的前进后退、左右转弯以及停止的控制。
三、系统硬件设计
(一)主控系统设计
1、Arduino单片机简介
Arduino一个开源的电子开发平台,在2005年由意大利的一个团队所开发。它包含两个主要的部分:硬件部分是各种型号的Arduino板,软件部分是Arduino IDE程序开发环境。?其宗旨是希望非电子专业的人都可以轻易实现程序开发与硬件使用,它封装了很多函数和大量的传感器函数库,初学者很容易就能学会使用Arduino编程环境,同时它又能为高级用户提供足够多的高级应用。Arduino基于AVR平台,对AVR库进行了二次编译封装,把端口都打包好了,寄存器、地址指针之类的基本不用管,降低了程序开发的难度,即使是没有编程基础的人也能很快上手,特别适合老师,学生和一些业余爱好者们使用。
目前Arduino已推出很多不同的型号。我选用的是流行最广泛的Arduino Uno R3开发板,它采用Atmel Atmega328微处理控制器, 提供USB供电及下载接口,提供多达14个接口的数字接口,数字接口中有6个PWM接口可用来控制马达和模拟信号,直接内置6组模拟信号。Arduino Uno R3的实物图和原理图如图3.1,3.2所示。国产Arduino Uno R3开发板相对于51单片开发板便宜很多,只需要几十元即可购买,相比采用Atmel Atmega328及其他一些外围电路自己搭建最小系统又省了很多事,性能上也更可靠。
/
图3.1 Arduino Uno R3外形
目录
一、绪论 1
(一)选题背景 1
(二)选题意义 1
二、系统总体设计方案 2
(一)系统总体框图 2
(二)主要功能分析 2
三、系统硬件设计 4
(一)主控系统设计 4
1、Arduino单片机简介 4
2、扩展板功能 5
(二)电机驱动电路设计 7
(三)超声波避障模块电路设计 7
(四)蓝牙HC06 8
(五)舵机 9
(六)电源模块(缺降压电源电路) 10
四、软件系统设计 11
(一)Arduino程序设计 11
1、Arduino主程序设计思想 11
2、Arduino避障程序设计思想 12
(二)安卓手机端程序设计 13
1、AI2编程软件简介 13
2、“登陆MyCar”界面设计 13
3、“控制MyCar”界面设计 14
4、关键程序说明 16
五、智能小车的制作及功能演示 19
(一)智能小车的搭建 19
(二)智能小车的程序烧录 21
(二)实物调试 22
1、手机APP的安装与登陆 22
2、手机APP与智能小车的蓝牙连接 24
3、实验及结果分析 24
五、结论 25
致谢 26
参考文献 27 *好棒文|www.hbsrm.com +Q: ¥351916072¥
附录1:电路原理图 28
附录2:智能车Arduino端下位机程序 29
附录3:智能车手机端程序 35
一、绪论
(一)选题背景
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。随着科技的进步,互联网的发展,现代汽车已由车联网时代已经进入了智慧汽车时代。2016年3月31日,百度发布了智慧汽车战略实现,实现“车—桩—电网—人—交通路网—通信网—服务平台”之间深度互联互通,最终实现“车联网—智慧汽车—无人车”的演进。由此可见,智能汽车的研究意义巨大。
本课题设计一种能利用超声波来智能避障自动行驶及手机蓝牙控制的智能车。本设计采用Arduino UNO为核心,可以通过蓝牙模块与手机App的连接,从而对小车实施控制。手机App的界面上有两个选项:一个是手动遥控,一个是自动避障。点击“手动遥控”按钮,可以通过手机上的“前”、“后”、“左”、“右”、“停”等5个按钮可以使小车进行移动。点击“自动避障”,小车可以进行自主的移动,并且能够通过小车上的超声波装置来判断前方是否存在障碍物。
(二)选题意义
本课题基于Arduino开发平台和安卓手机的蓝牙控制智能小车设计。借助于蓝牙串口通信,设计和实现了一种无线遥控小车新的解决方案。以Arduino开发平台、蓝牙模块、电机驱动模块、超声波避障模块等部件构成小车的硬件电路,手机App采用APPinventor2软件编写,实现手机自带的蓝牙与Arduino单片机上的蓝牙进行串口通信,使Arduino单片机通过控制电机驱动模块实现小车电机的正反转,从而控制小车前进、后退、左转、右转、停止等基本运动功能。实验结果表明,小车可以接收手机蓝牙信号并灵活地进行前行、倒退、左转、右转和停止等功能,并利用超声波传感器进行避障。
二、系统总体设计方案
(一)系统总体框图
本智能小车的硬件电路主要由Arduino 单片机、L293D电机驱动模块、舵机模块、HCSR04超声波模块、HC06蓝牙模块、两个直流电动机、两个车轮、一个万向轮、电源模块及车身等部件组成。以Arduino单片机为核心,利用安卓手机蓝牙控制小车进入自动运行和手动运行模式。自动模式下,小车通过超声波测试前方距离,当遇到障碍物时,能使超声波模块左右摆头检测左右两方距离后转弯来实现超声波的避障功能;手动模式下,可实现手动点击“前”、“后”、“左”、“右”、“停”等5个按钮来控制小车的前进、后退、左转、右转和停止动作。
硬件框图如图2.1所示。
/
图2.1 硬件系统框图
(二)主要功能分析
1、自动模式
当手机APP点击“自动模式”,小车进行自行避障行驶模式。电机驱动模块采用L293D芯片,驱动两个直流电机的运转,控制直流电机正反转,实现小车前进、后退、左转、右转和停止的需求。将HCSR04超声波传感器安置在车身的最前端,利用SG90舵机来180度旋转超声波模块,用于探测前方是否有障碍物。假如前方障碍物距离小于25公分,则探测左、右两方障碍物距离。如果左方距离大于右方距离,向左走;如果左方距离小于右方距离,向右走从;假如左边距离和前方距离和右边距离皆小于15公分,向后走。从而实现整个小车的避障功能。
2、手动模式
当手机App点击“手动模式”,通过“前”、“后”、“左”、“右”、“停”等5个按钮来控制小车的前进后退、左右转弯以及停止的控制。
三、系统硬件设计
(一)主控系统设计
1、Arduino单片机简介
Arduino一个开源的电子开发平台,在2005年由意大利的一个团队所开发。它包含两个主要的部分:硬件部分是各种型号的Arduino板,软件部分是Arduino IDE程序开发环境。?其宗旨是希望非电子专业的人都可以轻易实现程序开发与硬件使用,它封装了很多函数和大量的传感器函数库,初学者很容易就能学会使用Arduino编程环境,同时它又能为高级用户提供足够多的高级应用。Arduino基于AVR平台,对AVR库进行了二次编译封装,把端口都打包好了,寄存器、地址指针之类的基本不用管,降低了程序开发的难度,即使是没有编程基础的人也能很快上手,特别适合老师,学生和一些业余爱好者们使用。
目前Arduino已推出很多不同的型号。我选用的是流行最广泛的Arduino Uno R3开发板,它采用Atmel Atmega328微处理控制器, 提供USB供电及下载接口,提供多达14个接口的数字接口,数字接口中有6个PWM接口可用来控制马达和模拟信号,直接内置6组模拟信号。Arduino Uno R3的实物图和原理图如图3.1,3.2所示。国产Arduino Uno R3开发板相对于51单片开发板便宜很多,只需要几十元即可购买,相比采用Atmel Atmega328及其他一些外围电路自己搭建最小系统又省了很多事,性能上也更可靠。
/
图3.1 Arduino Uno R3外形
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/1380.html