ステップ1: 作る
説明
micro:bit の無線機能を使って、ハロウィーンで友達を怖がらせましょう。
このプロジェクトを作るには2つのmicro:bitが必要です。 1 つの micro:bit のボタンを押すと、2 番目の micro:bit に怖いアイコンが表示され、恐ろしい音が鳴ります。
学ぶ内容
このプロジェクトを行うことで、ネットワークについて、電子機器間で無線によって情報が送信される方法、およびコンピューター プログラムでの選択の使用について学習します。
動作の仕組み
- 両方のmicro:bitに追加されたプログラムが1つあります。
- 無線グループを31に設定します。 グループはチャンネルのようなもので、同じグループを使っているmicro:bitはメッセージを受け取ります。 0から255の好きなグループ番号を使用できます。
- 3つの恐ろしいメッセージのうち1つを送ることができます ボタン A を押すと「怒り」というメッセージが送信され、ボタン B を押すと「ずがいこつ」というメッセージが送信され、タッチ ロゴを押すと「ゆうれい」というメッセージが送信されます。
- micro:bit はメッセージを数字またはテキストとして送信できます。 このプロジェクトではテキスト メッセージを使用しているため、数値や値ではなく文字列を参照する無線 ブロックを使用するようにしてください。
- コンピューターの仕組みにおいて文字列とは、文字や数字、記号、そして空白を含むことができる一連の文字の集まりのことです。
- もう一方の micro:bit が無線メッセージを受信すると、受信したメッセージに応じて、LED ディスプレイに怒った顔、ずがいこつ、または幽霊のいずれかが表示され、さまざまな恐ろしい音が再生されます。
- 関連するアイコンはmicro:bitのディスプレイにも表示され、メッセージが送信されたことを確認できます。
必要なもの
- micro:bit 2個
- MakeCodeエディター
- バッテリーパック(推奨)
ステップ2: プログラムする
1from microbit import *
2import radio
3radio.config(group=31)
4radio.on()
5
6while True:
7 message = radio.receive()
8 if message:
9 if message == 'angry':
10 display.show(Image.ANGRY)
11 audio.play(Sound.SOARING)
12 sleep(2000)
13 display.clear()
14 elif message == 'skull':
15 display.show(Image.SKULL)
16 audio.play(Sound.MYSTERIOUS)
17 sleep(2000)
18 display.clear()
19 elif message == 'ghost':
20 display.show(Image.GHOST)
21 audio.play(Sound.HELLO)
22 sleep(2000)
23 display.clear()
24
25 if button_a.was_pressed():
26 radio.send('angry')
27 display.show(Image.ANGRY)
28 sleep(2000)
29 display.clear()
30 elif button_b.was_pressed():
31 radio.send('skull')
32 display.show(Image.SKULL)
33 sleep(2000)
34 display.clear()
35 elif pin_logo.is_touched():
36 radio.send('ghost')
37 display.show(Image.GHOST)
38 sleep(2000)
39 display.clear()
このプロジェクトはmicro:bit V2用に設計されています プロジェクトを micro:bit V1 で動作させるには、タッチ ロゴの代わりにボタン A + B を使用し、「舞い上がる」などの表現力豊かなサウンドの代わりに「メロディを再生」ブロックを使用します。
ステップ3: 改善する
- 「LEDを表示」ブロックを使って、怖いアイコンをデザインしましょう。
- 静的アイコンの代わりにアニメーションを追加します。
- 2つ目のmicro:bitがメッセージを受け取ったときに再生される怖い音楽をいくつか作成します。
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.