VSCode+Pythonでmicro:bitを触ってみる


micro:bitのプログラムをVSCodeとPythonで書いてみたメモです。
ビジュアルプログラミング環境で作れるのがmicro:bitの特長であって、わざわざPythonで書きたい人がいるかは怪しいですが...。
使用環境はこんな感じ。

  • MacOS Catalina 10.15.7
  • VSCode 1.52.1
  • Python 3.9.0

VSCodeにはPythonの拡張機能がすでに入っている前提での解説です。

1. uflashのインストール

micro:bitにPythonプログラムを書き込むためのツールです。

$ pip install uflash

このあと導入するVSCodeの拡張機能が"uflash"コマンドを使用するようなので、ちゃんと使えるか確認しておきます。

$ uflash --version
uflash 1.3.0

バージョンが出ればOKです。

2. VSCode拡張機能のインストール

micro:bitに対応した拡張機能をVSCodeに入れます。
拡張機能の検索欄で「micro:bit」と検索し、↓の拡張機能をインストールします。

インストールしたあとは一応VSCodeを再起動しておきましょう。
これで環境の構築は完了です。

3. Pythonファイルの作成

適当な場所に新しいディレクトリを作成し、その中にPythonファイルを作成します。
ここではディレクトリ名を「microbit」、Pythonファイル名を「main.py」としました。
作成したディレクトリをVSCodeにドラック&ドロップし、VSCode上でPythonファイルを開きます。

拡張機能がうまく入っていれば右上に「Build current file to Micro:Bit」というボタンが出てきます。

それではmicro:bit用のコードを書いてみます。

from microbit import *

while True:
    if button_a.is_pressed():
        display.show(Image.HAPPY)
    else:
        display.show(Image.ANGRY)

4. 補完が効かない問題

ここまででも最低限micro:bitへ書き込みができるのですが、まだVSCode上でmicro:bit用の関数に赤線が出てくる上に補完も効きません。
補完を働かせるにはVSCodeのコマンドパレット(Cmd+Shift+P)を開き、以下のコマンドを実行します。

Fetch micro:bit modules

コマンド実行直後はまだ赤線が消えませんがソースファイルを一度保存すると反映されて赤線が消えます。

5. micro:bitへの書き込み

micro:bitをPCに接続し、「Build current file to Micro:Bit」ボタンを押すとmicro:bit本体のオレンジ色LEDが点滅し始め、点滅が終わると書き込み完了です。
書き込み完了後、本体のAボタンを押したり離したりすると5×5LEDマトリクスに表示される顔の表情が変わります。

余談

micro:bitは単体でもLED/ボタン/センサが内蔵されていて、複数台揃えれば無線通信も可能なので工夫次第で面白いものが作れそうです。
大学の学祭で体験会をやったことがありますが、ビジュアルプログラミング環境MakeCodeを使えばプログラミング未経験の小学生でも楽しく使うことができる印象でした。
Pythonを使う場合でも日本語のドキュメントがしっかりしているので比較的始めやすいのではないでしょうか。
だいたいの子供向けプログラミング教材が1万円以上することを考えると、本体だけなら3000円前後で買える上にビジュアル開発環境もテキスト開発環境もサポートしているmicro:bitは有力な選択肢になりそうです。

参考文献