手机蓝牙控制的智能车系统设计_余威明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Android操作系统的智能手机,具有开放源 代码的特性,使得基于Android操作系统的软件开发 是开放的。通过在Android操作系统下开发应用软件, 通过调用智能手机自身所带的通信硬件资源,可以 实现智能手机与电子设备的智能化控制。本文开发 一种采用蓝牙通信方式实现智能手机与智能车系统 的通信,实现智能手机对车的控制功能。
关键词:Android手机;蓝牙;智能车;STM32F103
Design of Intelligent Car System Controlled by Bluetooth of Smart Mobilephone
Yu Weiming (Electronic Engineering Department, Zhejiang Industry & Trade Polytechnic, Wenzhou, Zhejiang ) Abstract: An intelligent car control system based on bluetooth of mobilephone is designed. The system is composed of mobilephone and car control system. The car control system communicates with smart mobilephone through HC-06 bluetooth module. The HC-06 bluetooth module converts bluetooth signal into serial signal. The car control system uses STM32F103 to receive serial signal from HC-06 module and control car. Application software is developed on Android mobilephone. The buttons in software accomplish the car's run and rotation control, and seekbar in software achieves speed control of the car. The system has advantage of easy operation based on the PWM function on STM32F103 processor. Key words: Android mobilephone;Bluetooth;intelligent car;STM32F103
1 系统总体设计 手机蓝牙控制的智能车系统的总体组成框图如 图1所示,由带蓝牙功能的智能手机和小车控制系统 组成,小车控制系统通过蓝牙模块HC-06与智能手 机建立蓝牙通信,并将蓝牙信号转换成串口信号, 小车控制系统以ARM Cortex-M3内核的STM32F103 作为主控芯片,接收蓝牙模块传送的信号,驱动电 机做相应的动作,系统通过传感器检测信息,当智 能手机发送查询命令时,小车系统将传感器检测信 息通过蓝牙发送至手机。
void BT_motor_control(u8 ctr_num,u8 pwm) { switch(ctr_num) { case '1':
Mt_forward(pwm); //前进 break; case '2':
53
电子技术设计与应用 Electronics Design & Application
3 蓝牙模块与处理器接口及配置 3.1 蓝牙模块与STM32F103接口 蓝牙模块选用HC-06模块,该模块集成蓝牙芯片 BC41713、Flash存储芯片M29W800及蓝牙天线等,
图4 HC-06蓝牙模块与STM32F103接口图
3.2 蓝牙模块参数配置 HC-06蓝牙模块通过串口的AT命令集对其进行 配置。主要包括测试通讯、修改串口通信波特率、 修改蓝牙名称、修改蓝牙配对密码等操作[2],AT命 令集如下: (1)测试通讯。发送:AT ,返回:OK (2)修改蓝牙串口通讯波特率。发送: AT+BAUDn n取值为0~9、A、B、C,不同取值分别 代表不同的波特率。 例如发送:AT+BAUD4,返回:OK9600,代 表设定波特率为9600bps。 (3)修改蓝牙名称。发送:AT+NAMEname, 返回:OKname 参数name:所要设置的当前名称,即蓝牙被搜 索到的名称。20个字符以内。 例如发送AT+NAMEancient,返回Okname,此 时蓝牙名称改为ancient。 (4)修改蓝牙配对密码。发送:AT+PINxxxx, 返回:OKsetpin 参数xxxx:所要设置的配对密码,4个字节。 例如发送AT+PIN1234,返回Oksetpin,这时蓝牙配 对密码改为1234。
作者简介: 余威明,浙江工贸职业技术学院电子工程系, 副教授,硕士,研究方向:单片机及嵌入式系统应 用研究 电话:0577-88312536;18958750662 电子信箱:yuwm08@126.com 联系地址:浙江省温州市黎明东路17号 浙江 工贸职业技术学院电子工程系(325003)
基金项目: 浙江工贸职业技术学院2010年度教师科技创新 活动计划项目(G100104)
Mt_LSpin(pwm); //左转 break; case '3': Mt_back(pwm); //后退 break; case '4': Mt_RSpin(pwm); //右转 break; case '5': Mt_stop(); //停止 break; default:break; } } 4.2 STM32F103处理器PWM信号产生 智能车电机的PWM控制信号是利用STM32F103 的 定 时 器 设 置 成 PWM模 式 产 生 。 STM32的 TIM2~TIM5每个定时器可同时产生4路PWM输出。 TIM2~TIM5的PWM输出通过改变自动重装载寄存 器ARR的值改变PWM信号输出的周期,通过改变比 较捕获寄存器CCR的值改变信号输出的占空比[3]。 PWM信号产生示意图如图5所示。PWM信号的占空 比为:
图3 Android蓝牙智能车控制软件界面
main.xml文件下的部分设计代码如下: <Button //"前进"按钮代码 android:id="@+id/btnF" android:layout_width="wrap_content" android:layout_height="50px" android:layout_x="121dp" android:layout_y="104dp" android:text="前进" /> <SeekBar //"PWM设置"拖动条代码 android:id="@+id/seekBarPWM" android:layout_width="181dp" android:layout_height="30px" android:layout_marginTop="20px" android:layout_x="58dp" android:layout_y="76dp" android:max="0" android:paddingLeft="16px" android:paddingRight="15px" android:progress="0" android:secondaryProgress="0" />
图5 PWM信号产生示意图
5 结束语 手机蓝牙控制的智能车系统,通过在智能手机 上的Android软件设计,建立智能手机与车载系统之 间的蓝牙通信,拓展了智能车的控制方式,采用蓝 牙串行模块与处理器之间的串行通信方式,使得车 载部分的蓝牙开发按照串行通信方式实现,大大降 低了蓝牙通信开发的难度。STM32F103处理器内部 定时器的多路PWM输出功能实现了对车速的便捷控 制。通过实际运行测试,在短距离通过手机蓝牙对 车体控制,反应快速,操作便捷。
参考文献: [1] 符强,任风华.基于手机蓝牙的遥控小车的设计[J]. 现代计算机,2011(12): 77-79. [2] 吕立亚,王兆伍.基于蓝牙的汽车CAN网络信号 无线测量系统[J].计算机测量与控制,2009.17(2):
281-283 [3] 刘军.例说STM32[M]. 北京:北京航空航天大学出版社, 2011.
图1 系统组成框图 (参见右栏)
图1 系统组成框图
2 Android系统的蓝牙开发 2.1 Android手机蓝牙实现 首先要在PC机端搭建Java开发环境和Android开 发环境,具体开发环境的搭建过程本文不再详述。 创建蓝牙连接需要实现的类和接口主要有 BluetoothAdapter(本地的蓝牙适配器)、Bluetooth Device( 远 程 的 蓝 牙 设 备 ) 、 BluetoothSocket、 BluetoothServiceSocket、BluetoothClass、Bluetooth Profile、 BluetoothHeadset、 BluetoothA2dp、 BluetoothProfiles、ServiceListener等[1]。Android蓝 牙APIs完成数据交换过程如图2所示。 图2 Android蓝牙APIs完成数据交换过程 (参见下页)
4 智能车电机驱动控制 4.1 STM32F103处理器蓝牙解码控制 STM32F103通过串口与蓝牙模块HC-06连接, 接收手机蓝牙发送的控制命令,每组控制命令包含 两个字节,第一字节为控制编号,第二字节为电机 速度控制的PWM值,这两个字节作为蓝牙电机控制 程序的两个参数。蓝牙电机控制的程序如下:
52
电子技术设计与应用 Electronics Design & Application
微处理器只需通过串口与该模块建立连接即可。Βιβλιοθήκη BaiduHC-06模块与STM32F103处理器的接口图如图4所示。
图2 Android蓝牙APIs完成数据交换过程
2.2 Android手机软件界面设计 Android蓝牙智能车控制的软件界面如图3 所 示 。布局界面的设计在布局文件main.xml文件下 设计实现。界面主要包括一个拖动条(Seekbar),五 个按钮(Button),其中拖动条用以设置车运行速度 的占空比,五个按钮分别控制前进、后退、左转、 右转和停止。
电子技术设计与应用 Electronics Design & Application
10.3969/j.issn.1000-0755.2013.01.018
手机蓝牙控制的智能车系统设计
余威明 (浙江工贸职业技术学院 电子工程系,浙江 温州)
摘 要:设计了一种通过手机蓝牙实现对车载控制的系统。该系统由带蓝牙功能的智能手机和车载控制 系统组成,车载控制系统通过蓝牙模块HC-06与智能手机建立蓝牙通信,并将蓝牙信号转换成串口信号,车 载控制系统以STM32F103作为主控芯片,接收蓝牙模块传送的信号,驱动电机做相应的动作。在Android手 机上开发应用软件,通过设计的按钮实现对车的停启和转动控制,另外通过滑动条实现对车的速度控制。 该系统充分利用了智能手机触摸屏的灵活的操作功能,另外车载系统端的STM32F103处理器所带的PWM功 能实现了对车的便捷调速功能。
54
相关文档
最新文档