搜索

micro:bit 教学

基本介绍

micro:bit 硬件规格 micro:bit 开发方式 使用 MakeCode 开始控制 micro:bit

程序积木

基本 输入 输入 ( V2 ) 输入 ( 更多 ) 音效 音效 ( V2 ) 灯光 灯光 ( 更多 ) 广播 广播 ( 更多 ) 循环 逻辑 变数 数学

进阶积木

函数 数组 文字 图像 游戏 引脚 引脚 ( 更多、V2 ) 控制 序列

扩展积木

超音波 ( 侦测距离 ) 温湿度 伺服马达 红外线接收 红外线发射 MAX7219 点矩阵 LCD1602 显示器 OLED1306 显示器 TM1637 七段显示器

入门范例

跳动的心 简单烟火动画 倒数计时放烟火 改变动画默认时间 剪刀石头布 ( 按钮 ) 摇骰子 一直向下的箭头 指北针 长条图显示亮度 光影魔术手 爱心呼吸灯 爱心小夜灯 按钮秀文字 按钮计数器 晃动计步器 显示随机图案 空中传爱 ( 广播 ) 超时空跑马灯 ( 广播 ) 长条图显示音量 ( V2 ) 拍手换图案 ( V2 ) 亮度乐器 ( V2 ) 翻转大黄蜂音效 ( V2 )

灯光范例

灯光绕圈 ( 座标 ) 灯光绕圈 ( 数字函数 ) 循环霹雳灯 依序点灯 ( 座标 ) 依序点灯 ( 数字函数 ) 随机不重复的灯 按钮依序开关灯 平衡灯 ( 姿势 ) 平衡灯 ( 旋转感测 ) 数组点灯 ( 显示图形 ) 数组点灯 ( 动画 ) 移动速度不同的灯

游戏范例

小玛莉游戏机 射击幽浮 记忆大考验 翻转吃豆子 猴子接香蕉 老鼠走迷宫 吃角子老虎机 太鼓达人 贪吃蛇 心电感应 ( 广播 )

电子元件范例

闪烁的 LED 灯 全彩 LED 光线变化 长条图显示土壤湿度 小夜灯 ( 光敏电阻 ) LED 显示温湿度 LCD1602 显示温湿度 超音波倒车雷达 七段显示器显示距离 人体红外线侦测 旋钮控制 LED 亮度 电流急急棒 OLED 绘制数学图形 OLED 显示手绘图案 触碰开灯 ( 引脚按下 ) 触碰开灯 ( 类比信号 ) 水果钢琴 ( 类比信号 )

MoonCar 自走车

MoonCar 教学导读 关于 MoonCar 自走车 程序积木介绍 控制移动和转弯 七彩魔幻 LED 超音波隔空推车 超音波倒车雷达 超音波隔空弹钢琴 超音波自动避障 侦测和辨识颜色 辨识颜色+演奏音乐 辨识颜色+控制移动 红外线遥控器控制移动 micro:bit 广播遥控 趋光性自走车 指北车 ( 永远转向北方 ) 循迹自走车 循迹自走车+辨识颜色 听到声音就移动 ( V2 )

EZStartKit 扩充板

EZ Start Kit 教学导读 关于 EZ Start Kit+ 程序积木介绍 LED 基本控制 LED + 按钮开关 LED + 可变电阻 LED 光感应小夜灯 RGB LED 基本控制 RGB LED + 红外线遥控器 OLED 显示文字与数字 OLED 显示动态数字 OLED 文字跑马灯 OLED 绘制图形 OLED 绘制正弦波图形 OLED 倒数计时器 OLED 显示手绘图案 继电器 + 红外线遥控器

移动速度不同的灯

这篇文章会介绍使用“函数”积木,搭配“背景执行”、“数组”、“循环”和“点亮”积木,让 micro:bit 的 LED 灯,能用不同的速度,在同一个画面中显示 ( 同一个画面里,有些灯移动的比较快,有些则移动的比较慢 )。

相关文章参考:函数、背景执行、数组、循环、点亮。

积木程序原理

当启动时,建立一个名为 list 的“二维数组”,数组第一层为 y 轴座标,第二层为 x 座标数组 ( 第一层建立第六个项目,目的为了让画面好编辑 )。

如果对于数组操作 LED 还不熟悉,可以先行阅读:数组点灯 ( 显示图形 )、数组点灯 ( 动画 )

micro:bit - 移动速度不同的灯

使用“计次循环”,次数设定 0~4 次,读取第一层数组的第一个项目,并将项目 ( 第二层数组 ) 里的项目依序取出,接着使用逻辑判断,判断如果项目数值等于 1,就点亮对应座标的 LED,如果不等于 1 则熄灭对应座标的 LED。

micro:bit - 移动速度不同的灯

完成后,启动 micro:bit 就会看见第一排的第一颗灯亮起 ( 对照数组第一排的数字 )。

micro:bit - 移动速度不同的灯

将点灯的积木放入“无限循环”( 设定 true 则重复无限次 ) 里,每次重复后将数组最后一个项目,移动到第一个项目,并暂停 100 毫秒再继续重复。

micro:bit - 移动速度不同的灯

完成后,启动 micro:bit,第一排的 LED 就会开始往右移动。

micro:bit - 移动速度不同的灯

了解控制“一排灯”的动画原理之后,接下来将透过“函数”,将共同的程序积木独立出来,再分别套用到另外四排灯,新增一个名为 led 的“函数”,再加入 y ( 第几排 ) 和 speed ( 速度 ) 两个“数字”参数。

micro:bit - 移动速度不同的灯

把重复无限次循环,放到 led 函数里,将 0 全部改成函数参数 y,暂停 100 毫秒改成函数参数 speed。

micro:bit - 移动速度不同的灯

修改后的 led 函数如下图:

micro:bit - 移动速度不同的灯

由于函数里使用了“无穷循环”,所以使用呼叫函数后,会造成函数后方的程序无法执行 ( 除非函数的循环结束 ),必须搭配“背景运行”积木,让五排灯各自呼叫各自的函数。

参考:背景运行

micro:bit - 移动速度不同的灯

完成后,启动 micro:bit,就能看到五排 led 都以不同的速度移动。

micro:bit - 移动速度不同的灯

范例解答

延伸练习

如果已经熟悉了移动速度不同的灯的原理,还可以尝试更多好玩的作法:

  • 尝试用“函数”的方法,控制参数,让灯可以往左或往右移动 ( 解答 )。

    micro:bit - 移动速度不同的灯

意见反馈

微信二维码 微信扫码关注 抖音二维码 抖音扫码关注