体感控制

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

概述

Anywhere motion-motor.jpg

我们通过姿态模块来控制电机速度。

模块清单

模块

模块 数量 功能
mCookie-Core 1 核心板
电池盒 1 程序下载和供电模块
电机驱动模块 1 驱动电机
姿态模块 1 检测姿态,相当于陀螺仪
N20减速电机 1 持续转动

其他设备

  • USB数据线*1
  • 乐高或其它固定结构
Anywhere motion-motor-module.jpg

模块搭建

搭建

Anywhere motion-motor-step.jpg
  • 将模块和传感器组装起来:
    • 将电机连接在电机模块的1A/1B接口;
    • 将红色的核心控制、黄色的姿态模块和绿色的电机模块吸在黄色的电池底座上;
    • 将USB连接线一头插入电池底座,另一头连接上电脑。

编程

编程思路

电机准备姿态校准后,获取俯仰角度将俯仰角约束在-90到90度之间。将俯仰角映射在电机的控制转速区间(-255到255),最后控制电机的方向和转速。

Mixly-ctrl-motion-motor.jpg

使用的程序块

开始编程

1、电机准备,姿态校准,声明变量
电机准备。 姿态解算。 X变量用来存储电机转速。

Mixly-ctrl-motion-motor-code.jpg

2、获取俯仰角度,映射到电机控制
获将俯仰角存入X。 将X约束至-90至90之间。 将X从-90至90,映射到-255至255。

Mixly-ctrl-motion-motor-code1.jpg

3、控制电机
将X显示到串口监视器。 将1A1B接口电机速度设为X。

Mixly-ctrl-motion-motor-code2.jpg



测试结果
开机前保证姿态模块水平,5秒后在俯仰方向上可以控制电机转速和方向,倾斜角度越大,转速越大。

Anywhere motion-motor.jpg



Q:现在要将整个装置倾斜到90度才能让电机全速转动,如何增加装置的灵敏度呢?
A:将角度值约束、映射得范围小一点就行。

将X约束至-20至20之间 将X从-20至20,映射到-255至255 (现在将装置倾斜到20度就可以让电机全速转动了)。

Mixly-ctrl-motion-motor-code3.jpg

技术规范

相关案例

Q&A