多自由度人形双足舞蹈机器人 
——疯壳·机器人开发系列
整机代码

1相关简介
    
    本章将结合前面实验章节,完成机器人的整机代码。
    
    我们的机器人由 17 个舵机控制各个关节,拥有在线调试模式和脱机模式两种模式。在脱机模式下,我们的机器人将读取外部 Flash 中的数据,完成相应的动作组。而在线调试模式下,机器人将与我们所提供的上位机软件 robotCtrl 连接,实现在线控制舵机、在线运行动作组以及在线下载动作组等功能。
    2硬件设计
    
    硬件方面,关于外部 Flash 和串口 Uart 部分,可以参照前面的章节。本次将控制 17 个舵机的转动,17 个 IO 口与 3 个 74HC244 相连接,间接控制 17 路舵机的信号。
    
    
    图 1
    3软件设计
    
    我们整个软件的流程如下:
    
    
    图2
    
    代码开始运行之后,首先进行初始化。
    
    在初始化进程中,我们完成了串口初始化、IO 口初始化、定时器初始化等。关于这三个部分可以查看前面的章节。
    初始化完毕之后,就进入一个模式选择。我们的模式选择是通过测量 IO 口P01 的电压开控制机器人的模式,当 P01 为低电平时进入脱机模式,反之进入在线调试模式。如下图所示,两根线接上就是脱机模式,拔掉就是在线调试模式。

图3
    我们先进入在线调试模式。在线调试模式是通过上位机软件 robotCtrl 与我们的 IAP15W4K61S5 单片机通信。其实也就是通过串口通信,如同前面的串口控
    制舵机转动章节。但要注意的是,我们上位机软件 robotCtrl 功能对应发送的字符串是固定的,所以我们 IAP15W4K61S5 单片机处理字符程序也必须相对应。
    


    代码1
    
    void uart_int(void) interrupt 4 using 1 是我们的串口接收中断函数,将上位机
    
    软件 robotCtrl 发送的字符进行处理,执行操作命令,存储舵机角度数据到我们所建立的数据缓冲区 PnextBuff[140]里。
    当接收到上位机软件发送的下载命令字符时,IAP15W4K61S5 单片机就将缓冲区 PnextBuff[140]中的动作组数据下载到外部 Flash 中。在脱机模式下,单片机就读取外部 Flash 中的动作组数据,然后控制舵机,做出相应的动作。外部 Flash 的读写操作比较简单,可以参考前面的外部 Flash 读写章节。
    4实验现象
    
    首先打开下载软件 STC-ISP。
    
    
    图 4
    (1)点击 Keil 仿真设置,添加 STC 相关的头文件。STC 的相关头文件路径是我们之前安装 Keil C51 的路径,如果之前采用的默认路径,那么选择C 盘 Keil 文件夹。
    
    
    图 5
    (2)添加完 STC 相关的头文件,点击弹窗中的确定。
    
        
    图 6
    
    (3)设置单片机的型号、最低波特率、最高波特率如下图所示,硬件选项等选项默认即可。串口号根据实际情况选择。
    
    
    图 7
    (4)点击打开程序文件,选择我们例程中的.hex 文件。
    
    
    图 8
    (5)点击下载/编程,下载代码。
    
        
    图 9
    
    (6)按一下电路板上面的 RST 按键,完成下载。
    
    
    图 10
    
    代码下载完之后, 最终机器人就完成, 大家可以通过通过上位机软件robotCtrl 下载我们的街舞文件,然后脱机运行,可以看到机器人开始跳舞。

如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系

更多完整学习资料和对应开源套件,请登陆官网:“疯壳”

【疯壳·机器人教程9】人形街舞机器人-整机代码相关推荐

  1. 【智能机器人教程1】人形街舞机器人-套件检测教程

    多自由度人形双足舞蹈机器人 --疯壳·机器人开发系列 套件检测教程 内容简介 本文档主要介绍在如何验证多自由度人形双足街舞机器人套件正常,包括具体线路连接,实验现象验证.   具体分为以下几个步奏. ...

  2. 【开发教程1】人形街舞机器人-套件检测教程

    多自由度人形双足舞蹈机器人 套件检测教程 --机器人开发系列 内容简介 本文档主要介绍在如何验证多自由度人形双足街舞机器人套件正常,包括具体线路连接,实验现象验证.   具体分为以下几个步奏. 1.机 ...

  3. 【开发教程9】疯壳·人形街舞机器人-整机代码

    多自由度人形双足舞蹈机器人  --疯壳·机器人开发系列 整机代码 1相关简介          本章将结合前面实验章节,完成机器人的整机代码.          我们的机器人由 17 个舵机控制各个关 ...

  4. 【疯壳·机器人教程2】人形街舞机器人-机体组装及测试

    多自由度人形双足舞蹈机器人 --疯壳·机器人开发系列 机体组装及测试 1简介 (1)产品介绍 本章将介绍多自由度人形双足舞蹈机器人的硬件详情和组装说明,请认真阅读产品的组装说明,正确的按照文中的操作步 ...

  5. 【疯壳·机器人教程5】人形街舞机器人-舵机的基本控制

    多自由度人形双足舞蹈机器人 --疯壳·机器人开发系列 舵机的基本控制 1 舵机简介 本章,我们将使用 IAP15W4K61S4 单片机控制舵机的转动. 图 1 一般来说,舵机由舵盘.减速齿轮组.位置反 ...

  6. 【疯壳·机器人教程8】人形街舞机器人-多个舵机不同速率转动

    多自由度人形双足舞蹈机器人 --疯壳·机器人开发系列 多个舵机不同速率转动 1相关简介          本章将介绍两个舵机的不同速率转动原理以及代码实现,多个舵机不同速率的转动跟两个舵机的不同速率转 ...

  7. 【疯壳·机器人教程6】人形街舞机器人-串口控制舵机

    多自由度人形双足舞蹈机器人 --疯壳·机器人开发系列 串口控制舵机 1 串口简介 本章将使用 IAP15W4K61S4 单片机的串口通信来控制舵机的转动. IAP15W4K61S4 单 片 机 有 4 ...

  8. 【疯壳·机器人教程4】人形街舞机器人-PC 上位机在线调试

    多自由度人形双足舞蹈机器人 --疯壳·机器人开发系列 PC 上位机在线调试 首先在我们提供的文件中找到上位机调试软件 robotCtrl,双击打开,界面如下.            图 1     界 ...

  9. 【疯壳·机器人教程3】人形街舞机器人-控制主板设计及开发环境搭建

    多自由度人形双足舞蹈机器人  --疯壳·机器人开发系列 控制主板设计及开发环境搭建 1 控制主板简介      我们主板正面如下图所示,其中有 3 片 74HC244,是用来增加电流驱动.      ...

最新文章

  1. 武大+CMU最新开源!全面支持平面/鱼眼/球面相机的实时统一线段检测算法
  2. 全国“最高”的视觉竞赛,华为Atlas打通遥感图像智能分析任督二脉
  3. 2019.03.21 增删改
  4. 用Python求出:1到某个数的奇数序列里一共出现了多少个3
  5. 图像预处理第8步:紧缩重排数字字符
  6. matlab 低秩矩阵分解,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...
  7. vs为什么打了断点不断_为什么西餐厅里的牛排又嫩又多汁?原来大厨都做了“这一步”...
  8. linux(系统centos6.5)常用命令总结
  9. Drupal 的核心模板以及建议
  10. 判断三点是顺时针还是逆时针方向
  11. 堡垒机 请确认是否安装oracle客户端_OracleOracle数据库的安装(超详细)
  12. PHP获取服务器端的相关信息
  13. php soecket服务器搭建_PHP socket 服务器框架集
  14. axure 内部框架内容下滑_Axure教程:转盘抽奖交互原型
  15. 使用scrapy报错:attrs() got an unexpected keyword argument 'eq'解决办法
  16. 从分析***方式来谈如何防御DDoS***
  17. centos 6.2   为mysql5.6.10安装 HandlerSocket插件
  18. 有限差分法及matlab实现,有限差分法与matlab实现
  19. 爱心函数可视化 python
  20. 软件测试面试中会问的几个方面

热门文章

  1. Andrino笔记(一):准备工作+认识Andrino
  2. 掀AI电视普及热潮,暴风TV风迷节总订单量达12万台
  3. 保险业务与系统——LOMA 290 保险公司运营——第一讲——寿险公司运营
  4. Java基于阿里云OSS实现视频上传
  5. python + flash入门
  6. 供给端改革+去库存,家居行业从“困局”走向“破局”
  7. ionic3开发系列——从多重子页面返回根页面的解决方法
  8. 1.3windows命令行下使用blat发邮件带附件
  9. 音乐 linux 在线升级,咪咕音乐 for Linux 更新
  10. ubuntu 下咪咕音乐不能播放音乐的解决方法