Andriod手机APP蓝牙控制智能车解决方案

2017-03-31 01:23杨英明
单片机与嵌入式系统应用 2017年3期
关键词:安卓蓝牙串口

杨英明

(辽宁轨道交通职业学院 电气工程系, 沈阳 110023)

Andriod手机APP蓝牙控制智能车解决方案

杨英明

(辽宁轨道交通职业学院 电气工程系, 沈阳 110023)

在智能车遥控传统解决方案中,通常采用超再生遥控或者红外遥控的方案,而随着Andriod智能终端的普及,智能终端的短距离无线通信技术——蓝牙通信以及可以感知手机方位的方向传感器,结合单片机系统、蓝牙模块和电机驱动模块,实现基于Andriod手机APP的蓝牙控制智能车。这样每部安卓手机都成为了一部遥控器,经过多品牌和多版本手机的测试,系统都能很好地运行,同时本设计为智能机器人和智能家居提供一种新的思路。

Andriod手机;APP;蓝牙;智能车

引 言

目前,智能手机在全世界已广泛使用,在其手机内部提供了包括加速度传感器、重力传感器、磁场传感器、陀螺仪等10余种传感器,并通过其本身自带的短距离通信功能——蓝牙,加上安卓系统的开源特性,可以让手机成为目前智能机器人和家具电器的遥控器。本文设计了基于Andriod手机APP的蓝牙控制智能车,通过手机APP发送事先规定好的数据指令,让蓝牙模块接收到,再传送给智能小车,小车对指令进行判断,根据判断的结果进行动作。

本文设计思路如图1所示。

图1 手机APP蓝牙遥控设计思路

1 系统方案设计

本设计中采用51单片机作为控制核心,控制4路电机和4路车灯,并作为蓝牙通信的解码芯片,对手机通过蓝牙发送的控制指令进行解码,从而实现对智能小车的控制。所以,系统方案分为硬件电路和系统软件两部分。系统方案设计框图如图2所示。

图2 系统方案设计框图

2 硬件电路设计

系统硬件一共分为4个模块:电源模块、单片机最小系统、电机驱动模块、蓝牙模块。

2.1 电源模块

本设计采用两路供电方式,分别为控制电和动力电。控制电为控制板上单片机和所有传感器进行供电,供电电压为5 V,保证单片机及传感器正常工作;动力电主要为电机驱动模块进行供电,供电电压为7.4 V。

在控制电中,本设计采用两节18650锂电池,可以输出7.4 V,电压经过7805稳压得到5 V电压,满足整个控制板的供电需求。在动力电中,直接输出两节18650锂电池的电压,满足驱动电机对电压的需求。这样,动力电和控制电之间不会相互干扰,且满足系统对电源的需求。

2.2 单片机最小系统

最小系统部分包括时钟电路、电源电路和复位电路。由于本设计使用的蓝牙模块出厂默认参数的通信波特率是9 600 b/s,所以要选择11.059 2 MHz的晶振,设置计数器初值为TH1=0xFD和TL1=0xFD,这样下位机的波特率也是9 600 b/s。

2.3 电机驱动模块

本设计中采用了L9110H作为电机驱动芯片的方式,L9110输入电压为2.5~12 V ,每通道最大输出电流可以达到800 mA,可以满足4路电机的驱动。

2.4 蓝牙模块

HC-06蓝牙透传模块可以让原来使用串口的设备摆脱线缆的束缚,在10 m范围内实现无线串口通信。使用该模块无需了解复杂的蓝牙底层协议,只要简单的几个步骤即可享受到无线通信的便捷。蓝牙透传模块只有4个AT指令,分别是测试通信、改名称、改波特率、改配对密码,AT指令必须从TXD、RXD信号脚设置,不能通过蓝牙信道设置。蓝牙规范空旷地10 m范围内,只能一对一传输,不能组网。

发送AT指令的设备可以是各种类型的MCU(比如51、AVR、PIC、MSP430、ARM等),也可以是电脑通过串口(PC串口接MAX232或者USB转串口)发送。

蓝牙模块指示灯处于闪烁的状态,表示没有连接主机,蓝牙模块指示灯常亮,表示已连接主机,并且通过事先编写好的APP进行控制,单片机控制板上指示灯点亮,说明蓝牙通信和计算机串口通信没有问题。

3 系统软件设计

对于Andriod手机APP的开发,最佳的方案是利用Java语言在eclipse IDE进行开发,需要掌握整个程序开发环境的搭建方法、精通Java编程和xml,但是对于自动化专业相关的学生来说,开发难度较大,且效率较低。针对我们项目的需求,只需要实现对智能车进行控制,并不需要华丽的界面和复杂的算法,所以采取了一种效率较高、入门较快的开发方法-APP Inventor。

3.1 APP Inventor简介

APP Inventor是一款谷歌公司开发的基于云端的手机编程环境,用户能够通过该工具软件自行研发适合手机使用的任意应用程序,而且这款编程软件不一定需要专业的研发人员,甚至根本不需要掌握任何的程序编制知识。用户只需要根据自己的需求将类似积木一样的代码拼装起来,并添加一些服务选项即可,使非计算机专业人员可以高效快速地开发Android应用程序,如图3、图4所示。

图3 逻辑设计界面

图4 组件设计界面

3.2 下位机程序设计-单片机蓝牙通信程序

图5 蓝牙模块与单片机连接框图

HC-06蓝牙模块与手机(或其他设备)配对连接好以后可当作固定波特率的串口使用,它的TXD、RXD当作电脑串口的TXD、RXD使用。蓝牙模块与单片机的连接方式如图5所示。连接上以后可当电脑的无线串口使用,下位机程序主要是针对单片机通过串口接收到的数据进行判断,在上位机程序中设定发送固定字符,不同字符代表不同的动作指令,从而控制小车执行不同的动作。具体含义见表1。

3.3 上位机程序设计-利用APP Inventor搭建

利用手机的蓝牙通信发送数据共有两种模式:按键模式和体感模式。不管哪种模式手机都需要先和从机蓝牙模块连接,连接成功之后,利用APP Inventor的蓝牙控件发送控制数据。

表1 APP通过蓝牙发送的控制指令表

(1) 按键模式

通过点击APP上的方向键和停止键可以对小车的运行进行控制,这里使用的是按钮控件,在逻辑设计中只需要对不同按键按下和松开作出响应,发送相应小车控制代码即可,在小车上通过对接收到的代码进行解码。该模式控制界面如图6所示。

图6 按键模式界面

(2) 体感模式

该模式控制界面如图7所示。此模式下,需要使用智能手机中自带的OrientationSensor-方向传感器,方向传感器提供3个数据,分别为azimuth(方位)pitch(俯仰)和roll(翻滚),这3个数据都表示度数。具体含义、范围见表2。

表2 方向传感器方向数据表

图7 体感模式界面

在本设计中只用到了俯仰角度和翻滚角度,分别代表小车的左右转向和前进后退。为了避免手机抖动的误操作,在程序中设置触发角度为20°,只有手机翻转和俯仰角度大于20°时才会触发小车动作,当小于20°,小车无动作。为了提高程序运行效率,采用时钟触发周期为300 ms,即0.3 s检测一次角度。

上位机APP程序流程图如图8所示。

4 实验测试与分析

图8 上位机APP程序流程图

本设计中,我们采用了不同的安卓手机进行试验,对APP的按键遥控功能和体感遥控功能进行了多次测试。在测试中发现以下几点:APP对各种品牌安卓手机都能够兼容;APP在各种版本的安卓操作系统上都能够稳定运行;遥控范围大约在9 m之内,超出此范围,信号不稳定;小车对APP的响应灵敏,反应时间大约为0.1~0.3 s,偶尔会出现APP断开蓝牙连接以及死机的情况。

结 语

[1] 聂茹. 基于Android手机蓝牙控制的智能小车设计与实现[J]. 微型电脑应用,2015(9):6,68-69,74.

[2] 林明标,莫金海. 基于安卓手机的无线重力感应控制智能小车[J]. 计算机测量与控制,2015(4):1175-1178.

[3] 沃尔贝(David Wolber),埃布尔森(Hal Abelson),斯珀特斯(Ellen Spertus),等.写给大家看的安卓应用开发书 App Inventor 2快速入门与实战[M].金从军,译.北京:人民邮电出版社,2016.

[4] 李鸥.实战Android应用开发[M]. 北京:清华大学出版社, 2012.

[5] 李群芳,张士军,黄建.单片微型计算机与接口技术[M]. 北京:电子工业出版社, 2005.

[6] 朱丹峰,葛主冉,林晓雷.基于Android平台的无线遥控智能小车[J].电子器件, 2013(3).

[7] 赵学浩,钱卫国.基于单片机的无线智能小车设计[J].常熟理工学院学报,2016(4).

[8] Andrew Hoog.Android Forensics:Investigation,Analysis and Mobile Security for Google Android[M].Syngress Publishing,2011.

[9] 陈宏田.基于安卓系统联网智能车的设计和研究[D].南京:南京师范大学,2015.

[10] 蒋俊,刘天宇,简雨沛.蓝牙智能小车系统设计[J].信息技术与信息化,2015(6):166-167.

结 语

参考文献

[1] 余齐齐.基站换风监控软件设计[D].厦门:厦门大学,2009: 23-24.

[2] 田明.移动基站节能监控系统研究与设计[D].长沙:湖南大学,2009:12-13.

[3] Z Niu, Y Wu, J Gong, Z Yang. Cell Zooming for Cost-Efficient Green Cellular Networks[J]. IEEE Communications Magazine, 2010,48(2),74-79.

[4] H Li, H Zhang, D Peng. Design and Application of Communication Gateway of EPA and MODBUS on Electric Power System. Energy Procedia[J]. 2012, 17(1): 286-292.

[5] 庄健, 杨清宇, 杜海峰, 等. 一种高效的复杂系统遗传算法[J]. 软件学报, 2010, 11(1): 2790-2801.

[6] 于莹莹, 陈燕, 李桃迎. 改进的遗传算法求解旅行商问题[J]. 控制与决策,2014, 8(1): 1483-1488.

(责任编辑:杨迪娜 收稿日期:2016-09-29)

Solution of Andriod Mobile APP Bluetooth Control Intelligent Vehicle

Yang Yingming

(Department of Electrical Engineering,Guidao Jiaotong Polytechnic Institute,Shenyang 110023,China)

The super regenerative and infrared remote control are usually used in the traditional solution of intelligent vehicle remote control.With the popularity of Andriod intelligent terminals,the Bluetooth intelligent vehicle based on Andriod mobile phone APP is realized with the use of intelligent terminal short distance wireless communication technology such as the Bluetooth communication and direction sensor range of mobile phone.It combines with MCU,the Bluetooth module and the motor drive module.So every Android mobile phone has become a remote control.The system can run very well through many brands and many versions of the mobile phone testing.At the same time,the design provides a new idea for the intelligent robots and smart home.

Andriod mobile phone;APP;Bluetooth;intelligent car

TP312

A

�迪娜

2016-10-14)

猜你喜欢
安卓蓝牙串口
iPhone不卡的秘密曝光:安卓也能享受
蓝牙音箱的直线之美
浅谈AB PLC串口跟RFID传感器的通讯应用
文物表情包
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
一种基于安卓系统的手机侧抓包分析方法
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索