なにものか
マイコンに、12個のキーと、ディスプレイとつまみがついたキーパッドである。そうだ、ブザーもついてる。I2C通信すれば他の機器とも接続できる。
このくらいのインターフェースになってれば、プログラミングするだけである程度のものが作れそうだ。
入手
私はスイッチサイエンスで買った。
組み立て
キットにはスイッチは実装されていない、コネクタだけが実装されている。このコネクタに付属のスイッチをはめ込んでいく。スイッチには方向があるので、コネクタ部分をよく観察しながら方向を決める。注意して取り付けていく。取り付ける順番をちょっと工夫するとうまいこと行ける。
ブザーを鳴らしてみよう
このマイコンは、Arduinoで開発するか、Python使うか、C/C++でごりごり開発するかのどれかである。なにで作ってもいいんだけど、Pythonで作ってみようか。プログラミングが楽なこと、書き換えが容易なことなど、プロトタイプを作るのには面白いかもしれないからである。
Python環境を作る
買ってきただけではPythonは使えない。ここにPythonファームウェアを書き込むと使えるようになる。マイコンで動作するPythonにはどうやら2つの実装がある。今回はこのMacroPadを開発したAdafruitが作ってるPython環境であるCircuitPythonを使うことにする。
こんな感じかな。
- CircuitPythonのページを開く
- MacroPad RP2040のダウンロードページに行く
- 好きな言語の.UF2ファイルをダウンロードする
- MacroPadの右上にあるダイヤル(エンコーダーっていうので、これからはそう呼ぼう)を押しながらUSBケーブルで接続する
- パソコンにドライブが一つ現れるので、そこに先程ダウンロードしたファイルを単純にコピーする
はい、完成。コピーが終わると、勝手に再起動してさっきあったドライブがなくなって、新しくCIRCUITPYというドライブが現れる。これでPython環境ができた。
ライブラリのインストール
もちろんこれだけでも動作するんだけど、せっかくならばライブラリも入れておこう。
- ライブラリのページを開く
- “Bundle for Version 7.x”の最新版をダウンロードする
- これを展開するといろんなフォルダが現れるので、libフォルダを、MacroPadのCIRCUITPYフォルダのルートにそっくりコピーする
できた。どのバージョンのバンドルをダウンロードするかは、CircuitPythonのファームのバージョンに合わせて決定する。このページを書いた時点では7.2.5だったので、バンドルは7.xということになっている。
ではではプログラミング
プログラミングは簡単だ。コードをエディタで書いて、MicroPadにコピーするだけでよい。code.pyという名前でコピーすると、勝手に動き始める。
import time
from adafruit_macropad import MacroPad
macropad = MacroPad()
macropad.start_tone(2000)
time.sleep(0.2)
macropad.stop_tone()
macropad.start_tone(1000)
time.sleep(0.2)
macropad.stop_tone()
プログラミング学習に利用できるかなあ
エディタで何かを書くことと、ファイル操作ができれば、このデバイスでプログラミングを楽しむことができる。1行でだって動く。ArduinoやC/C++で開発をするときには、C言語系の文法をある程度覚えて、あるいはcmakeの使い方を覚えて、ターミナル操作をしなければならない。それよりはPython開発のほうが現実的なのではないだろうか。