熊おふし五郎が行く

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

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

概要

UART通信でWinPCのTeraTeamにコマンドを送信すると、Micro:bitは、受信したコマンドに応じてデータを送信します。ここでのUART通信の電文(コマンド)は改行コード付きです。また、UART-USB変換するデバイスを使います。

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

基本的な接続

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

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

f:id:bear_9973:20210113203117j:plain:w350
実際の接続状態

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

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=pin0, rx=pin1)
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ケーブルが付いているか確認することをおすすめします。