5929浏览
查看: 5929|回复: 8

[项目] AppInventor+掌控板做的遥控小车

[复制链接]
将AppInventor与掌控板互联成功后,开始尝试扩展更多的应用,图形化编程也能做好多内容。下面和大家分享一下遥控小车的案例。

一、App Inventor与掌控板的协作原理分析

AppInventor+掌控板做的遥控小车图19
手机与掌控板的协作过程中,掌控板充当了服务器的角色,而手机上的App则是客户端,客户端通过ip地址访问服务器,从而实现两者之间的信息往来。当客户端发出保存数据请求时,请求信息中会携带两个参数: 标记和数据,服务器会将“标记”解释为掌控板上的输出资源,例如,当标记为buzz时,输出资源为蜂鸣器,并将“数值”解释为具体的输出值,如蜂鸣器的鸣响频率。同样,当客户端发出读取数据请求时,会携带一个“标记”参数,服务器会将参数解释为掌控板上的某个资源,并将该资源的状态返回给客户端,例如,当标记为“buttona”时,掌控板将返回按键A的状态(1为断开,0为连通)。



由此可知,如果想在安卓应用中获取掌控板的状态数据,或控制掌控板的输出,就必须清楚地知道掌控板上各项资源的标记、名称,以及接收数据的规格,这也正是本文的目的所在。下面表格中列出的相关信息,可以帮助开发者实现安卓应用与掌控板之间的协作。

AppInventor+掌控板做的遥控小车图1
资料出处:https://mp.weixin.qq.com/s/o5KvA-7mjRTvaaHqk9wZUA(感谢金从军老师、谢作如老师!)
二、硬件准备与连接:

启动掌控板:编写程序(使用mpythonX),启动后屏幕上显示掌控板在局域网中的 IP地址,如图所示:

AppInventor+掌控板做的遥控小车图2                     AppInventor+掌控板做的遥控小车图3

设计好一辆小车并组装好:

AppInventor+掌控板做的遥控小车图5


采用了M20马达、电机驱动模块(盛思)、LED(盛思)、N+电池盒和拓展板

AppInventor+掌控板做的遥控小车图10AppInventor+掌控板做的遥控小车图11

三、AppInventor设计用户界面。

设想功能:

1、控制小车前后左右

2、控制车灯开关

3、传输文本信息至掌控板显示屏显示


根据以上三点,设计好用户界面:

AppInventor+掌控板做的遥控小车图20
四、程序思路剖析:

本程序是向掌控板发出保存数据请求,故需要用到以下模块:
AppInventor+掌控板做的遥控小车图4

当客户端发出保存数据请求时,请求信息中会携带两个参数: 标记和数据,服务器会将“标记”解释为掌控板上的输出资源,例如,当标记为buzz时,输出资源为蜂鸣器,并将“数值”解释为具体的输出值,如蜂鸣器的鸣响频率。

根据TinyWebIO服务协议表,我们本次要用到的标签有:oled和pina两类。
AppInventor+掌控板做的遥控小车图6

(1)设置IP地址

AppInventor+掌控板做的遥控小车图7

(2)传输文本信息及坐标

AppInventor+掌控板做的遥控小车图8

(3)清屏

AppInventor+掌控板做的遥控小车图9

(4)开灯、关灯(灯接到了扩展板p1引脚)


AppInventor+掌控板做的遥控小车图12

(5)前后左右

这里原本的思路是:手机按下按钮,改变掌控板某个引脚的模拟值,然后再从掌控板入手,读取当前模拟值,判断后执行不同的操作。但是发现无法再从掌控板中读取数据,因为“发送→改变”这个过程是一气呵成的,在浅层面上无法进行读取这个操作。所以决定分析驱动电机模块的代码,在AppInventor上面完成。
幸运的是,Bluebit里面电机驱动模块的代码并不复杂:
AppInventor+掌控板做的遥控小车图17AppInventor+掌控板做的遥控小车图18
我们可以发现,其实就是通过改变两个引脚之间的模拟信号差值来调整速度及方向,所以编程如下:

AppInventor+掌控板做的遥控小车图13AppInventor+掌控板做的遥控小车图14AppInventor+掌控板做的遥控小车图15AppInventor+掌控板做的遥控小车图16

小小尝试,若有不足,请不吝赐教

szjuliet  版主

发表于 2019-4-23 17:42:16

赞哦!
请问N+扩展板在哪里可以买到?
回复

使用道具 举报

szjuliet  版主

发表于 2019-4-23 17:42:17

赞哦!
请问N+扩展板在哪里可以买到?
回复

使用道具 举报

szjuliet  版主

发表于 2019-4-23 17:42:17

本帖最后由 szjuliet 于 2019-4-23 17:44 编辑

赞哦!
请问N+扩展板在哪里可以买到?
回复

使用道具 举报

Nplus实验室  高级技师
 楼主|

发表于 2019-4-24 09:18:29

szjuliet 发表于 2019-4-23 17:42
赞哦!
请问N+扩展板在哪里可以买到?

https://m.tb.cn/h.3A4Oa5b?sm=6dfa8e
淘宝上面有的
回复

使用道具 举报

szjuliet  版主

发表于 2019-4-25 11:03:23

Nplus实验室 发表于 2019-4-24 09:18
https://m.tb.cn/h.3A4Oa5b?sm=6dfa8e
淘宝上面有的

谢谢!
回复

使用道具 举报

liuyu1009  学徒

发表于 2019-7-30 11:09:07

硬件如何连接?
回复

使用道具 举报

Nplus实验室  高级技师
 楼主|

发表于 2019-7-31 13:45:15


加上电机就行,比如我是把电机接入P13、P14、p15、p16
回复

使用道具 举报

gada888  版主

发表于 2019-8-3 21:05:05

收藏了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail