Skip to content

活动

雪花玻璃球

初学者 | MakeCode | LED显示器, 加速计, 扬声器​​​​, 按钮 | 动画, 迭代

第 1 步:制作

它是什么?

通过摇晃您的micro:bit来让它下雪,并按下按钮A来听到一次“twinkle”音效。

学习目标

您将学到如何在micro:bit的LED显示屏上创作动画,如何使用micro:bit的加速计来对动作进行反应,以及如何让micro:bit发出富有表现力的声音。 您将明白如何在计算机程序里使用循环。

工作原理

  • 这个程序使用micro:bit的加速计输入来感知何时被摇晃。
  • 当加速计感知到突然的移动时,程序会在micro:bit的LED显示屏上显示飘动的雪的动画。
  • 依次显示国际象棋棋盘图案及其反相图像,从而制造出雪花飘动的错觉。
  • 每显示出一张图像,程序暂停半秒(500毫秒),再显示下一张图像。 这会减慢动画的速度。
  • 这个程序使用了一个计数控制循环来依序显示两个图像十次。 循环也被叫做递归
  • 我们这个雪花玻璃球在按钮A被按下时,播放声音“twinkle”。
  • 要让micro:bit播放声音,需要您的micro:bit是V2版本。 如果您的micro:bit是V1版本,就只有动画功能生效了。 或者您可以给micro:bit接上耳机,然后把播放声音的代码替换为“play melody”代码块来播放音乐。 使用鳄鱼夹导线,连接micro:bit的引脚0到您的耳机插头的顶部,连接引脚GND到耳机插头比较长的地方。

所需材料

  • 1块micro:bit主板
  • MakeCode编辑器
  • 电池盒(选配)

第 2 步:编程

1# Imports go at the top
2from microbit import *
3
4
5while True:
6    if button_a.was_pressed():
7        audio.play(Sound.TWINKLE) 
8    if accelerometer.was_gesture('shake'):
9        for i in range(10): 
10            display.show(Image('90909:'
11                               '09090:'
12                               '90909:'
13                               '09090:'
14                               '90909'))
15            sleep(500)
16            display.show(Image('09090:'
17                               '90909:'
18                               '09090:'
19                               '90909:'
20                               '09090'))
21            sleep(500)
22        display.clear()
23

第3步:完善

  • 使用其他输入,例如按下按钮B,通过“play melody”代码块来播放节日曲调。 参考《两只老虎》循环项目怎么使用“play melody”代码块。
  • 多用几个“show LED” 代码块来创作一个更写实的下雪动画。
  • 调整小夜灯项目,改成当周围变暗时,在LED显示屏上显示飘动的雪花。