王德贵
1.设计思想
开源硬件既方便,又实惠,颇受广大创客教育工作者的喜爱。众多开源硬件中Arduino是最优选择,价格便宜,兼容性好,能完成各种功能的定制。
目前安卓应用开发基础课程APPInventor也热了起来,很多学校开设了相关课程。APPInventor的优势在于既能学习编程的知识,又能掌握安卓应用开发过程,提高使用者的分析、解决问题的综合能力,还能开发一些基于手机的实用项目。
一款Arduino机器人,要是用自己设计的手机APP控制,就更吸引人了!
2.工作原理
工作模块分为两大部分。一部分是Arduino机器人,它通过蓝牙接收指令,通过控制马达从而指挥机器人运动,编程用Mixly软件,硬件接线如图1,完成机器人如图2。
另一部分是手机APP,利用APPInventor开发平台,设计一款属于自己的个性化APP应用(如图3)。其原理是利用手机APP将马达转向信息和速度信息两个数据,经过分析、合成、处理后,发送给蓝牙。蓝牙接收信息数据,并进行检索,识别方向和速度量,再传给Arduino主板,控制马达运转,从而控制机器人运动。
APP也接收主板返回的信息,確认当前工作状态,并在手机上显示出当前LED开关状态。设计利用百度语音识别功能,用语音控制机器人运动,本文只讲最基本的方法。
1.接线图
机器人搭建比较简单,按图接好线路,即可进行调试。接线时注意以下几个问题。
L298N的4个输入端in1~4分别接Arduino主板D5/D6,D9/D10,输出接对应的两个马达。注意,L298N一定要和Arduino共地,并需要外接电源,本例接7.4V航模电池。L298N也可以用L9110s代替,通过对比测试,L298N功率更大一点,运动更灵敏,速度更快一点,L9110s价格更便宜。
蓝牙模块的VCC和GND端子,分别接Arduino主板+5V和GND。
LED正极接Arduino主板D7,负极接GND。
2.机器人搭建
(1)器材:机器人底盘,万向轮,马达固定支架,7.4V2S20C800mAh航模电池,开关,马达,Arduino主板,L298N驱动模块,BT05蓝牙模块,5mm LED灯,杜邦线、螺丝若干。
(2)搭建:搭建过程比较简单,不做详述。注意固定好底盘和马达,功耗就会小一点。成品底面如图4。
3.程序设计
利用Mixly软件进行数据接收及处理。在Arduino兼容方面,Mixly软件为首选图形化软件,如果用代码编程还是首选IDE。
这是初始化程序,定义三个变量,存储方向信息、速度值和小灯状态值,同时设置串口波特率9600以保证正常通信,波特率会因为蓝牙型号的不同而有变化(如图5)。
通过自定义函数,接收手机APP发来的数据信息,然后进行分离处理,以控制马达转速(如图6)。
加上指示灯,掌握机器人的工作状态,同时通过蓝牙发送小灯状态信息,在手机APP上显示出来,达到相互通信的目的(如图7)。
1.组件设计
利用app.wxbit.com开发环境,组件的属性设置可随个人喜好修改,只要美观和方便操作即可,具体组件设置见下表。
百度语音功能需要去百度智能云注册,创建人工智能类应用,记录三个参数AppId/ApiKey/SecretKey,依次点击组件面板→人工智能→百度语音识别→组件属性,将三个Key填入。