历史上的今天
返回首页

历史上的今天

今天是:2025年04月07日(星期一)

正在发生

2018年04月07日 | 跳舞机器人之上位机,其实很简单

2018-04-07 来源:eefocus

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


一、手机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 平板上位机界面


推荐阅读

史海拾趣

Blaze Display Technology Co Ltd公司的发展小趣事

在国内市场取得一定成绩后,Blaze公司开始积极拓展国际市场。通过与全球知名企业的合作,公司成功将产品打入国际市场,并赢得了良好的口碑。此外,公司还积极参加国际电子展会和交流活动,与全球同行建立了广泛的合作关系,为公司的进一步发展奠定了坚实的基础。

Elcoma公司的发展小趣事

随着公司业务的不断发展,Elcoma意识到要进一步拓展市场,必须与国际同行建立合作关系。他们积极寻求与全球知名电子企业的合作机会,通过技术交流和合作研发,不断提升自身的技术水平和市场竞争力。同时,Elcoma还积极参与国际电子展会和论坛,展示公司的最新技术和产品,吸引了众多国际客户的关注。这些国际合作不仅为Elcoma带来了更多的商业机会,也进一步提升了公司的国际影响力。

驰芯微(CHIPWISE)公司的发展小趣事

在发展过程中,驰芯微公司成功完成了多轮融资,为公司的发展提供了强有力的资金支持。这些资金主要用于车规级传感和控制类芯片的系列化业务以及新能源电池管理系统汽车电子系统一站式车规级芯片套片解决方案的研发和推广。未来,驰芯微将继续加大在技术研发和产品创新方面的投入力度,致力于成为国际领先的汽车电子芯片供应商。同时,公司还将积极拓展海外市场,提升品牌知名度和影响力。

以上五个故事框架分别围绕驰芯微公司的初创历程、技术突破、面对“芯片限制”的机遇与挑战、与明然科技的合作以及融资与未来规划等方面进行了描述。这些故事展示了驰芯微在电子行业中的发展历程和取得的成就,同时也揭示了公司未来的发展方向和目标。

圣邦微电子(Fangtek)公司的发展小趣事

在发展过程中,Aearo Technologies经历了一次重要的收购事件。3M公司看中了Aearo在能量控制领域的领先地位和技术实力,于XXXX年将其收购。收购后,Aearo Technologies成为了3M旗下的一家子公司,继续保留其品牌和技术优势。通过业务整合和资源共享,Aearo Technologies在3M的支持下实现了更快速的发展。

Eastron Corp公司的发展小趣事

随着社会的不断发展,Eastron Corp深刻认识到企业的社会责任和可持续发展的重要性。公司积极参与社会公益事业,为当地社区和环境保护做出贡献。同时,Eastron还注重节能减排和环保生产,通过技术创新和工艺改进,降低生产过程中的能耗和排放。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了基础。

请注意,这些故事仅为虚构示例,不代表任何真实事件或公司历史。

泰科天润(GPT)公司的发展小趣事

Eastron Corp一直重视人才的培养和引进。公司建立了完善的人才培养和激励机制,鼓励员工不断学习和创新。同时,Eastron还积极引进国内外优秀人才,为公司的发展注入新的活力。正是凭借一支高素质、专业化的团队,Eastron在电子行业中不断取得新的突破。

问答坊 | AI 解惑

推挽放大器的前端电路

C:\\Documents and Settings\\Administrator\\桌面\\推挽放大器的前端电路.JPG…

查看全部问答>

键盘C语言高效编程

这是驱动4×4键盘的程序,大家评论一下。…

查看全部问答>

请问:有谁使用过亚控公司嵌入版组态王

问题如题:我主要想知道你们都应用在哪个方面了?例如水处理?还是物流管理?最好能发个相关的图片上来。谢谢…

查看全部问答>

请教WINCE50下的中断处理!!

请问WINCE50下中断是怎么处理的 就是调用以下四个函数的顺序是什么:BSPIntrEnableIrq、BSPIntrDisableIrq、BSPIntrDoneIrq、BSPIntrActiveIrq 我的理解 驱动中有个中断号,如SYSINTR_TOUCH,在intr.c中通过函数OALIntrStaticTranslate将中断号 ...…

查看全部问答>

USB协议中文版

手里有USB协议中文版,要得可以留下邮箱,或者我上传到下载版…

查看全部问答>

基于ARM+FPGA的高速数据解决方案探讨

数据采集的采样速率在60M左右 使用S3C2410+Linux+Minigui进行图像显示 FPGA的作用主要是实现FIFO的功能 AD采集的数据经过FIFO连接到一个可以三态输出的芯片上,S3C2410的ngcs4连接到三态输出芯片上,三态输出芯片的输出连接到数据总线上 采用DM ...…

查看全部问答>

【求助】测频!

各位大侠,能不能给小弟发一个测频的例程呀,谢谢了!…

查看全部问答>

LM3s usb学习(第一章)

小川工作室编写,本书为LM3S的USB芯片编写,上传的均为草稿,还有没修改,可能还有很多地方不足,希望各位网友原谅! QQ:2609828265 TEL:15882446438 E-mail:paulhyde@126.com 第1章 USB基础   1.1  USB介绍    & ...…

查看全部问答>

AM335x学习心得之读懂启动文件

在以前学习ARM的时候,经常要用到启动文件,虽然AM335X的学习过程中,用不到再学习这些启动文件,而且这些文件都是用C语言编写,用不着大家在用汇编写,但是在代码中也会看到一些用大写的汇编代码,如果读懂他们,也就读懂了启动了文件,例举一些经 ...…

查看全部问答>