历史上的今天
返回首页

历史上的今天

今天是:2025年04月09日(星期三)

正在发生

2018年04月09日 | 跳舞机器人上位机设计

2018-04-09 来源:网络整理

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

一、手机APP

1、appinventor简介

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

2、手机APP开发

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

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

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

图1 重力感应界面

图2 控制界面

图3 编辑舞步界面

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

3、内部实现

通信协议的基本格式为。

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

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

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

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

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

图4 APP核心代码

二、电脑上位机开发

1、简介

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

2、电脑端串口调试助手

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

图5 电脑上位机界面

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

3、平板端上位机开发

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

图6 平板上位机界面

推荐阅读

史海拾趣

Coiltronics公司的发展小趣事

随着市场的不断扩大,Coiltronics公司意识到单凭自身的力量难以满足日益增长的市场需求。于是,公司开始积极寻求与其他企业的战略合作。通过与知名电子设备制造商建立合作关系,Coiltronics成功将其线圈技术应用于更广泛的领域,进一步提升了市场份额。同时,这种合作也带来了双方在技术研发、市场推广等方面的深入交流,为公司的长远发展奠定了坚实基础。

Hmc Inc公司的发展小趣事

另一家名为“Innovative Memory Solutions”的公司,在2008年就开始布局HMC技术的研发。经过数年的潜心研究,该公司终于在2012年推出了首款商用HMC产品。这款产品的问世,不仅解决了传统DRAM带宽受限的问题,还显著降低了系统延迟。Innovative Memory Solutions通过积极的市场推广和与OEM厂商的合作,成功将HMC技术应用于高性能计算、数据中心等领域,实现了从研发到市场的成功跨越。

粤翔(FlyWin)公司的发展小趣事
如硬盘、闪存等存储设备,需要掉电保护电路来确保数据在断电时不会损坏。
Aborn Electronics Inc公司的发展小趣事

随着电子行业的快速发展,Aborn Electronics意识到只有不断创新才能在竞争中保持领先。公司加大了对研发的投入,引进了一批高素质的研发人才,并在多个技术领域取得了重要突破。其中,一项关于高效能电源管理技术的创新成果,不仅提高了产品的能效比,还为公司带来了可观的经济效益。这一技术的成功应用,进一步提升了Aborn Electronics在行业内的影响力。

Heatron LED Integration公司的发展小趣事

随着LED照明市场的不断扩大,Heatron LED Integration凭借敏锐的市场洞察力,迅速调整市场战略。公司不仅巩固了在国内市场的领先地位,还积极开拓国际市场,与多家国际知名企业建立了长期合作关系。通过参加国际展会、设立海外分支机构等方式,公司成功将产品推向全球多个国家和地区,实现了品牌的国际化。

Artesyn Embedded Technologies公司的发展小趣事

多年来,Artesyn Embedded Technologies一直保持着持续创新的精神。公司不断投入研发资源,推出了一系列具有创新性的产品和技术。这些创新不仅使公司在市场上保持了领先地位,也为客户提供了更加优质的产品和服务。同时,公司还积极参与国际标准的制定和推广工作,为行业的发展做出了积极的贡献。

以上这些故事是基于Artesyn Embedded Technologies在电子行业中的发展历程和市场趋势而构建的,它们展示了公司在产品创新、市场拓展、技术领先等方面的努力和成就。然而,需要注意的是,这些故事并非实际发生的事件,而是根据现有信息进行的合理推测和构建。

问答坊 | AI 解惑

matlab第三课

数组与矩阵运算 这是今天讨论的重点!…

查看全部问答>

TFT液晶彩图显示法(特别适合初学者,详细……)

TFT液晶彩图显示法,很详细,特别适合初学者,高手也可参考参考…… 值得保存………

查看全部问答>

人才需求/招聘

任职要求: 1为TD-SCDMA Node B执行RF测试用例 2在板卡级别组织和开发 HW RF测试环境 3 负责HW Node B系统的测试。 4本科以上,硕士优先,主修通信或者相关领域。 5非常了解HW RF的测试(必须要有RF仪器经验 ) 6RF 电路开发背景优先。 7熟 ...…

查看全部问答>

定制的win ce 5.0 COM1不能输出调试信息,请问这是怎么回事。

我也使用RETAILMSG函数在驱动中添加调试信息,但同样没有调试信息输出。 我修改过WINCE500\\PLATFORM\\smdk2440\\KERNEL\\HAL目录下的debug.c文件中的“NODEBUG”我也修改为0了。 #define                ...…

查看全部问答>

一道汇编题?

25. 内存地址是0000H,若有4KB的存储空间,其内存的最终地址是(  ). A.400H        B.FFFH         C.4FFH      D.1000H 答案是什么?为什么?请高手 ...…

查看全部问答>

北京佳能诚聘c/c++嵌入式开发人员!

公司:佳能 职位:研发工程师 语言:c/c++ 平台:WINCE 经验:3年以上 地点:北京 有意向者,请速联系 msn:mygy2006@hotmail.com 13910500391…

查看全部问答>

wince4.2如何调用软键盘

我装了wince4.2 再装了EVC4.0 后来装了STANDARD_SDK.msi 写了个简单的hello程序 想调用SIP 头文件包含了#include \"sipapi.h\" 工程里添加了连接coredll.lib,调用SipShowIM(SIPF_ON); 怎么就是编译不过去 提示如下 Mystest.obj : error LNK2019: ...…

查看全部问答>

ARM入门

我刚开始上班,好多东西都不懂,经理把板子给我了.让我自己弄. 问其他同事,他们都说忙,好郁闷呀! 主机,ARM开发板,uC OS/II,ADS1.2集成开发环境,JTAG仿真器.都有了. 我下一步该做什么. 是不是安装uC OS/II,然后在上面编程序. 我以前从来没有接触 ...…

查看全部问答>

力科公司确立其在示波器领域的绝对领导地位

力科公司确立其在示波器领域的绝对领导地位…

查看全部问答>

有哪位大侠有功仙童的KA5L0380?

最近再调一块电源板,是用变压器原边反馈方式,基本电路是仿造TOP系列的应用电路,但是反馈就是不行,输出为0,芯片没有启动,测所有电压脚都是在正常范围内?论坛哪位仁兄做过这种方式的电路?…

查看全部问答>