1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 安卓手机控制小车(自己做成功了 有全套资料)

安卓手机控制小车(自己做成功了 有全套资料)

时间:2021-03-26 21:54:20

相关推荐

安卓手机控制小车(自己做成功了 有全套资料)

注:图片不知道怎么显示,可以去我空间的相册里查看图片。

小车分几部分组成:1、安卓手机控制软件:该软件可以通过蓝牙发送前进、后退、左转、右转指令(ASCII码)。2、蓝牙模块:通过与手机连接后,可以接收到手机发送的指令,采用HC_06模块。3、单片机最小系统:蓝牙模块将收到的指令发给单片机,单片机将其解码为二进制数。4、驱动模块:单片机将二进制指令通过IO口发送给驱动模块,驱动小车运动。5、小车底座:具有四个减速电机和轮子的底座。

1、手机控制软件

网上下载的,想要无插件的可以留邮箱。

当我们用手按下前进时,手机会通过蓝牙以ASCII码的形式发送一个字符“A”,释放时会发送一个字符“a”;

按下后退时,手机会通过蓝牙以ASCII码的形式发送一个字符“D”,释放时会发送一个字符“d”;

按下左转时,手机会通过蓝牙以ASCII码的形式发送一个字符“C”,释放时会发送一个字符“c”;

按下右转时,手机会通过蓝牙以ASCII码的形式发送一个字符“B”,释放时会发送一个字符“b”;

2、蓝牙模块时HC-05/06。

此模块使用3个管脚,VCC和GND分别接电源高、低电平,TXD管脚接单片机的RXD管脚。蓝牙模块与手机连接后,可以通过手机发送ASCII,蓝牙模块接收到后,发送给单片机的RXD脚,通过程序将数据以二进制的形式发送给驱动模块,供小车驱动。发送波特率为9600。八位数据位,无奇偶校验。

3、最小系统。

板子是自己焊的,5个1.5v的电池供电,一方面7.5v给驱动芯片L298N供电,令一方面经7805降压后给单片机和蓝牙模块供电(此时驱动效果不明显,可以在另用一个9V电源,为L298n供电)。其中所有管脚已经引出,令PO管脚接了10K的上拉电阻。晶振旁边的电容在板子另一面,是两个贴片电容。虽说线路简单,可也是双面板,呵呵。L298N资料网上有很多。。。

程序:

#include<reg52.h>

#defineucharunsignedchar

uchara;

//串口初始化

voidSerial_Init()

{

TMOD=0x20; //方式2,8位自动载入

TH1=0xfd;

TL1=0xfd;//初值,9600波特率

TR1=1;

SCON=0x50;//8位异步收发,波特率可变

EA=1;//开总中断

ES=1; //开串行中断

}

voidSerial()interrupt4

{

ES=0;

RI=0;

a=SBUF;

switch(a)

{

case'A'://前进

P0=0xf5;//P0的低四位控制驱动芯片,当接收到0101时,两个轮子正转,故向前,以下同。

break;

case'B'://右转

P0=0xf9;

break;

case'C'://左转

P0=0xf6;

break;

case'D'://后退

P0=0xfa;

break;

case'a':

P0=0x00;

break;

case'b':

P0=0x00;

break;

case'c':

P0=0x00;

break;

case'd':

P0=0x00;

break;

default:

P0=0xff;

}

ES=1;

}

voidmain()

{

P0=0xff;

Serial_Init();

while(1);

}

程序很简单,利用串口发送数据。

4、驱动模块:

左边的四根线是输出,要连接到下车的马达上,右边的四根线是输入,连接单片机的对应管脚。

5、底座

左边的两个电机并联,右边的两个电极并联。

遇到的问题:

1、在做最小系统的板子时,自己焊的是12M的晶振,但是程序用的是11.0592M晶振写的,所以当蓝牙模块连接上后,单片机却不能收到指令,后来换成11.0592M晶振才得以解决这个问题。

2、开始所有的供电包括驱动芯片L98N的VS管脚用的也是5V供电,连接好后发现不能带动电机。用万用表测量输出管脚电压可以达到4点几伏,但是当连接上电机后,电压为0,当用7.5V的电源给VS管脚供电后,问题得以解决。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。