基于Android手机手势和语音控制的人机交互系统设计

2019-05-30 01:28郭慧敏孟游迟少华丁培甫
南京信息工程大学学报 2019年2期
关键词:蜂鸣器蓝牙小车

郭慧敏 孟游 迟少华 丁培甫

摘要 针对普通遥控器控制智能小车的局限性,结合移动互联网的应用,提出了一种新的人机交互智能小车控制系统的研究方案——一种基于Android手机方向(重力)传感器和语音控制的蓝牙小车控制系统.以Android手机作为上位机,包括语音系统、方向(重力)传感器系统,利用蓝牙通信技术与单片机总控制中心、蓝牙模块、电机驱动模块、蜂鸣器和LED模块、避障模块等组成的下位机进行通信,实现对蓝牙智能小车的实时控制.通过实物制作和测试,验证了系统的可操作性和实用性,同时也为智能轮椅、仓库管理等领域的实际应用奠定了一定的技术基础.

关键词 方向(重力)传感器;语音控制系统;Android 手机;无线智能控制;智能小车.

中图分类号 TN79;TP311.5

文献标志码 A

0 引言

人机交互技术的飞速发展,促使遥感技术蓬勃发展,人们的生活方式将渐趋智能化.让机器了解你的言语、表情和肢体语言,将给人们带来更加轻松、舒适和便捷的生活方式[1],而传统的人机交互系统远远满足不了人们的需求.

目前市场上的一些遥控车都是一个产品对应着一个遥控设备,即使可以通用的遥控设备也需要手动按键去控制[2-3],操作起来十分不便.Android设备以本身独特的开源性和可操作性的优势,迅速成为最大的智能手机操作平台,无论高端机还是低端机,大多集成了方向传感器、语音和蓝牙系统,为本系统的研究提供了便利[4-5].相对于传统的遥控器控制技术,基于Android手机手势和语音技术的智能小车的控制方式更加方便快捷,适用于多种带有方向传感器和语音功能的Android手机.

1 系统结构

本设计着眼于无线智能设备的传感器控制[6],如Android手机、智能手表等.抛弃了传统的遥控器技术,利用App Inventor[7]作为手机软件的开发平台,通过智能手机携带的方向传感器[8]和语音系统,根据翻转手机或语音识别便可实现小车停止、前进、后退和左右转等,从而达到人机交互的目的.

通过设计带有方向感应器、语音系统和蓝牙功能的Android手机软件,与带有HC-05蓝牙模块、STC89C52RC主控制芯片、L9110H电机驱动模块和红外避障模块等硬件电路组成的智能小车控制系统,共同实现了一种新型无线控制智能小车的方法——通过摇晃手机或语音便可对小车进行控制.同时,还在下位机增加了环境检测系统.本设计框架如图1所示.

2 下位机硬件电路设计

小车设计的硬件电路由单片机总控制中心、电机驱动模块、避障模块、电源供电电路、蜂鸣器和LED控制电路等模块组成.

2.1 电机控制模块设计

智能小车最基本的功能是行走,利用单片机驱动直流电机带动车轮的转动,但是由于单片机驱动能力有限,无法驱动大功率的直流电机,所以需要在直流电机与单片机之间加一个驱动模块L9110H.L9110H连接电机的正负极,由两个输出端,直接控制电机的正反转.原理如图2所示.

2.2 蜂鸣器模块设计

设计过程中,考虑到单片机I/O口驱动能力不能让蜂鸣器发声,需要利用8550三极管放大驱动电流让蜂鸣器发出声音.當输入为低电平时,三极管导通,集电极电流通过蜂鸣器,蜂鸣器发出声音;当输入为高电平时,三极管截止,无电流通过蜂鸣器,蜂鸣器不发声.设计原理如图3所示.

2.3 HC-05蓝牙模块

本设计选用HC-05蓝牙串口通信模块.它是主从一体的蓝牙串口模块,简单地说,就是当蓝牙设备与蓝牙设备配对成功后,可以忽视蓝牙内部的通信协议,直接将蓝牙当串口用.当建立连接时,两个设备共用一个通道也就是同一个串口,一个设备发送数据到通道中,另一个设备便可以接收通道中的数据.但是,建立这种通道连接是有一定条件的,需要先对蓝牙模块进行AT指令参数设置.

2.4 红外避障模块

该模块具有一对红外发射器和接收器,通过发射管发出红外线,当检测到前方障碍物时,发射光被接收器接收,经过电路处理,发送给主控制中心.避障距离可以利用电位器进行调节,具有装配方便和干扰小的特点,如图4所示.

3 下位机硬件程序设计

本控制系统需要小车的硬件系统作为支撑.下面分别对蓝牙接收信息传递给单片机和单片机接收信息后对电机、蜂鸣器以及LED做出相应的控制进行介绍.程序设计采用的是Keil4 for 51作为单片机程序的编程软件.

3.1 蓝牙接收系统程序

通过蓝牙模块对接收手机端发送过来的控制指令信息进行接收处理,如停止、前进、后退、左右转等,程序流程如图5所示.

利用蓝牙模块与51单片机进行连接,串口通信进行数据传输.接收时,中断标志RI=0,置允许接收位REN=1,数据进入移位寄存器,装载到SBUF缓冲寄存器,置RI=1;由缓冲接收器SBUF通过总线发送给CPU.串行通信在数据传输、人机交互设计等方面起着重要作用[9].设计要求串口通信晶振为11.059 2 MHz,波特率9 600 bps,设置计数器1的工作方式(SM0=0,SM1=1,即SCON=0x05),T1的初值为253(X值为FDH).

3.2 电机、蜂鸣器及LED控制系统程序

小车运动状态的控制方式如下(蓝牙接收控制指令流程如图5所示):

1)小车运动:控制电机的转动;

2)灯:控制LED1及LED2灯的亮灭;

3)蜂鸣器:模拟喇叭,控制蜂鸣器的开关.

4 上位机APP设计

4.1 软件界面设计

App中添加的控件有:

1)Button按键(前进、后退、停止、左转、右转、灯、喇叭、方向传感器以及语音开关键):按下后通过蓝牙发送相应的数据;

2)连接选择框:按下它,会访问到一个列表,用来存储蓝牙信息;

3)水平布局、垂直布局:使按钮在水平控件框内呈水平或垂直分布;

4)蓝牙客户端:蓝牙配对、连接以及通信,通过蓝牙设备选择框组件来显示蓝牙列表;

5)对话框:显示警告信息,当蓝牙连接失败时,显示错误信息;

6)方向传感器:设置通过翻转手机可以实现对小车发送相应的数据;

7)语音识别器:设置通过识别语音可以实现对小车发送相应的数据.

4.2 蓝牙连接系统

建立蓝牙连接时,Android手机需要获取小车HC-05蓝牙模块的地址.

点击连接时,出现选择蓝牙设备的界面,如图6所示(列表中的蓝牙设备是手机在设置中心已经配对成功的蓝牙设备),点击小车地址,将小车与手机之间建立连接.如果连接成功,界面将会跳转到控制界面;如果配对失败,弹出错误的警示窗口,则小车的蓝牙模块没有打开或者没有正常工作.

点击断开连接按钮时,关闭蓝牙连接,同时用户界面发生变化,如图7所示.蓝牙设备选择框会重新出现,而用户界面上的其余组件将被隐藏.

4.3 按键控制系统

App软件主要通过上下左右4个按键控制小车的前进、后退、左转、右转,中间的停止键让小车紧急停止.另外,为了增加真实性,还增加了小灯以及喇叭控制的功能(图8).按下不同的按钮,手机就会通过蓝牙发送相应的数据.

4.4 方向传感器控制系统

在按键的基础上,增加了方向传感器的控制,利用手机内的方向传感器,通过倾斜角和翻转角的角度变化发送数据.在程序软件的界面上,增加了一个方向传感器的开关(图8),在必要时可以关闭方向传感器.首次打开软件,方向传感器是不工作的,点击一次,方向传感器开始工作,再点击一次,方向传感器停止工作,可通过除2取余的算法来辨识.

点击方向传感器按钮,翻转角和倾斜角数据随手机的晃动发生改变,表示方向传感器开始工作.因为人无法保证手机在手中时,翻转角和倾斜角都为0,所以翻转角和倾斜角的大小在±20°范围内都规定手机为水平放置.手机发送数据03,智能小车为停止状态.另外,设定倾斜角和翻转角同时变化时,为无法识别状态,令小车停止,确保其安全性.手机状态发送数据如表1所示(可根据实际需求进行角度判断的设定).

为了增加Android遥控小车手机方向传感器的可辨识度,可在界面显示倾斜角和翻转角的数据.

4.4 语音控制系统

在软件设计上增加手机语音系统,通过调用手机内部的语音识别器,但手机本身没有识别语音和文字转换的功能,需要调用讯飞语记软件的语音识别功能.设置软件可识别到的语音中包含“前进”、“后退”、“左转”等命令,软件可通过蓝牙发送相关的控制数据,具体的数据可参考方向传感器设计部分.

使用时通过按住话筒按钮,发出命令语音,如“前进”、“后退”、“左转”、“右转”、“停止”等命令,松开后,界面显示小车相应的运动状态,同时会通过蓝牙对已连接设备发送相应的控制数据(01、02、03等).

5 实验测试与分析

为了测试系统的安全性和准确性,分别对设计进行了软硬件供电调试.调试包含对下位机小车能否接收数据和接收数据的准确性,以及上位机是否可以发送控制数据和数据发送的准确率.对于下位机,首先检查与单片机的连线是否正确,接通电源,烧录单片机程序测试驱动电机是否可以正常运转以及电机的运动方向是否正确:当Right-Negative=0,Right-Positive=1,Left-Negative=0,Left-Positive=1是否前进,另外分别测试左转、右转、后退、停止等状态是否正确.

在小车下载单片机程序后,首先要对通信方面进行测试.通信测试分为3步:

1)第1步是使用单片机串口监视器测试.通过USB串口给小车发送00,01,02,03,04,05,06,07,08等几个控制数据,查看小车的运动状态的准确性.

2)第2步是使用手机蓝牙串口工具测试.首先USB接口连接蓝牙,插入电脑,利用手机连接蓝牙模块后,通过按键看是否发送相应的数据.按键测试成功后,测试手机方向传感器是否工作.

观察手机界面上的翻转角和倾斜角数据是否发生变化,以及手机前翻转时,手机是否发送数据01;手机左倾斜时,手机是否发送数据02;当手机右倾斜时,手机是否发送数据04;手机后翻转时,手机是否发送数据05;手机平放时,手机是否发送数据00等.

3)第3步是对手机语音控制的测试.在第2步测试成功后,按下语音按钮,通过语音“前进”、“后退”、“左转”、“右转”、“亮灯”等命令分别测试手机发送的数据是否正确.

为采集不同型号手机的实验数据,分别采用了OPPO-A57、小米note1、小米5、华为Mate9进行测试.通过多次数据统计分析得出,无线控制距离在空旷地带可达20 m,在0~15 m内可发送的数据正确率在99.1%~99.5%,在15~20 m内收到数据的正确率会随距离的增加逐渐减小,距离超过20 m时会断开连接,软件提示“无法连接到蓝牙设备”.

测试结果表明,本设计的手机方向传感器、语音和按键3种方式同时控制智能小车行走的软硬件设备中,下位机的小车硬件以及软件系统工作正常,上位機Android手机软件程序正常,可通过方向传感器、语音和按键3种控制方式控制小车,并实现灵活地前行、后退、左转、右转、停止、亮灯、鸣笛等功能.

6 结束语

本设计有效利用现有通信设备完成了基于Android手机方向传感器、语音系统和蓝牙技术控制的智能小车系统.本设计可以无障碍地在15 m范围内进行通信,从而降低了智能化设备的成本.该控制系统的相关技术能直接应用到智能电动轮椅的研究中,使电动轮椅更加智能化、功能化.

參考文献

References

[1] 刘少军,王瑜瑜.基于Android手机蓝牙控制的智能小车设计与实现[J].电子测量技术,2016,39(9):114-117

LIU Shaojun,WANG Yuyu.Design and implementation of intelligent vehicle control based on the control of the Android mobile phone bluetooth[J].Electronic Measurement Technology,2016,39(9):114-117

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

ZHU Danfeng,GE Zhuran,LIN Xiaolei.Android-based intelligent car with wireless remote control[J].Chinese Journal of Electron Devices,2013,36(3):408-412

[3] 李毅,党长青,张行.基于安卓手机重力感应小车[J].电子世界,2014(11):94

LI Yi,DANG Changqing,ZHANG Xing.Gravity sensor car based on android mobile phone[J].Electronics World,2014(11):94

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

NIE Ru.Design and realization of intelligent vehicle based on android mobile phone bluetooth control[J].Microcomputer Applications,2015,31(9):68-69,74

[5] 马惠兰.基于单片机的蓝牙搜救小车设计[J].工业仪表与自动化装置,2016(3):111-114

MA Huilan.Design of Bluetooth search and rescue vehicle based on single chip microcomputer[J].Industrial Instrumentation & Automation,2016(3):111-114

[6] Yin Q,Zhang J,Wang X,et al.The video intelligent car based on wireless sensor[J].Cluster Computing,2017(6):1-16

[7] David W,Hal A.App inventor2快速入门与实验[M].北京:人民邮电出版社,2016

David W,Hal A.App inventor2 quick introduction and experiment[M].Beijing:Posts and Telecom Press,2016

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

LIN Mingbiao,MO Jinhai.Wireless accelerometer sensor control smart car based on android mobile[J].Computer Measurement & Control,2015,23(4):1175-1178

[9] 卢嘉川,冯云姣,郑丹晨,等.数字化反应堆人机交互功能需求的研究[J].科技视界,2018(8):19-21,18

LU Jiachuan,FENG Yunjiao,ZHENG Danchen,et al.Research on human-computer interaction functional requirement for digital reactors[J].Science & Technology Vision,2018(8):19-21,18

Design of human-machine interaction system based on

Android mobile phone gesture and voice control

GUO Huimin1 MENG You1 CHI Shaohua1 DING Peifu1

1 School of Information Engineering,Jincheng College,NanJing University of Aeronautics and Astronautics,211156 NanJing

AbstractAiming at the limitation of the common remote control and the application of mobile internet,a new research scheme for a human-computer interaction driven intelligent vehicle control system is proposed:a bluetooth based vehicle control system utilizing android mobile phone direction sensor (gravity sensor) and voice control is designed.The design uses android mobile phone as host computer,including the voice and direction sensor systems and uses bluetooth communication technology to communicate with the lower computer,which is composed of the MCU control center,bluetooth module,motor drive module,buzzer,led module,and obstacle avoidance module.The operability and practicability of the system is verified through physical production and testing.This research also lays a technical foundation for the practical application of intelligent control systems in wheelchair design and warehouse management among other fields.

Key wordsdirection (gravity) sensor;voice control system;Android phones;wireless intelligent control;smart car

猜你喜欢
蜂鸣器蓝牙小车
电动自行车产品车速提示音检测现状和整改技术研究(2)
蓝牙音箱的直线之美
大车拉小车
自制小车来比赛
掌控板制作简易钢琴
单片机驱动蜂鸣器的程序设计
刘老师想开小车
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
两轮自平衡小车的设计与实现
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器