会做广播体操的机器人

来自Microduino Wikipedia
跳转至: 导航搜索


概述

今天我们用舵机模仿机器人的手臂,做广播体操,手臂能上下摆动。


模块清单

模块

模块 数量 功能
mCookie-Core 1 核心板
电池盒 1 程序下载和供电模块
mCookie-Hub 1 传感器转接板
舵机 2 舵机
舵机转接板 1 舵机转接板

其他设备

  • USB数据线*1
  • 传感器连接线*1
  • 传感器外壳*1
  • 乐高或其它固定结构

模块搭建

  • 将模块和传感器组装起来:
    • 将红色的核心模块,USB上传模块与绿色的扩展模块吸在一起;
    • 将舵机转接板连接在Hub的6/7管脚;
    • 将舵机1连接在舵机转接板的1管脚(下面3个插针);
    • 将舵机2连接在舵机转接板的2管脚(上面3个插针)。
    • 将USB连接线一端插入USB上传模块,另一端连接电脑;

编程

使用到程序块

编程思路

将左右手臂角度存储在L、R数组中,再获取数组长度,按次执行,每执行一次从两数组中分别取出一组角度,然后控制两舵机转到各自指定角度,延时半秒,让每个动作保持一会再执行下个动作。

开始编程

1、初始化数组存储角度
初始化数组L用来储存左臂动作角度。 初始化数组R用来储存右臂动作角度。

2、按次执行,获取长度,获取数组角度,控制舵机
内部程序重复执行次数为数组L的长度(数组有4项,所以程序重复执行4次)。
左臂舵机转角为数组L的第i项,转速1000 (执行重复次数i对应的那一项的角度值)。
右臂舵机转角为数组R的第i项。 延时半秒(将现在的动作保持半秒)。

  • 测试结果

上传成功后,以每个动作半秒的速度,机器人两手摆臂动作。



Q:如果我们想让机器人记住更复杂的动作,你知道应该如何修改程序吗?
A:在数组增加动作数量。

为两个数组增加项数,储存更复杂的动作,这里增加的动作是机器人右手招手动作,左手保持不动。

内部程序重复执行次数为数组L的长度(数组有4项,所以程序重复执行4次。
左臂舵机转角为数组L的第i项,转速1000(执行重复次数i对应的那一项的角度值)。
右臂舵机转角为数组R的第i项。 延时半秒(将现在的动作保持半秒)。

技术规范

相关案例

Q&A