新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 【学霸带节奏】教你DIY跳舞机器人之“上位机部分”

【学霸带节奏】教你DIY跳舞机器人之“上位机部分”

作者:郭晓宇时间:2018-04-03来源:电子产品世界

  通过前两周介绍的机器人硬件部分和软件部分,你打造的机器人是否已经可以运动起来了?这周小编将主要介绍机器人的上位机部分,让你可以自由控制自己的小π。小π机器人的上位机部分分为电脑端的上位机软件和手机端的APP。

本文引用地址:http://www.eepw.com.cn/article/201804/377851.htm

  一、手机APP

  1、appinventor简介

  App Inventor 原是Google实验室(Google Lab)的一个子计划,由一群Google工程师和勇于挑战的Google使用者共同参与设计完成。Google App Inventor是一个完全在线开发的Android编程环境,抛弃复杂的程式代码而使用积木式的堆叠法来完成开发者的Android程式。除此之外它也正式支持乐高NXT机器人,对于Android初学者或是机器人开发者来说是一大福音。因为对于想要用手机控制机器人的使用者而言,他们不大需要太华丽的界面,只要使用基本元件例如按钮、文字输入输出即可。

  2、手机APP开发

  手机app部分主要包括三部分功能:实时遥控,重力遥控,动作记录。实时遥控功能即按一个动作,小π完成一个动作。可以实现较复杂动作如摇头、抬脚、晃腿、弹跳等,比如重力遥控功能主要是使用手机的重力感应模块,可以控制小π的前进、左转、右转、后退等简易动作。动作记录功能,可以实现一组动作的记录。可以实现跳舞等功能,也可以自由扩展,达到意想不到的效果。

  我们所做出的APP,是一款用于操作小π实现一系列动作的APP,下面是已经制作出来的APP操作界面。

  图1、2、3中按钮为button,提示(如图2中的“改变背景颜色:”等)为label,文本输入框为textbox等,点击按钮时会触发相应的事件,执行对应的代码。例如,当点击按钮“前”时,手机就会通过蓝牙向单片机发送的命令。

图1 重力感应界面

图2 控制界面

图3 编辑舞步界面

  使用者可以下达不同的动作指令(如运动方向、运动形态等),来完成对机器人的动作控制。并且可以通过下达其他指令(如背景颜色、音乐播放),来完成更为复杂的控制。图3为设计舞步界面,用户能设计一套属于自己的舞蹈动作。我们还设置了3套固定的动作,供用户调用。

  3、内部实现

  通信协议的基本格式为<指令,参数>。

  当APP检测到前进的按钮被按下后,APP通过手机蓝牙向小π机器人发送指令。这条指令的意思就是向前走1步。其它动作指令也是类似的。

  在重力感应模式下,手机通过内置的加速度传感器和陀螺仪获取手机当前的姿态信息,通过对姿态信息的判断发送前后左右运动命令。

  灯光颜色选择指令由三条指令构成,分别为。R、G、B的参数变化范围为0-255,这样就可以变化出1600多万种颜色。例如发送红色命令就是<255,0><0,0><0,0>。

  当手机APP接收到超声波距离、温湿度等信息时,将接收到的信息在APP界面上显示出来。

  下图是手机APP和HC-06蓝牙模块建立连接的核心代码截图,供大家参考。

图4 APP核心代码

  二、电脑上位机开发

  1、C#简介

  C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

  2、电脑端串口调试助手

  串口调试助手通过C#编写,界面如下图所示。通过“串口设置”来设置串口的相应参数,“串口检测”可以用来检测计算机可用的串口。“发送数据”可以将“数据发送”栏中的数据通过串口发送出去。一旦串口接收到数据,则会在“数据接收”栏中显示出来,通过先前设置的“字符显示”或者“HEX显示”来以字符显示或者以十六进制数显示。“清空数据”则可以清除“数据接收”栏以及“收据发送”栏中的所有数据。通过串口调试助手发送相关的命令可以对小π机器人进行调试。

图5 电脑上位机界面

  串口调试助手的程序流程大致为开始进行串口初始化,在串口初始化过程中对串口号、波特率、奇偶校验、数据位、停止位等进行设置。初始化结束后可以对命令进行收发。小π机器人中波特率为115200,无奇偶校验、数据位为8位、停止位为1位。

  3、平板端上位机开发

  Win10 IoT是微软开发的一款基于win10的物联网操作系统。在装有win10 IoT系统的平板电脑中可以直接运行小π机器人的平板端程序。平板端程序功能和手机APP程序类似,可以通过蓝牙对小π机器人进行相应的控制。程序是通过C#编写的,程序界面如下图所示。

图6 平板上位机界面



关键词: EDA设计 小π DIY

评论

技术专区

关闭