micro:bit のシリアル通信入門 — Tera Term を使った「Hello World」送信と温度計の実装
前回の記事では MakeCode を使って micro:bit に最初のプログラムを書き込む方法を解説しました。今回はシリアル通信を取り上げます。シリアル通信を使えば micro:bit の内部状態(センサ値など)をパソコン上でリアルタイムに確認できるようになります。温度センサの値を取得する温度計の実装も合わせて紹介します。
目次
Tera Term のインストール
シリアル通信の受信には Tera Term を使います。Windows 向けの定番ターミナルエミュレータで、エンジニアに広く使われているツールです。以下のサイトからインストーラーをダウンロードしてください。
https://forest.watch.impress.co.jp/library/software/utf8teraterm/
MakeCode でシリアル送信プログラムを作成する
MakeCode(https://makecode.microbit.org/)で新しいプロジェクトを作成し、「高度なブロック」→「シリアル通信」の中にある「シリアル通信 1行書きだす」ブロックを選択します。

「シリアル通信 1行書きだす」ブロックを「ずっと」ブロックに組み合わせ、文字列欄に「Hello World」と入力します。

プロジェクト名を付けてバイナリファイルをダウンロードし、前回と同じ手順で micro:bit に書き込みます。
Tera Term でシリアル受信を確認する
バイナリを書き込むと LED は消えますが、これは正常です。シリアル送信のみのプログラムのため LED 制御が含まれていないためです。Tera Term を起動して動作を確認します。
Tera Term を起動すると接続先の選択ダイアログが表示されます。一覧の中から 2 番目の COM ポートを選択してください。(環境によって表示されるポート番号は異なります。)

次にボーレートを合わせます。Tera Term のデフォルトは 9600 baud ですが、micro:bit のシリアル通信の初期値は 115200 baud です。「設定」→「シリアルポート」を開き、スピードを 115200 に変更して「現在の接続を再設定(N)」を押します。


設定が完了すると、Tera Term の画面に「Hello World」が連続して表示されます。

表示が速すぎる場合は、「基本」の「一時停止(ミリ秒)」ブロックを追加して送信間隔を調整します。1000 ミリ秒(1秒)に設定すると、LED の点灯と約 1 秒ごとの文字送信を同時に確認できます。

シリアル通信で温度センサの値を取得する
「シリアル通信が出来れば micro:bit 内部のセンサ値を容易に取得できる」という点を活用して、温度計を実装します。「シリアル通信 1行書きだす」に渡す文字列を「入力」の「温度(℃)」ブロックに置き換えるだけです。

Tera Term の画面に温度の数値が流れてくることを確認できます。

2 点注意事項を挙げておきます。
- micro:bit の温度センサはチップ温度を計測するため、市販の温度計ほどの精度はありません
- Tera Term を使わず LED に温度を直接表示することもできますが、パソコン側で数値を確認する方が後続の開発でも応用しやすいです
シリアル通信の仕組み
最後にシリアル通信の基本的な仕組みを補足します。シリアル通信とは、1 本の信号線でデータをビット単位で順番に送る通信方式です。micro:bit とパソコン間の通信に使われる主な信号線は次の 3 本です。
- TX(Transmit): データ送信
- RX(Receive): データ受信
- GND: 基準電位(グラウンド)。電圧差でデータを表現するため、送受信双方で共通の基準が必要です
Tera Term に表示される文字列は ASCII コードで送受信されており、たとえば A という文字は信号線上では 0x41 として送られています。次の記事では、シリアル通信を使ったより実践的な活用方法を解説します。





ディスカッション
コメント一覧
micro bit 2.0を接続してシリアル通信でデータを表示したいのですが、「com4へのアクセスが拒否されました」と表示されて接続できません。原因として考えられることとしてどのようなことがあるのでしょうか。
wasabi様、せっかくコメントを頂いていたのにご返信が遅くなり申し訳御座いません。
COMポートへのアクセスが拒否されるケースというのは、私の経験上、無関係なCOMポートを指定しまっている(microbitが接続されていないcomポートを指定している)のではないかと思います。
Windowsであればデバイスマネージャーを開き、microbitを接続した際に、USBシリアルデバイス(COMポート4)が表示されますので、こちらで正しいCOMポートが指定出来ているか、をご確認頂くのが宜しいかと思います。
上記がご参考になれば幸いで御座います。