熊おふし五郎が行く

主にマイコンボードを動かした記録を書いています

Micro:bitからTeraTeam(WinPC)に文字データ送信

概要

Micro:bitのAボタンまたはBボタンを押すと、UART通信でWinPCのTeraTeamに文字データ(押されたボタンの名前)を送信します。

f:id:bear_9973:20210107201317p:plain:w350
概要図

基本的な接続

以下のようにMicro:bitとWin PCとを接続します。なお、Win PCはTera Termをあらかじめインストールします。

f:id:bear_9973:20210107201622p:plain:w350
基本的な接続

MicropythonとMicro:bit

以下の順に説明します。

  • フロー
  • コード
  • 動作結果

フロー

フローを以下に示します。

  1. UARTポートを設定
  2. 100 ms毎に、AボタンまたはBボタンの状態を確認
  3. AボタンまたはBボタンが押された場合は、押されたボタンの名前を送信
  4. 2に戻る(ループ)

コード

コードを以下に示します。

from microbit import *

uart.init(baudrate=9600, bits=8, parity=None, stop=1, tx=None, rx=None)
uart.write("*** Micro:bit UART test ***\r\n")

while True:
    # Aボタン、Bボタンが押されている状況は、100 ms毎に確認
    if button_a.is_pressed():
        # Aボタンが押されたことをPCに知らせる
        uart.write("A button is pressed.\r\n")
    elif button_b.is_pressed():
        # Bボタンが押されたことをPCに知らせる
        uart.write("B button is pressed.\r\n")
    else:
        pass
    sleep(100)

動作結果

UART送受信の結果を以下に示します。Micro:bitのAボタンを押すと、"A button is pressed."がTera Termに表示されます。Bボタンを押すと、"B button is pressed."がTera Termに表示されます。

f:id:bear_9973:20210107202431p:plain:w350
Tera Termのログ

※購入するときは、乾電池ボックス、USBケーブルが付いているか確認することをおすすめします。