admin管理员组

文章数量:1530316

2024年7月25日发(作者:)

龙源期刊网

基于手机APP蓝牙控制的智能小车设计及

调试

作者:杨敏

来源:《广东教育·职教版》2018年第01期

一、引言

随着科技的发展进步和人民生活水平的不断提高,智能手机正在飞速发展。手机已成为人

民生活中的依赖品,它集通信、生活、娱乐于一体,给生活带来极大的方便,一机在手,万物

尽在掌握之中。为结合科技与教学,激发学生课堂上的兴趣,本文就手机APP蓝牙控制智能

小车实例介绍,通过借助手机APP平台,运用蓝牙技术,实现用手机对小车实时遥控完成前

进、后退、左转、右转、停止等动作,生动形象,有利于促使学生对科技与生活结合的理解,

同时也为生活上的遥控玩具和智能家居的制作提供新的路径。

二、系统设计

(一)设计总思路

本设计的小车系统以STC89C52单片机为核心,以手机APP屏幕界面的按钮遥控小车的

转动,中间采用蓝牙技术作为客服端发送接收数据,单片机根据HC-05为蓝牙接收模块接收

到的数据信号指令进行分析处理,输出对应的指令信号,再由L298驱动电路相应的小车电机

正、反转,实现控制小车的前进、后退、左转、右转和停止等动作,同时显示电路显示对应用

的动作码。电源提供给单片机5V直流电,L298需要从外部接两个电压,分给电机和L298芯

片。设计总电路结构框架图如图1所示。

(二)设计功能

本系统能自行设计手机APP,并能借助蓝牙技术传输命令,通过手机APP的控件控制小

车的前进、后退、左转、右转、停止等动作,实现了手机APP与单片机通过蓝牙技术实现了

有机结合,操作简便有趣。

三、硬件设计

(一)单片机及电机主电路

本系统以STC89C52单片机为主控单元,STC89C52单片机是一种8K字节可编程可擦除

只读存储器的微处理器,具有高速、电压低、功耗低、抗干扰能力强等特点的单片机,简单、

龙源期刊网

廉价、实用。整个小车系统采用了4轮驱动,使用L298N芯片电机驱动模块实现对左右两组

电机的实时驱动控制;L298N驱动模块采用ST公司原装全新的L298N芯片,具有工艺、稳定

性高的特点,其控制端口共有六个,通过与单片机的I/O连接,将接收单片机I/O口的高低电

平信号即可驱动控制电机的正、反转以及停止的操作。外围电路还采用了两组由4个二极管组

成的桥式整流电路,保证输出稳定的控制电机的电压。主电路如图2所示。

(二)蓝牙模块

本小车系统的蓝牙模块采用是HC-05芯片集成模块,如图3所示左图蓝牙接口和右图HC-

05蓝牙模块。HC-05芯片里已经封装带有蓝牙协议,我们在使用时只需通过串口连接就能实现

手机与51单片机的无线通信。该蓝牙模块有6个引脚,包括VCC、GND、TXD、RXD,蓝牙

模块的引脚TXD与RXD分别与单片机的RXD与TXD引脚相连接, VCC和GND分别接电

源和地给模块进行供电,控制信号通过RXD与TXD数据无线传输,手机与蓝牙模块配对连接

就可以实现对小车的无线控制。该模块供电电压范围宽为3.3V~5.5V,宽波特率范围4800~

1382400,并且模块兼容5V/3.3V单片机系统,具有成本低,兼容性好,功耗低等优点。

(三)显示电路

为能较好地判断出小车工作的状态,本电路加入显示电路,采用七段数码管显示。该电路

主要用来显示电机控制的显示码,根据显示码就能对应知道小车正在运行的状态。显示电路如

图4所示。小车运行状态与显示代码对应表如表2所示。

四、软件设计

(一)手机蓝牙APP开发软件

本设计采用的手机APP开发软件为广州市教育信息中心开发的APP INVENTOR 公共平

台。该系统平台属免费开放平台,只要打开网址http:///login/进行注册申请帐号

或使用QQ帐号即可登陆使用,该平台编程采用的是积木式程序开发编程,可任意开发各种手

机APP程序,简单易用。平台上APP的操作主要分组件设计和逻辑设计二部分,组件设计主

要是对用户界面的控件(如按钮等)的布局设计,而逻辑设计是对控件添加上逻辑功能,然后

通过客户端(如蓝牙)进行传送控制信息数据,以实现对小车的控制操作。最后组件设计和逻

辑设计完成后,再点击打包APK生成手机APP二维码。生成的二维码就可以下载保存到电

脑,或手机直接安装。手机安装好后,就可以进入控制界面,系统用户登陆界面如图5所示。

(1)该系统的客户端开发主要涉及到客户端界面的设计和逻辑功能代码的设计,本小车

系统的设计组件如图6所示。

(2)逻辑设计如图7所示。

龙源期刊网

(二)单片机程序

本小车系统设计的主程序主要是由单片机的控制实现的,由手机蓝牙向蓝牙模块发送控制

指令信息,单片机通过读取蓝牙模块输入的控制信息进行存储和分析,分析完毕后,向驱动电

机模块发出控制指令,来实现控制电机驱动,控制小车的前进、后退、左转、右转和停止等动

作。这个过程,先由单片机进行初始化,单片机不断对HC-05蓝牙模块的串口读取数据信

息,如果串口 图8有数据指令发送,那就单片机将串口的数据读出,并对读出的数据信息进

行分析判断,再向驱动模块输出对应的小车动作指令,以驱动小车运行。如果读得的数据信息

为0x31、0x32、0x33、0x34、0x35,那么对应的小车的运行状态分别为前进、后退、左转、

右转、停止。

(1)流程图如图8所示。

(2)小车控制系统单片机程序如下:

#include

sbit P12=P1^2;

sbit P13=P1^3;

sbit P14=P1^4;

sbit P15=P1^5;

void delays(unsigned int k)

{

unsigned int i,j;

for(i=0;i

for(j=0;j

}

void UartInit(void)//******************

{

龙源期刊网

EA=1;

ES=1;

PCON |= 0x80;//使能波特率倍速位SMOD

SCON = 0x50;//8位数据,可变波特率

TMOD &= 0x0F;//清除定时器1模式位

TMOD |= 0x20;//设定定时器1为8位自动重装方式

TL1 = 0xFA;//设定定时初值

TH1 = 0xFA;//设定定时器重装值

ET1 = 0;//禁止定时器1中断

TR1 = 1;//启动定时器1

}

unsigned char ch;

void serilas() interrupt 4

{

if(RI==1)

{

RI=0;

ch=SBUF;

SBUF=ch;

while(TI==0);

TI=0;

龙源期刊网

}

}

void main()

{

UartInit();

while(1)

{

if(ch==0x31)

{P0=0x9f;P12=1;P13=0;P14=1;P15=0;} //前进

if(ch==0x32)

{P0=0x25;P12=0;P13=1;P14=0;P15=1;} //后退

if(ch==0x33)

{P0=0x0d; P12=0;P13=1;P14=1;P15=0;delays(500);P13=0;P14=0;} //左转

if(ch==0x34)

{P0=0x99;P12=1;P13=0;P14=0;P15=1;delays(500);P12=0;P15=0;} //右转

if(ch==0x35)

{P0=0x49;P12=0;P13=0;P14=0;P15=0;} //停止

}

}

五、系统调试

(一)手机APP控件安装

龙源期刊网

通过手机扫描APP二维码,下载控制模块App并安装安装完毕后,手机的控制界面图如

图9所示:

(二)下载单片机程序并调试

采用Keil编写输入C程序,编译运行通过后,生成HEX文件,再通过USB下载口把

HEX文件下载到单片机中,上电后即可以进行调试。调试程序如下:首先打开手机APP的小

车系统控制界面,点击蓝牙选择按钮,选择与小车HC-05的蓝牙进行配对,配对成功后,就

可以按手机上的控制小车的动作按钮,手机通过蓝牙将动作按钮对应用的控制信息数据发送到

小车蓝牙上,单片机读取数据信息并根据信息发出控制小车的信号,由驱动电路驱动控制小车

电机的转动,实现小车前进、后退、左转、右转和停止等功能动作;同时数码管也显示出小车

对应的动作代码。例如:按下手机上的前进按钮,小车四轮正转进行前进动作,数码管上显示

数字“1”。

(1)蓝牙配对

打开手机蓝牙,再打开手机控制小车APP,点击蓝牙选择按扭,选择HC-05蓝牙,选择

成功如图10所示:

(2)实物调试如图11所示左图为小车前进图,右图为小车停止图,此实物图是建立在整

个小车成品系统上调试的,单独也可以调试。

六、结束语

本设计系统主要是实现了目前流行的手机对小车的无线控制,虽然整个系统功能还不够完

美,还可以增加路障检测等功能来完善。但是无线控制的功能已经是实现的,实用性较强,可

以为广大教师单片机课程趣味性提供一个实例,也可以为智能化和无线控制技术的研发提供一

个新方法和思路。同时在撰写论文及调试的过程中,大大地扩宽了笔者的知识面,反复的调试

过程中,也锻炼提高了笔者的分析问题和解决问题的能力。

本文标签: 小车控制蓝牙手机单片机