您现在的位置:首页 » 知识库 知识库
基于APP Inventor 的NOVA编程(
发布日期:2017-08-30

今天介绍Arduino上的串口使用方法,配合用APP Inventor编写的手机APP,通过蓝牙通讯模块实现手机APP和NOVA的通讯。

玩法将更加多样、炫酷哦!

在介绍APP Inventor编程和蓝牙通讯模块使用之前,有必要简单介绍一下“串口通讯”的概念。

1

串口通讯

上图是MCU(微控制单元)驱动单个LED的电路,那么驱动多个LED的电路呢?玩过Arduino朋友都不会陌生。如下图:

像上图这样由多个IO口同时传输数据的通讯方式,称为“并口通讯”

形如上图的通讯方式均为“并口通讯”。不难想到并口通讯方式的优点是传输是速度快,而缺点是线路复杂,一次要传输多少位的数据,就得连接多少根导线。

而“串口通讯”,通常只有“TXD(发送)”和“RXD(接收)两根信号线”,不论有多少数据需要传输,都通过这两根线实现,接线简单。

其中CLK不是一根导线,它是“波特率”,指通过串口发送数据的速度,即单位时间内发送数据的个数。

互相传输数据的两端的波特率设置必须完全相同,才能保证通讯的正常。

一汽车倒车,一路人很热心——“倒……倒……倒……倒不得了!”

可车子一只轮胎已滑进路边水沟。车夫怒气冲冲下来,旁观者说,“那人是一结巴。”

通讯两端波特率不同就会闹出想上面笑话里那样的误会。

NOVA HD主控板上的串口有两个,分别为“串口”和“串口1”,对应USB接口和C0接口。USB串口负责下载程序和串口打印;C0串口1则用来连接蓝牙模块。

这里有的同学可能会问,为什么不叫“串口1”和“串口2”?是因为其命名规则沿用Arduino体系下的“Serial”和“Serial1”。

串口通讯方面的知识告一段落,更详细的串口知识介绍,可以点击“串行外设接口”(以前连载的电路知识系列中为一篇文章)

手机APP、蓝牙模块、NOVA HD主控板三者的连接和数据流向是怎样的呢?

手机APP向NOVA HD主控板发送数据

NOVA HD主控板向手机APP发送数据

2

APP Inventor

App Inventor是一款谷歌公司开发的手机APP编程软件,与是类似于Scratch、Mixly的图形化积木式编程软件。

APP Inventor也有在线编程平台,这里笔者推荐广州电教网的:http://app.gzjkw.net

APP Inventor的相关资料网站推荐:http://www.17coding.net/。

APP Inventor因为没有官方中文版,所以各家中文版平台的翻译略有不同,查阅资料时发现命名上的冲突,最好是查找对应的英文说明。

登录APP Inventor编程平台

可以直接用QQ账号登录。

新建项目:

APP Inventor的项目分为“组件设计”“逻辑设计”两部分,上图是组件设计界面。

其中,“组件面板”是组件库,里面有按键、文本框、滑动条、画布、蓝牙客户端等一系列组件,可以通过鼠标拖拽的方式添加到APP中。

“工作面板”的内容和最后生成的APP是完全一致的,即可以通过工作面板看到你最后做出APP是什么样子的。

“组件列表”是APP中所有组件的关系树,即屏幕1中有几个组件、屏幕2中有几个组件,名称各是什么。

“组件属性”是各个组件的具体参数设置,大部分参数可以在逻辑程序运行过程中修改。

逻辑设计是用于设计APP各组件对应的程序,即设计当用户操作各组件时,APP做出什么样的反应。

本次教程将通过APP Inventor编写一个控制NOVA端LED灯亮灭的程序。

在编写完整的APP之前,先实现按钮的一个小程序,即按一下按钮,按钮的文本由“ON”变为“OFF”;再按一下按钮,按钮的文本由“OFF”变为“ON”;

这些模块的颜色与Scratch相似,按照不同的功能种类,有不同的颜色,大家可以根据示例程序中各模块的颜色去模块库中寻找,这里不多做赘述。

在做完上述小程序APP后,可以让它在手机上运行。可以用AI伴侣快速的在手机上运行写好的APP。

点击“帮助”菜单下的“AI同伴信息”:

点击链接下载:

浏览器可能会弹出“不安全”提醒,选择继续访问。该网站是安全可靠的,由广州市电教馆开发维护。

手机上打开AI伴侣APP,扫描网页上AI伴侣生成的二维码,即可快速的运行编写好的APP,具体操作流程如下:

3

蓝牙程序的编写

蓝牙相关程序的编写,需要添加一个“蓝牙客户端”组件,它是非可视组件,即在APP中看不见它。

蓝牙模块需要选择之后才能连接,所以这里需要添加一个“列表选择框”组件。

将“列表选择框”组件名和文本名都改为“蓝牙列表”,提升程序可读性。

在逻辑设计界面里编写蓝牙模块选择程序。

程序运行效果:点击“蓝牙列表”组件,弹出蓝牙地址的选择框;再点击选择要连接的蓝牙地址,之后蓝牙连接成功。

接下来配合NOVA HD主控板和蓝牙模块,来实现手机APP和蓝牙模块的连接。

4

NOVA HD主控板与蓝牙模块的连接

NOVA的蓝牙模块上有一个8针的接口

这里的设计是为了实现防反接,两列的4个接口是轴对称的,只要做到与C0 4对4的接插,就一定不会有问题。

因为接的C0是红色接口,所以需外部供电,可以接上电池或适配器。

供电之后,蓝牙模块上的LED灯会闪烁,表示未连接,一旦连接成功,LED将变为长亮。

5

手机与蓝牙模块的配对

这里用的蓝牙模块为蓝牙2.0模块,在连接之前,需要在系统设置中完成配对。

配对示例:(示例系统版本为Android 5.0)

用AI伴侣,将写好的APP在手机上运行。按照下图的操作顺序,实现蓝牙模块的连接。

LED长亮之后,代表蓝牙连接成功。接下去继续编写蓝牙程序,让按钮处于“ON”和“OFF”时发送不同的数值。

在按钮文本切换的程序中添加蓝牙客户端发送数字的程序模块。

这时运行APP,如果未连接蓝牙,

就电机“ON/OFF”按钮,

会弹出一个错误提示,是因为蓝牙无连接情况下发送数字的报错。

所以这里应该添加一个判断条件。即新建一个全局变量“蓝牙连接成功”,它是一个布尔量,只有“true(真)”和“false(假)”两个值可取。

初始化时,变量“蓝牙连接成功”为“false(假)”,当蓝牙地址选择完成之后,将其变为“true(真)”。

手机APP端的程序编写完成,接下来编写NOVA HD端的程序。

全部的编程工作完成,可以用手机控制LED的亮灭了,同学们试试看吧。

  • 1.公司登记注册于2003年1月27日,清远市桑达电子网络媒体有限公司
    2.公司2006年起成为清远市政府定点协议供货商,电子采购供货商
    3.公司2007年被清远市相关政府部门评为安防行业状元
    4.公司2007年起成为长城电脑清远如意服务站(SP368)
    5.公司2007年承建清远市横河路口电子警察工程,开创清远电子警察先河。
  • 6.公司2007年起成为IBM合作伙伴、公司2010年底成为金蝶软件清远金牌代理(伙伴编号:30030013)
    7.公司组团队参加南方都市报组织的创富评选,获广东80强。公司申请多项软件著作权、专利权
    8.2016年起公司成为粤东西北地区为数不多的双软企业,确立“让软件驱动世界,让智能改变生活!"企业理想
    9.2016-01-29更名为广东互动电子网络媒体有限公司
    10.2021-01-13更名为广东互动电子有限公司
  • 投资合作咨询热线电话:0763-3391888 3323588
  • 做一个负责任的百年企业! 天行健,君子以自强不息;地势坤,君子以厚德载物;
    为用户创造价值! 让软件驱动世界; 让智能改变生活; 超越顾客期望,帮助顾客成功;
    对客户负责,对员工负责,对企业命运负责!帮助支持公司的客户成功;帮助忠诚于公司的员工成功!
  • 联系电话:0763-3391888 3323588 3318977
    服务热线:18023314222 QQ:529623964
  • 工作QQ:2501204690 商务QQ: 602045550
    投资及业务投诉QQ: 529623964
    微信:小米哥 微信号:qysed3391888
    腾讯微博:桑达网络-基石与起点
  • E-MAIL:222#QYSED.CN ok3391888#163.com (请用@替换#)
在线客服
  • 系统集成咨询
    点击这里给我发消息
  • 网站\微信\软件咨询
    点击这里给我发消息
  • 售后服务
    点击这里给我发消息
  • 投资合作
    点击这里给我发消息