PS:不需写一行Android代码哦~~~    
               很多热衷于玩单片机小车、机器人的童靴,往往也向往着有天能自己编写一个Android手机的遥控程序,通过自己的手机遥控小车, 单片机程序用C语言或者汇编什么的都可以容易完成,,无奈要写一个上位机的Android控制程序就要会java、还要学一点xml知识,对于只学过C 或C++的人来说……..╮(╯▽╰)╭

不过万能的Google提供了一款云端Android程序开发工具: AppInventor。因为对于想要用手机控制机器人的使用者而言,他们不大需要太华丽的界面,只要使用基本组件例如按钮、文字输入输出即可,所以,App Inventor 让你抛开复杂的程序代码,使用搭积木式的方法来完成您的Android程序。(完全不需要编程哦)

上个效果图先,俺做的智能小车控制软件:

2012-9-8 10:15 上传

下载附件 (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+ 等。

2012-9-8 10:15 上传

下载附件 (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软件了。

2012-9-8 10:15 上传

下载附件 (6.18 KB)

网站上也提供了一些教程。有兴趣可以浏览下。

二、            编写下位机(单片机小车)程序,设置好蓝牙通信协议。

走到第二步,对于很多智能小车、机器人爱好者来说都不是问题了。

先理一下Android手机与小车的遥控方式:

2012-9-8 10:15 上传

下载附件 (42.05 KB)

这样一来,手机发送事先规定好的数据指令,蓝牙模块接收到,再传送给小车,小车对指令进行一下Switch,,是前进指令的就前进、该后退的就后退……

相应的,下位机小车应该要有的几个基本功能函数,它们应该是:

前进函数(Forward(void) )、后退(Backward(void) )、左转(Lift(void))、右转(Right(void) )、停止(Stop(void) )。

这里名称是否一致,内容是什么的无关紧要,你也可以拿来控制机器人相应的动作,下位机由人怎么写控制函数的程序段都行。。这里是我们设定的小车的协议,有这个现成的下位机程序供我们驱动,玩其他智能小车、机器人的童靴可以自己编嘛。

(程序在:   LHcar光盘\No.3-Lighthouse源代码\Chapter10-小车综合程序\No.8-Android遥控蓝牙小车)

2012-9-8 10:15 上传

下载附件 (13.63 KB)

2012-9-8 10:15 上传

下载附件 (29.97 KB)

目前就先控制这几个命令吧,协议里面加、减速,转圈等功能就不做控制了。

个人按照自己的要求写好下位机程序,这一步就算完成了。

三、            利用Appinventor开始搭建Android控制软件。

第三步了,在这之前先对Appinventor界面做一下讲解:

A、建立一个新工程:(红框所示位置)

2012-9-8 10:15 上传

下载附件 (28.43 KB)

B、如图,进入到了软件编辑界面以此可见各个区域的功能(控件编辑区、虚拟的软件界面、软件所添加使用的控件、当前选中控件的属性、“Block Editor”and“Package for Phone”)

2012-9-8 10:15 上传

下载附件 (81.73 KB)

我们将需要使用的控件从控件编辑区拖拽到虚拟的软件界面,并对相应的控件,修改其属性。

添加完控件,点击“Block Editor”将进入搭积木式的编程界面 :

2012-9-8 10:15 上传

下载附件 (37.81 KB)

2012-9-8 10:15 上传

下载附件 (3.31 KB)

“New emulator”是生成一个Android***,由于体态传感器和蓝牙设备模拟器是无法实现的,所以还是连接自己的手机吧,右边的“Connect to Device”可以连接自己的手机,这样编程过程中,会实时的显示软件界面和程序运行状况。

Block Editor里面各类模块代表的意义:

2012-9-8 10:15 上传

下载附件 (14.85 KB)

2012-9-8 10:15 上传

下载附件 (9.34 KB)

2012-9-8 10:15 上传

下载附件 (18.31 KB)

2012-9-8 10:15 上传

下载附件 (71.49 KB)

2012-9-8 10:15 上传

下载附件 (103.04 KB)

现在该考虑一下我们的Android软件要怎么运行,列出来需要哪些控件。

向前按钮、向后按钮、向左、向右、………,哦,不要这样吧,试一试手机的重力感应功能,通过手机体态传感器来控制小车显然比按按钮更酷一些。

简要流程图:                              我的手机软件截图:

2012-9-8 10:15 上传

下载附件 (99.58 KB)

可能要添加的控件:

Button :按钮,用来触发某功能

Label:  标签,用来显示当前状态

BluetoothClient : 蓝牙控件,用来蓝牙配对、连接、通信。

Clock:  时钟,定时触发某程序段

OrientationSensor: 体态传感器,目前绝大多数的手机都有的,用来获取手机当前的状态(倾倒度数、斜率角度等等);

TinyDB :一款手机上的简易数据库控件,这里用来记录软件上次运行时配对过的蓝牙设备,便于选取。

Notifier :警示窗口,当软件运行出现意外时,提示信息,避免程序崩溃掉。

Arrangement :把按钮、Label等控件排列整齐

图文详解:

2012-9-8 10:15 上传

下载附件 (159.01 KB)

考虑更多的细节……

1、

2012-9-8 10:15 上传

下载附件 (8.21 KB)

程序初始化时:

应该检查体态传感器是否存在于手机,没有传感器的话,再往下也就没有执行的意义了;

时钟当前最好设置为关闭状态,因为蓝牙还没有连接呢,还不需要读取传感器、判断手机动作吧;

读取数据库,之前有没有配对过的蓝牙设备呢?有的话就列出出来,供我们下面选择,没有也得告诉一下我们吧;

2012-9-8 10:15 上传

下载附件 (105.98 KB)

2012-9-8 10:15 上传

下载附件 (6.21 KB)

2012-9-8 10:15 上传

下载附件 (18.96 KB)

2012-9-8 10:15 上传

下载附件 (40.68 KB)

2012-9-8 10:15 上传

下载附件 (14.97 KB)

2012-9-8 10:15 上传

下载附件 (158.49 KB)

2012-9-8 10:15 上传

下载附件 (18.82 KB)

这里借用一张图片:

(X轴: Pitch, Y轴: Roll, Z轴: Yaw, (App Inventor中称为Azimuth方位角).)

2012-9-8 10:15 上传

下载附件 (155.3 KB)

可以用手机自测一下,这用我们只用Roll 和Pitch两个数据,当手机平置时,它们接近于0,当手机前翻或侧翻时,两个值分别在±90之间变化。利用这两个数据便可搭建传送蓝牙指令的程序了。

4、

2012-9-8 10:15 上传

下载附件 (2.9 KB)

我们把发送指令的程序段放在时钟里面,这里每300ms执行一次程序段:

2012-9-8 10:15 上传

下载附件 (40.96 KB)

5、

最后考虑一下当程序出错了要怎么办吧:

2012-9-8 10:15 上传

下载附件 (110.76 KB)

Final:

自此,程序模块搭建完成了,返回到软件便捷界面。点击“Download to this Computer”等一小会就会下载下来打包的.apk文件,安装到手机里面就可以使用了。

2012-9-8 10:15 上传

下载附件 (8.63 KB)

这里提供一个好看点的Ico图标:

Android蓝牙遥控小车软件相关推荐

  1. STM32循迹小车/Android蓝牙控制小车(三)

    STM32循迹小车/Android蓝牙控制小车(三) 循迹蓝牙小车的第三篇终于来了,这篇开篇先来介绍一下整个开发过程中得构思思路.本来这应该放在第一篇,但是实际思路会因为开发过程中遇到的问题而改变,到 ...

  2. MSP432蓝牙遥控小车

    目录 前言 搭建 硬件 软件 原理 源码 前言 这个小车是去年电赛的时候准备的,很遗憾我们赛区因为疫情被取消了比赛,我们也都已经大二大三了,因此我们没有机会再参加两年一次的电赛了.但是这些成果总不能放 ...

  3. 5.39 综合案例2.0 - STM32蓝牙遥控小车2(语音控制)

    综合案例2.0 - 蓝牙遥控小车1- 语音控制 成品展示 案例说明 器件说明 小车连线 小车源码 语音模块遥控 语音遥控连线 模块使用说明 1.MLT-BT05 4.0 蓝牙模块 2.ASRPRO-2 ...

  4. 【STM32】F103C8T6 蓝牙遥控小车

    STM32F103C8T6 蓝牙遥控小车 前言 硬件部分 连线部分 软件部分 代码 问题与解决... 前言 本次项目使用的是STM32F103C8T6核心板作为主控,通过连接蓝牙模块,实现和手机APP ...

  5. 基于HAL库-蓝牙遥控小车

    stm32+HAL库制作蓝牙遥控小车 材料及其接线 蓝牙模块:HC05/6 材料均可在某宝上进行购买. 注意:蓝牙模块可进行串口调试也可不调试(及为默认设置),本文使用的为未调试状态下的蓝牙串口,有关 ...

  6. 新朋实验室之玩具遥控车改装为ARDUINO蓝牙遥控小车(代码及制作过程开源)

    新朋实验室之玩具遥控车改装为ARDUINO蓝牙遥控小车(代码及制作过程开源) 2017年08月21日 12:55:25 XPLab 阅读数:4008 你家里的玩具遥控车坏了?遥控器丢了?先不要急着丢掉 ...

  7. 基于STM32的最简易蓝牙遥控小车

    基于STM32的最简易蓝牙遥控小车 硬件准备 硬件连接 STM32cubeMX配置 代码部分 视频演示 本篇博客主要针对的读者为有一定单片机基础,但是第一次自制蓝牙遥控小车的小白同学,所用物件型号选择 ...

  8. 蓝牙遥控小车2.0版发布啦

    蓝牙遥控小车2.0版发布啦! 蓝牙模块的主从机模式 1.主从机模式 2.设置主从机模式 蓝牙遥控器 1.硬件接线 2.程序设计 蓝牙小车 1.硬件接线 2.程序设计 今天要跟大家分享的是两个蓝牙模块之 ...

  9. Arduino mega2560蓝牙遥控小车简介

    Arduino mega2560蓝牙遥控小车简介 小车一览 主要模块如下: 一.电源 (1)BOM表:18650电池两节(单节3.6v,6800mAh) 18650 电池盒(两节带开关) 二.电机驱动 ...

最新文章

  1. 为什么三维重建才是计算机视觉的最终归宿?
  2. NeurIPS | 2019 机器学习领域最新十篇论文,来自谷歌、Facebook、普林斯顿大学、斯坦福大学等团队的最新研究成果...
  3. Service Work
  4. C++ Primer 5th笔记(chap 13 拷贝控制)阻止拷贝
  5. OpenCV学习笔记之 ( 三 ) MFC显示Mat图片
  6. 2021牛客OI赛前集训营-提高组(第五场)D-牛牛的border【SAM】
  7. apache 配置虚拟目录
  8. Spring学习总结(21)——Spring集成阿里巴巴数据库连接池DruidDataSource配置及其常见问题汇总
  9. java jtextfield 居中_有什么办法可以使JFrame的中心居中吗? - java
  10. java获取文件目录列表_获取目录中的文件列表
  11. CentOS 设置网络(修改IP修改网关修改DNS)
  12. 彼得德鲁克《卓有成效的管理者》——阅读摘要
  13. 程序员发布:一张图读懂支撑阿里双十一1682亿的技术架构体系
  14. 语音信号的基音参数提取
  15. 期刊论文发表的重复率要求
  16. openwrt 内网域名 解析错误
  17. xampp 安装swoole
  18. hiho#1082 然而沼跃鱼早就看穿了一切
  19. Shortest Path(翻译)
  20. Excel2016绘图新功能

热门文章

  1. 数据分析与数据挖掘的简单了解
  2. 64位 计算机 最大内存,win10 64位最大支持内存是多少_win10系统最高支持多大内存...
  3. 河南工程学院OJ郑州轻工业学院OJ代码(C语言)
  4. 小高不太行之前端——CSS样式 I
  5. 实现不同分辨率电脑页面自适应
  6. 好文:挣值管理(4) - 让挣值管理实用!
  7. web Worker和web Socket
  8. 1293 球与切换器(dp)
  9. 用js创建表格及全选反选
  10. 执行查询提示目录名称无效