Skip to content

アクティビティ

秘密のメッセージ

中級 | MakeCode | LED表示, ボタン, 無線 | 入出力, 抽出, 抽象化, 暗号化, 通信

ステップ1: 作る

説明

BBC micro:bitの無線通信でメッセージを送って、あなたがどう感じているかを誰かに伝えましょう。

この2つのビデオで、何を作るのか、どのようにプログラムするのか、をご案内します。

動作の仕組み

  • あなたのmicro:bitのボタンを押すと、ボタン入力毎に異なるメッセージを無線通信で他のmicro:bitに送り、あなたがどう感じているかを伝えます。 受信側のmicro:bitには、幸せや悲しみ、興奮の絵文字がLEDに表示されます。
  • 特定のmicro:bitやそのmicro:bitを持つ特定の人にメッセージを送るために、あなたと相手だけの無線グループを使ってください。
  • このプログラムは簡易的な符号化や暗号化を使用します。 例えば他の人があなたのメッセージを読むのを防ぎ、あなたは秘密のやり取りをすることができます。
  • 使用する符号化は単純な数字 暗号方式 です。 これは 暗号化 の一種です。 この例では、"17"は幸せ、"23"は悲しみ、"42"は興奮を意味します。 注意 - 数字または文字のみが無線で送信でき、絵文字は送信できません。
  • 無線グループと送ることのできるメッセージ、メッセージの暗号化方法を相手と取り決めることは、プロトコルに同意したことを意味します。プロトコルは、あなたと相手がメッセージを安全に保ちながら通信するルールです。 このシートを使用して、独自のメッセージングプロトコルを作成してください。
  • 同じ符号化が両方のmicro:bitで動作するので、あなたと相手は互いに通信することができます。

必要なもの

秘密のメッセージシート

秘密のメッセージシート

ステップ2: プログラムする

1from microbit import *
2import radio
3
4# The Python version of this project has sleep()
5# for each button press to make the A+B button work better
6
7radio.config(group=3)
8radio.on()
9
10while True:
11    if button_a.is_pressed() and button_b.is_pressed():
12        display.show(Image.SURPRISED)
13        radio.send('42')
14        sleep(300)
15        display.clear()        
16    elif button_a.is_pressed():
17        display.show(Image.HAPPY)        
18        radio.send('17')
19        sleep(300)
20        display.clear()
21    elif button_b.is_pressed():
22        display.show(Image.SAD)
23        radio.send('23')
24        sleep(300)
25        display.clear()
26        
27    message = radio.receive()
28    if message:
29        if message == '17':
30            display.show(Image.HAPPY)  
31        elif message == '23':
32            display.show(Image.SAD)
33        else:
34            display.show(Image.SURPRISED)
35        sleep(2000)
36    display.clear()
37    sleep(200)

ステップ3: 改善する

  • 絵文字をカスタマイズして、さまざまなメッセージを送る。
  • micro:bitの加速度センサやロゴタッチセンサの物理的な入力を使って、さらにメッセージを送る。
  • かくれんぼをするために、絵文字の代わりにhotやcold、warmのようなスクロールする文字列を表示する。