Android蓝牙遥控小车软件
很多热衷于玩单片机小车、机器人的童靴,往往也向往着有天能自己编写一个Android手机的遥控程序,通过自己的手机遥控小车, 单片机程序用C语言或者汇编什么的都可以容易完成,,无奈要写一个上位机的Android控制程序就要会java、还要学一点xml知识,对于只学过C 或C++的人来说……..╮(╯▽╰)╭
不过万能的Google提供了一款云端Android程序开发工具: AppInventor。因为对于想要用手机控制机器人的使用者而言,他们不大需要太华丽的界面,只要使用基本组件例如按钮、文字输入输出即可,所以,App Inventor 让你抛开复杂的程序代码,使用搭积木式的方法来完成您的Android程序。(完全不需要编程哦)
上个效果图先,俺做的智能小车控制软件:
下载附件 (119.18 KB)
呵呵,有没有跃跃欲试的冲动?按照下面的步骤一步一步来吧:
一、 要有一台电脑(废话呀…………)
系统需求:
1)Macintosh:Mac OS X 10.5,10.6
2)Windows系列:Windows XP,Windows Vista,Windows 7都可以的
3)GUN/Linux系统:Ubuntu 8+,Debian 5+ 等。
下载附件 (3.48 KB)
1)Mozilla Firefox 3.6或更高
2)Apple Safari 5.0或更高
3)Google Chrome 4.0或更高
4)IE6及更高
其次测试一下你的Java环境配置是否正确:
这需要在你的电脑上能够运行Java ,目前官方更新到了Java 7,如果没有安装的话,可以在Oracle官方网站上去下载(我的电脑有没有装了java呢?到java 的官方链接里看一下知道了)。 要有一个Gmail帐号,个人认为Gmail邮箱是必备的邮箱啊,没有就申请一个。
最后,安装App Inventor软件包:在使用App Inventor之前,你还需要安装一个叫做App Inventor Setup的软件包在你的电脑上。当然你需要根据你的操作系统来下载不同的软件包的。这里我提供的是Windows系统下的软件包,其他的可以在Google的网站上去下载!下载完成后的文件名应该是:AppInventor_Setup_Installer_v_1_2.exe (~92 MB), 点击打开安装即可,这里建议最好不要更改安装路径的。这里提供以下地址:(鉴于无url权限╮(╯▽╰)╭,自己在google上百度一下吧)
到目前为止,以上4个步骤如果都顺利,那么我们可以登录这里开始编写Android软件啦
(搜索关键字:appinventor):点击右边的红色“Invent”按钮进入MyProjects页面,这里就可以新建工程,开始编写Android软件了。
下载附件 (6.18 KB)
网站上也提供了一些教程。有兴趣可以浏览下。
二、 编写下位机(单片机小车)程序,设置好蓝牙通信协议。
走到第二步,对于很多智能小车、机器人爱好者来说都不是问题了。
先理一下Android手机与小车的遥控方式:
下载附件 (42.05 KB)
这样一来,手机发送事先规定好的数据指令,蓝牙模块接收到,再传送给小车,小车对指令进行一下Switch,,是前进指令的就前进、该后退的就后退……
相应的,下位机小车应该要有的几个基本功能函数,它们应该是:
前进函数(Forward(void) )、后退(Backward(void) )、左转(Lift(void))、右转(Right(void) )、停止(Stop(void) )。
这里名称是否一致,内容是什么的无关紧要,你也可以拿来控制机器人相应的动作,下位机由人怎么写控制函数的程序段都行。。这里是我们设定的小车的协议,有这个现成的下位机程序供我们驱动,玩其他智能小车、机器人的童靴可以自己编嘛。
(程序在: LHcar光盘\No.3-Lighthouse源代码\Chapter10-小车综合程序\No.8-Android遥控蓝牙小车)
下载附件 (13.63 KB)
下载附件 (29.97 KB)
目前就先控制这几个命令吧,协议里面加、减速,转圈等功能就不做控制了。
个人按照自己的要求写好下位机程序,这一步就算完成了。
三、 利用Appinventor开始搭建Android控制软件。
第三步了,在这之前先对Appinventor界面做一下讲解:
A、建立一个新工程:(红框所示位置)
下载附件 (28.43 KB)
B、如图,进入到了软件编辑界面以此可见各个区域的功能(控件编辑区、虚拟的软件界面、软件所添加使用的控件、当前选中控件的属性、“Block Editor”and“Package for Phone”)
下载附件 (81.73 KB)
我们将需要使用的控件从控件编辑区拖拽到虚拟的软件界面,并对相应的控件,修改其属性。
添加完控件,点击“Block Editor”将进入搭积木式的编程界面 :
下载附件 (37.81 KB)
下载附件 (3.31 KB)
“New emulator”是生成一个Android***,由于体态传感器和蓝牙设备模拟器是无法实现的,所以还是连接自己的手机吧,右边的“Connect to Device”可以连接自己的手机,这样编程过程中,会实时的显示软件界面和程序运行状况。
Block Editor里面各类模块代表的意义:
下载附件 (14.85 KB)
下载附件 (9.34 KB)
下载附件 (18.31 KB)
下载附件 (71.49 KB)
下载附件 (103.04 KB)
现在该考虑一下我们的Android软件要怎么运行,列出来需要哪些控件。
向前按钮、向后按钮、向左、向右、………,哦,不要这样吧,试一试手机的重力感应功能,通过手机体态传感器来控制小车显然比按按钮更酷一些。
简要流程图: 我的手机软件截图:
下载附件 (99.58 KB)
可能要添加的控件:
Button :按钮,用来触发某功能
Label: 标签,用来显示当前状态
BluetoothClient : 蓝牙控件,用来蓝牙配对、连接、通信。
Clock: 时钟,定时触发某程序段
OrientationSensor: 体态传感器,目前绝大多数的手机都有的,用来获取手机当前的状态(倾倒度数、斜率角度等等);
TinyDB :一款手机上的简易数据库控件,这里用来记录软件上次运行时配对过的蓝牙设备,便于选取。
Notifier :警示窗口,当软件运行出现意外时,提示信息,避免程序崩溃掉。
Arrangement :把按钮、Label等控件排列整齐
图文详解:
下载附件 (159.01 KB)
考虑更多的细节……
1、
下载附件 (8.21 KB)
程序初始化时:
应该检查体态传感器是否存在于手机,没有传感器的话,再往下也就没有执行的意义了;
时钟当前最好设置为关闭状态,因为蓝牙还没有连接呢,还不需要读取传感器、判断手机动作吧;
读取数据库,之前有没有配对过的蓝牙设备呢?有的话就列出出来,供我们下面选择,没有也得告诉一下我们吧;
下载附件 (105.98 KB)
下载附件 (6.21 KB)
下载附件 (18.96 KB)
下载附件 (40.68 KB)
下载附件 (14.97 KB)
下载附件 (158.49 KB)
下载附件 (18.82 KB)
这里借用一张图片:
(X轴: Pitch, Y轴: Roll, Z轴: Yaw, (App Inventor中称为Azimuth方位角).)
下载附件 (155.3 KB)
可以用手机自测一下,这用我们只用Roll 和Pitch两个数据,当手机平置时,它们接近于0,当手机前翻或侧翻时,两个值分别在±90之间变化。利用这两个数据便可搭建传送蓝牙指令的程序了。
4、
下载附件 (2.9 KB)
我们把发送指令的程序段放在时钟里面,这里每300ms执行一次程序段:
下载附件 (40.96 KB)
5、
最后考虑一下当程序出错了要怎么办吧:
下载附件 (110.76 KB)
Final:
自此,程序模块搭建完成了,返回到软件便捷界面。点击“Download to this Computer”等一小会就会下载下来打包的.apk文件,安装到手机里面就可以使用了。
下载附件 (8.63 KB)
这里提供一个好看点的Ico图标:
Android蓝牙遥控小车软件相关推荐
- STM32循迹小车/Android蓝牙控制小车(三)
STM32循迹小车/Android蓝牙控制小车(三) 循迹蓝牙小车的第三篇终于来了,这篇开篇先来介绍一下整个开发过程中得构思思路.本来这应该放在第一篇,但是实际思路会因为开发过程中遇到的问题而改变,到 ...
- MSP432蓝牙遥控小车
目录 前言 搭建 硬件 软件 原理 源码 前言 这个小车是去年电赛的时候准备的,很遗憾我们赛区因为疫情被取消了比赛,我们也都已经大二大三了,因此我们没有机会再参加两年一次的电赛了.但是这些成果总不能放 ...
- 5.39 综合案例2.0 - STM32蓝牙遥控小车2(语音控制)
综合案例2.0 - 蓝牙遥控小车1- 语音控制 成品展示 案例说明 器件说明 小车连线 小车源码 语音模块遥控 语音遥控连线 模块使用说明 1.MLT-BT05 4.0 蓝牙模块 2.ASRPRO-2 ...
- 【STM32】F103C8T6 蓝牙遥控小车
STM32F103C8T6 蓝牙遥控小车 前言 硬件部分 连线部分 软件部分 代码 问题与解决... 前言 本次项目使用的是STM32F103C8T6核心板作为主控,通过连接蓝牙模块,实现和手机APP ...
- 基于HAL库-蓝牙遥控小车
stm32+HAL库制作蓝牙遥控小车 材料及其接线 蓝牙模块:HC05/6 材料均可在某宝上进行购买. 注意:蓝牙模块可进行串口调试也可不调试(及为默认设置),本文使用的为未调试状态下的蓝牙串口,有关 ...
- 新朋实验室之玩具遥控车改装为ARDUINO蓝牙遥控小车(代码及制作过程开源)
新朋实验室之玩具遥控车改装为ARDUINO蓝牙遥控小车(代码及制作过程开源) 2017年08月21日 12:55:25 XPLab 阅读数:4008 你家里的玩具遥控车坏了?遥控器丢了?先不要急着丢掉 ...
- 基于STM32的最简易蓝牙遥控小车
基于STM32的最简易蓝牙遥控小车 硬件准备 硬件连接 STM32cubeMX配置 代码部分 视频演示 本篇博客主要针对的读者为有一定单片机基础,但是第一次自制蓝牙遥控小车的小白同学,所用物件型号选择 ...
- 蓝牙遥控小车2.0版发布啦
蓝牙遥控小车2.0版发布啦! 蓝牙模块的主从机模式 1.主从机模式 2.设置主从机模式 蓝牙遥控器 1.硬件接线 2.程序设计 蓝牙小车 1.硬件接线 2.程序设计 今天要跟大家分享的是两个蓝牙模块之 ...
- Arduino mega2560蓝牙遥控小车简介
Arduino mega2560蓝牙遥控小车简介 小车一览 主要模块如下: 一.电源 (1)BOM表:18650电池两节(单节3.6v,6800mAh) 18650 电池盒(两节带开关) 二.电机驱动 ...
最新文章
- 为什么三维重建才是计算机视觉的最终归宿?
- NeurIPS | 2019 机器学习领域最新十篇论文,来自谷歌、Facebook、普林斯顿大学、斯坦福大学等团队的最新研究成果...
- Service Work
- C++ Primer 5th笔记(chap 13 拷贝控制)阻止拷贝
- OpenCV学习笔记之 ( 三 ) MFC显示Mat图片
- 2021牛客OI赛前集训营-提高组(第五场)D-牛牛的border【SAM】
- apache 配置虚拟目录
- Spring学习总结(21)——Spring集成阿里巴巴数据库连接池DruidDataSource配置及其常见问题汇总
- java jtextfield 居中_有什么办法可以使JFrame的中心居中吗? - java
- java获取文件目录列表_获取目录中的文件列表
- CentOS 设置网络(修改IP修改网关修改DNS)
- 彼得德鲁克《卓有成效的管理者》——阅读摘要
- 程序员发布:一张图读懂支撑阿里双十一1682亿的技术架构体系
- 语音信号的基音参数提取
- 期刊论文发表的重复率要求
- openwrt 内网域名 解析错误
- xampp 安装swoole
- hiho#1082 然而沼跃鱼早就看穿了一切
- Shortest Path(翻译)
- Excel2016绘图新功能