学习根据陀螺仪的旋转速率改变Sphero的主要 LED。 您还将了解规范化和绝对值。 完成文本1和2后,这是一项很棒的活动。
学习目标:
• 我可以练习行业标准,包括:
- 绘制流程图
- 从伪代码创建代码
- 阅读技术文档
• 我可以定义和使用计算机科学基础知识,其中包括:
- 规范化
- 绝对值
- 有条件的:if / then / else
- 循环:infinite,while
- 陀螺仪
• 我可以学习和使用 JavaScript语法,其中包括:
- 比较传感器数据: getGyroscope()
- 绝对值:Math.abs
• 我可以使用JavaScript来创建一个程序
• 我可以使用Sphero执行创建的程序
说明
探索—介绍
在 Block 3 活动中,我们首先向您介绍 LED 是什么。 查看下面的视频并回答下列问题:
LED代表什么?
你能想到使用LED的其他设备(除了Sphero)吗?
为什么Sphero只需要三种不同的颜色通道?
探索—陀螺仪
观看下面模块 3的视频,了解 Sphero 陀螺仪的工作原理。
什么是垂直轴也被称为以及如何测量
什么是水平轴和前轴称为?
你如何指定Sphero是顺时针还是逆时针旋转?你的数值范围是什么?
技能学习—编程资源
通读下面的伪代码来帮助你建立这个程序! 有些代码已经为您编写。
编写程序的初始逻辑。
在 startProgram 函数中,调用 setStabilization 函数(设定为 false)
打开后面的 LED
让 Sphero 说:“像旋转顶部一样旋转球体来改变 L.E.D. 颜色“。
async function startProgram() {
// set stabilization to false
// turn on back LED
// speak "Spin sphero like a top to change the L.E.D. Colors"
while (true) {
// continously evaluate the yaw spin rate
// normalize gyroscope spin value
// if yaw spin rate is greater than zero (counter clockwise)
/// set main LED a matching value of green
// else
//turn main LED a matching value of red (clockwise)
await delay(0.025); // leave this here
}
}
在 while loop 内,您将使用陀螺仪评估 Sphero 的偏航旋转速率。 为了有效地做到这一点,您需要做一些小算术来规范化(代表不同比例的数字或其他比例)Sphero 的旋转速率和 LED 的 RGB 值。
陀螺仪的旋转速度范围是每秒从 0 到 2000 度。 LED 的 RGB 比例是从0 到 255。您将规范化这两个比例,以便您可以将每个旋转值表示为一种颜色
所以,要规范偏航旋转速率和LED – 2000/255 = 7.84
7.84将用作代码中的除数来表示每个旋转速率的颜色
挑战—转动 Sphero!
你的代码在第3步中是如何结束的?
如果程序未按预期工作,请花些时间进行调试。
你结束了代码吗?
不要忘记 ";".
语法是否正确?
数字值是否正确?
每次您进行更改时,请运行该程序。 这将帮助您缩小问题范围。
回顾
通过回答以下问题来反思您通过 Sphero 学到的知识:
你在这个活动中最努力的地方是哪里?
对你来说最简单的部分是什么?
什么是LED?
什么是陀螺仪?
你为什么准备旋转和LED RGB的比例?
领取专属 10元无门槛券
私享最新 技术干货