手把手教你做重力感应遥控车.doc

上传人:hw****26 文档编号:4214238 上传时间:2019-10-05 格式:DOC 页数:19 大小:2.43MB
下载 相关 举报
手把手教你做重力感应遥控车.doc_第1页
第1页 / 共19页
手把手教你做重力感应遥控车.doc_第2页
第2页 / 共19页
手把手教你做重力感应遥控车.doc_第3页
第3页 / 共19页
手把手教你做重力感应遥控车.doc_第4页
第4页 / 共19页
手把手教你做重力感应遥控车.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、 手把手教你做 Android 手机遥控车 安卓手机遥控小车,顾名思义就是用安卓手机来控制小车前后 左右运动。给大家展示一个既可触摸按键控制又可重力感应控制的 Android 手机软件和 DIY 小车,废话少说,上图: Android 上位机软件运行界面截图 触摸按键控制模式 重力感应控制模式 更改背景 在手机上的运行图 以上是手机控制端的电路图,下面再看小车部分 看完图片还不过瘾,上视频: 视频地址: 看完了,感觉还行吧! 不要羡慕,你也可以,下面来一起 DIY。 第一步 车体 既然是小车,底盘车轮也就少不了了。下面是这辆车的底盘 这些东西淘宝上都可以买到的,这个自己不容易做出来。 第二步控

2、制系统 除了小车底盘,我们还得有一个单片机最小系统来控制吧 这板子做的够简洁吧 需要说明一下的是,别以为它没有晶振,没有电容它们都在单 片机下面藏起来了。但这的确是一个“最小系统” ,除了 I/O 口引出 了外,什么都没有扩展。 51 单片机最小系统的电路图大家应该都知道 第三部电机驱动 底盘和最小系统搞好了,小车还是跑不起来缺少电机驱动。 单片机的 I/O 是驱动不了电机的,我选用的是 L298N 电机专用驱动 芯片。下面是我的电机驱动模块 PCB 在 PCB 底板上涂了一层绿油,但没有涂匀,以致成了这个样子。 这个电机模块是根据下面这张原理图做出来的 有兴趣的可以根据这图画一块 PCB,若

3、嫌麻烦,对驱动电流的 要求又不高时,可以试试 ULN2003 驱动芯片。 第四步HC06 蓝牙转串口模块 既然使用手机蓝牙控制,那小车上必须要有一个蓝牙模块与手机 蓝牙通信。在这里选用了 HC06 蓝牙转串口模块。 HC06 蓝牙转串口模块的作用是将从手机蓝牙发送过来的指令接收 到后转换成串口的形式通过单片机的串口传给单片机。只需将该模 块的 RXD 接上 51 单片机的 RXD 引脚就行(当然还有电源) ,TXD 不用接,因为我们只用它接收手机蓝牙信号,不发送数据。它出厂 默认设置的波特率 9600 ,不重新设置它的波特率的话,在写单片 机串口程序时,也要将波特率设置为 9600。 第五步电

4、源 你可以根据实际情况选择电源,用电池组或小型蓄电池,我用的是 两块手机电池串联 串联后可达到八点几伏,一路直接给电机驱动供电,一路经 7805 降 压后给单片机和蓝牙模块供电。 第六步程序 这一步很重要,很核心。既然是遥控,写程序的话必须先了解上 机是发送的什么指令。从上面的手机截图可以看到,在控制端界面 上有四个用来控制小车运动的按钮前进,后退,左转,右转。 当我们用手按下前进时,手机会通过蓝牙以 ASCII 码的形式发送一 个字符“A”,释放时会发送一个字符“a” ; 按下 后退 时,手机会通过蓝牙以 ASCII 码的形式发送一个字符 “D”,释放时会发送一个字符“d” ; 按下 左转

5、时,手机会通过蓝牙以 ASCII 码的形式发送一个字符 “C”,释放时会发送一个字符“c” ; 按下 右转 时,手机会通过蓝牙以 ASCII 码的形式发送一个字符 “B”,释放时会发送一个字符“b” ; 当使用重力感应模式时,也是根据手机的平衡状态来发送这几个字 符的。 可以查询得到 ABCDabcd 八个字符的 ASCII 码值:A-65 a-97 B-66 b-98 C-67 c-99 D-68 d-100. 有了这些,我们对单片机编程的思路就出来了 我们可以使用使用 51 单片机的串口通信来接收发送过来的 ASCII 码。打开串口中断,我们可以在串口中断服务函数中接收到字符后 用 swi

6、tch()语句来判断接收到的字符。例如 case:65 break; 表示接收到的字符是 A,也就是按 前进 时 发送过来的,这时就可以在 break 前写上小车前进的代码; case:97 break;表示接收到的是 a,即松开 前进 时发送出来 的,既然松开了 前进 按钮 ,就可以再 break 前加上小车停止的语 句。 左转,右转,后退 也是一样的。 至于小车前进后退左转右转的代码,要根据你自己的电机机驱动来 写。下面给出一个程序例子: #include #define uchar unsigned char #define uint unsigned int uchar a; void

7、 init() TMOD=0X20; /设置定时器 1 为方式 2 TH1=0xfd ; TL1=0xfd ; /装初值 TR1=1; /启动定时器 1 REN=1; / 使能接收 SM0=0; SM1=1; /设置串口为工作方式 1 EA=1; / 打开总中断开关 ES=1; / 打开串口中断开关 void main() init(); while(1); void ser() interrupt 4 ES=0; RI=0; /将接受中断标志位清 0; a=SBUF; /将接受到的数据赋值给 a switch(a) case 65: P2=0X17; break; / 发送的是 A 前进指令

8、 case 66: P2=0X1B; break; / 发送的是 B 右转指令 case 67: P2=0X27; break; / 发送的是 C 左转指令 case 68: P2=0X2B; break; / 发送的是 D 后退指令 case 97: P2=0X00; break; /发送的是 a 停止指令 case 98: P2=0X00; break; /发送的是 b 停止指令 case 99: P2=0X00; break; /发送的是 c 停止指令 case 100: P2=0X00; break; /发送的是 d 停止指令 /P2 口是我的电机驱动的控制端 default: bre

9、ak; ES=1; 需要注意的是,这个程序的 P2 口,是我这个小车上电机驱动的控制 端口,这个地方大家要根据自己的驱动来写。若用其它类型单片机 像 AVR MSP430,等都只需在串口中断服务函数中进行上面的处理 即可。 至此,整个制作过程结束,说明一下,这种写程序的方法只针对下 面给出的手机控制端软件,对其他的遥控小车软件无效。遇到问题 的可以加 QQ:1399836578 最后讲一下手机(必须是安卓手机)控制端 软件的使用方法。 1,在安卓手机上安装本遥控软件 2,给小车上的蓝牙模块通电,在手机系统的蓝 牙设 置 里打开蓝牙搜索蓝牙设备,搜索到小车上的蓝牙后,完 成配对(只需首次使用时配

10、对,第一次配对完成后系统会 有配对蓝牙设备的纪录)如下图 3,运行手机上的控制端,进入界面时蓝牙若没打开会提示请求打开 蓝牙。进入界面后,点击 开始,这是会弹出一个对话框,显示已配 对的蓝牙设备。若显示的是你的小车上的蓝牙,就点击“连接小车” 该软件就会连接小车,这时你就可以随心所欲的遥控你的小车了 (当然遥控距离有限制) 。如果你的手机里有多个蓝牙配对纪录,这 时对话框中显示的可能不是你的小车蓝牙,点击取消后,对话框中 会显示出另外一个已配对的蓝牙,知道显示出你小车上的蓝牙时, 点击连接小车就可以连接了。 4,完成连接后,触摸屏幕上的 前进 后退 左转 右转 就可以控制 小 车了,若要使用重

11、力感应控制功能,点击中间按钮“重力感应” 后, 该按钮会变成红颜色,表示重力感应功能开启了,此时按钮控制会 失效,晃一晃你手中的手机,就可以看到重力感应控制的神奇了。 想关闭时,按一下变红了的按钮,这时“重力感应”变成灰色,表 示重力感应功能关闭,同时 按钮控制生效。 最近不少网友通过 QQ 向我反馈了在 DIY 过程中常遇到的两个 问题 一 电机驱动做不好或 做出来后驱动不了 二 购买的蓝牙模块和手机配对不了或连接不了,或可以配对却不 能连接等问题。 对于第一个问题,我表示只要你是按上面给出的图来做的话,一定 错不了。对于第二个问题,有可能是你手机的原因(有些手机的蓝 牙驱动本身就有一定的问题,多见于山寨手机)也可能是购买的蓝 牙模块 有问题,现在蓝牙模块质量参差不齐。还有就是可能你的蓝牙模块 买成了主机,我们要的是从机。怕买错了的可以点下面的淘宝链接 购买, 该模块已测试通过。 为此,本人通过正规渠道购回了一些相关模块,通过实物测试 全部通过。想购买小车底板或相关模块的可以进入下面的淘宝链接 购买,或者联系 QQ: 1399836578 我们将给购买者提供一个纯净版 (没有广告也不需激活)的安卓手机控制端软件。 淘宝店地址 介绍完毕,祝想 DIY 的同学早日成功。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。