Adafruit MacroPad RP2040 スターターキット – 3×4キーボード+エンコーダ+ OLED

なにものか

マイコンに、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開発のほうが現実的なのではないだろうか。