先日作成したArduino Microを使ったボリュームコントローラが割と便利だったので、今度はRaspberryPiPicoを使って同じものを作成してみました。
ArduinoMicroは1個2000~3000円くらいするので、1個550円のRaspberryPiPicoを使うことによって大幅にコストダウンすることができます。
現時点でボリュームをコントロールするという機能的には問題ないのですが、circuitPythonのフォルダがマウントされるため、微妙に美しくないです。
使用するもの
- ロータリーエンコーダモジュール
- RaspberryPiPico
接続
前回はロータリーエンコーダの5つのピンすべてをArduinoMicroに接続していましたが、よくよく考えてみたら入力ピンをプルアップに設定すればロータリーエンコーダの+ピンの接続が省略できることに気づきました。
# pin connection
# RaspPi Pico Rotary Encoder module
# GP13 <-> SW
# GP14 <-> CLK
# GP15 <-> DT
# GND <-> GND
# + (open)
PiPicoの下準備
PiPicoにcircuitPythonをセットします。
1 PiPicoのBOOTSELボタンを押しながらUSBに接続
2 adafruit-circuitpython-raspberry_pi_pico-en_US-7.1.1.uf2 をぶちこむ
3 CIRCUITPYドライブが開くので、そこのlibフォルダにHIDライブラリadafruit_hidをぶちこむ
4 MuEditoまたはThonyを使ってPiPico上のcircuitPythonにアクセス
PythonCodeを書く
エディタからCIRCUITPYドライブ内のcode.pyを開き、下のコードを書いて上書きします。
前回のArduinoMicro版と比較すると、Pythonで記述しているため雰囲気が変わりますが、アルゴリズムは全く同じです。
ロータリーエンコーダのインターフェイス
使用方法
ロータリーエンコーダを右に回すとマスターボリュームが上がります。
ロータリーエンコーダを左に回すとマスターボリュームが下がります。
ロータリーエンコーダを押すとミュート、もう一度押すとミュート解除します。
問題点
現時点では、CIRCUITPYドライブがマウントされた状態になっているため、なんか気持ち悪いです。
0 件のコメント:
コメントを投稿