搜索

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 显示手绘图案 继电器 + 红外线遥控器

OLED 倒数计时器

这篇教学会使用 MakeCode 编辑 micro:bit 扩充板程序 ( EZ Start Kit+ ),透过 OLED 显示器搭配按钮开关、蜂鸣器、可变电阻,实作一个可以设定时间的倒数计时器

OLED 显示倒数时间

倒数计时器的时间显示格式,通常是以 00:00:00 来表示,如果要透过 OLED 来呈现,需要先将“数字”转换成“文字”,接着在一位数的数字前方补零,就能做到同样的效果,首先定义“启动时”的一些变数,包含 h ( 时 )、m ( 分 )、s ( 秒 ) 和 start ( 是否开始,默认 -1 表示尚未开始 ) 以及 time ( 倒数计时的总秒数 )。

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

新增 change 函数,加入数字参数 num,负责将一位数的数字前方补零。

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

change 函数内容放入逻辑判断,判断如果输入的数字小于 10,就将前方补零并转换成文字,如果大于等于 10,直接将数字转换成文字。

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

新增 show 函数,在第一列 ( x=0, y=0 ) 的位置显示 H M S 的文字,在第二列显示对应的时间,时间使用刚刚的 change 函数转换数字为对应的文字。

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

新增 count 函数,加入数字参数 num,负责计算增加或减少秒数后的时间。

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

编辑 count 函数:

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

回到“启动时”积木,在最后方呼叫 count 函数,程序烧录到 micro:bit 执行后,OLED 画面就会出现 00:00:00 的文字。

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

使用按钮开关和可变电阻,增加或减少时间

因为 EZ Start Kit 有可变电阻,所以能使用可变电阻进行秒数调整 ( 例如一次增加 1 秒或一次增加 300 秒 ),参考“OLED 显示动态数字”文章,当调整可变电阻时,在 OLED 的右下角显示可变电阻的数字,并将可变电阻的数字,以 10 为区间做变化 ( 最小值为 1 )。

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

编辑按钮 A 与按钮 B 的程序,如果 start 小于 0 时 ( 尚未开始倒数 ) 按下按钮 A,呼叫 count 函数,增加可变电阻调整的秒数,按下按钮 B,呼叫 count 函数,减少可变电阻调整的秒数。

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

将程序烧录至 micro:bit 执行后,可以用可变电阻将左下角数值调整至 300,按下 A 按钮,倒数的时间就会出现 00:05:00 ( 五分钟 )。

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

倒数计时器

最后编辑倒数计时的程序:

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

完成后,就是一个非常完整的倒数计时器 ( 如果要将数字归零,只要将可变电阻数值调整为最大,不断按下 B 按钮就可以归零 )。

micro:bit 扩充板 ( EZ Start Kit+ ) - OLED 倒数计时器

范例解答

延伸练习

如果已经熟悉了 EZ Start Kit+ OLED 倒数计时器的原理,还可以尝试更多好玩的作法:

  • 尝试加入“贪睡机制”,例如时间到了之后,按下 A 按钮可以多出一分钟 ( 解答 )。

意见反馈

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