• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • HOME
  • Arduino
    • Arduino初心者編
    • Arduino基礎編
    • Arduino応用編
    • Arduino実践編
  • Raspberry Pi
  • microbit
  • XBee
  • Scratch
  • Contact Us
  • Privacy Policy

STEMSHIP

ものづくりを通して、科学を学ぼう!

現在の場所:ホーム / microbit / micro:bitでSTEM教育:無線通信機能を使ってみよう

micro:bitでSTEM教育:無線通信機能を使ってみよう

2020年4月15日 by STEMSHIP 1 コメント

micro:bitはBLEという無線通信機能を搭載しています。この機能を使用して、micro:bit間で文字を送ることが可能です。このセンサーを使用して、どのようなものが作れるのか?BLEの特徴は?どうやってプログラムするのか?ということを紹介します。

なにができる?

micro:bit (v1.5)の「Bluetooth 4.1 with Bluetooth low energy (BLE)」という無線通信機能を使用して、micro:bit同士で無線通信をすることができます。例えば、一方のmicro:bitのAボタンを押したときに、数字や文字列をもう一方のmicro:bitに送信することができます。これにより、リモコン操作やメッセージの送受信をすることができます。また、最近のスマートフォンはBLEを搭載しているものが多く、スマホのアプリと組み合わせて、micro:bitでスマホを操作することができます。反対に、スマホからmicro:bitを操作することもできます。

無線通信BLEとは?

BLEとは、Bluetooth low energyの略で、Bluetooth4.0で追加された仕様です。BLEは短距離低速通信ですが、低消費電力であることが利点です。micro:bitのような小型デバイスにぴったりな無線通信規格です。低速とはいえ、1Mbpsもあるので十分だと思います。周波数帯は2.4GHzを使用しているので、電子レンジの電磁波の影響を受けます。もし、通信環境が不安定な場合は、電子レンジのような2.4GHz帯の高周波製品が周りにないか確認してみてください。

どんな物が作れる?

今回のサンプルでは、一方のmicro:bitのAボタンとBボタンを交互に押すことで、もう一方のmicro:bitのLEDマトリクスに、大きいハートと小さいハートを交互に表示します。

プログラミング

シミュレータ用

まずは、シミュレータで動作確認をするためのプログラムを作ります。

無線通信を使う場合は、最初にグループを設定する必要があります。使用するブロックは、「無線→無線のグループを設定」です。

次に、コントローラ側のmicro:bitのプログラムを説明します。下の画像の左側のプログラムがそれに当たります。文字列の送信は、「無線→無線で文字列を送信」のブロックを使用します。今回は、Aボタンを押したときに、文字Aを送信し、Bボタンを押したときに、文字Bを送信します。

表示する側のmicro:bitのプログラムは、下の画像の右側です。文字列の受信は、「無線→無線で受信したとき」のブロックを使用します。受信した文字列は「receivedString」に格納されるので、この変数がAのときに、大きなハートを表示し、Bのときに小さなハートを表示するようにします。

ブロックを並べただけでは、シミュレータのmicro:bitは1個しか表示されませんが、Aボタンをクリックすると、もう1個のmicro:bitが表示されますので、思い通りの動作をしているか確認してください。

ダウンロード用

シミュレータでの動作確認が終わったら、実際にmicro:bitにダウンロードするプログラムを個別に作りましょう。「無線のグループを設定」は送信・受信両方のプログラムに入れ、グループ番号は同じ番号にする必要があります。あとは、先程と同じです。

<送信用Javascript>

input.onButtonPressed(Button.A, function () {
    radio.sendString("A")
})
input.onButtonPressed(Button.B, function () {
    radio.sendString("B")
})
radio.setGroup(1)
<受信用Javascript>
radio.onReceivedString(function (receivedString) {
    if (receivedString == "A") {
        basic.showIcon(IconNames.Heart)
    }
    if (receivedString == "B") {
        basic.showIcon(IconNames.SmallHeart)
    }
})
radio.setGroup(1)

まとめ

無線通信というと、難しそうなイメージが合ったかもしれませんが、micro:bitでは非常に簡単に実現できました。無線グループを設定して、文字列や数字を送受信する。これだけです。今回のプログラムを応用して、ラジコンのようなものが作れそうです。例えば、ボタンAを押したときに左タイヤを回転、ボタンBを押したときに右タイヤを回転、というようなプログラムです。

Filed Under: microbit 関連タグ:BLE, 無線通信

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。

最初のサイドバー

CONTACT US

  • Facebook
  • Twitter
  • Youtube

More to See

Arduinoベースのセンサノード:XBeeデータ収集ノードの製作

2021年9月27日 By STEMSHIP

Arduinoベースのセンサノード:Arduinoを使った温度センサの作製

2021年9月21日 By STEMSHIP

XBeeモジュールとBMP280センサを使用してデータ収集する

2021年5月31日 By STEMSHIP

XBeeモジュールでMicroPythonを使ってセンサを読み取る

2021年5月24日 By STEMSHIP

XBeeモジュールでセンサを読み取る:センサノードの設定と測定

2021年5月17日 By STEMSHIP

カテゴリー

  • Arduino (44)
    • Arduino初心者編 (15)
    • Arduino基礎編 (11)
    • Arduino実践編 (4)
    • Arduino応用編 (11)
    • Arduino番外編 (3)
  • MakeyMakey (1)
  • microbit (11)
  • Raspberry Pi (13)
  • Scratch (6)
  • STEM教育 (5)
  • XBee (15)
  • ものづくり教育 (2)
  • 子供の教育 (2)
  • 科学 (6)
  • 算数 (5)

Tags

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Footer

最近の投稿

  • Arduinoベースのセンサノード:スケッチ(プログラム)の作製
  • Arduinoベースのセンサノード:XBeeデータ収集ノードの製作
  • Arduinoベースのセンサノード:Arduinoを使った温度センサの作製
  • XBeeモジュールとBMP280センサを使用してデータ収集する
  • XBeeモジュールでMicroPythonを使ってセンサを読み取る

タグ

BLE DCモータ EEPROM ELEGOO ESP32 ESP8266 IoT LCD LED makeymakey MQTT Node-RED scratch STEM教育 WiFi XBee アニメーション オンラインゲーム カメラ クローン ゲーム コスチュームの変更 サーボモータ ステッピングモータ ステートマシン スピーカ タイマー ピンポン ブロック定義 ペン ライントレース ラジコン リスト 分数 割り込み 実験 工作 幼児 当たり判定 温度センサ 無線通信 物理 角度制御 重力 音楽

Search

2023年3月
月 火 水 木 金 土 日
 12345
6789101112
13141516171819
20212223242526
2728293031  
« 10月    

Copyright © 2023 · STEMSHIP.COM