前提
- Seeed Studio XIAO RP2040
- PRK Firmware: 0.9.20
使用方法については公式のwikiを参考にしました。
https://github.com/picoruby/prk_firmware/wiki/Tutorial_ja - macos 12.5
ボードにPRK Firmwareを入れる
- githubのreleasesからuf2ファイルをダウンロード
基本的に最新バージョンで大丈夫とのこと - USB接続しBOOTボタンを押しながらRESETボタンを押す
- ターミナルでマウントされていることを確認する
この時点では$ mount /dev/disk2s1 on /Volumes/RPI-RP2 (msdos, local, nodev, nosuid, noowners)
RPI-RP2
となっている。 - ダウンロードしたuf2ファイルを
RPI-RP2
に移動する$ mv path/to/uf2_file /Volumes/RPI-RP2/uf2_file
- もう一度マウントを確認して名称が変わっていたらファームウェア書き込みは完了
$ mount /dev/disk2 on /Volumes/PRKFirmware (msdos, local, nodev, nosuid, noowners)
keymap.rbを作成する
ピン設定やキーマップ、LEDの設定についてはkeymap.rb
というファイルで管理する。
ファイルを作成したら作業ディレクトリから/Volumes/PRKFirmware
にコピーすればOK。
更新したい時も同じ手順。
$ cp path/to/keymap.rb /Volumes/PRKFirmware/keymap.rb
ピン番号について
ボード本体に記述されている番号ではなく、それに対応する別の番号を指定して設定する必要がある。
https://www.switch-science.com/products/7634
上記サイトのピン番号が記載されている画像のMicropython
の番号を使用する。P0
のようになっているが数字のみ指定する。
キースキャンについて
https://github.com/picoruby/prk_firmware/wiki/Keyscan-matrix
キーマトリクスを使用したり、マトリクスなしの直接読み取り等指定できる。
LEDについて
https://github.com/picoruby/prk_firmware/wiki/RGBLEDRGB
クラスを使用して色やパターンを指定できる。
試してないけど、マトリクス機能を使用してより複雑なパターンも実行できるよう。
https://github.com/picoruby/prk_firmware/wiki/RGB-Matrix#rgb-matrix
色はRGB
クラスのhue
, saturation
, value
にそれぞれ値をセットすることで変えられる。
この使用例では
rgb.hue = 10 # 0-100 / default: 0
となっているが、コードを見た限りだと0~348
で指定するっぽい。
指定した値をここでrgbに変換しているっぽいけど、hue
の値での分岐の際に100までだと青系の色にできなさそうな気がする。
とりあえずこんな感じでhue
を100以上にしても動作することは確認できた。
|
|
LEDの電源についてはボード上で3V3と記載されているピンを使用した。
LEDの仕様上5vの電圧が必要で、3V3では仕様外の使い方となるらしい。
https://zenn.dev/koron/articles/390bb5efa43ad0
実際には上記記事のやり方で使用するのが良さそう。
VCCピンを使用しても動作することは確認できたけど、この場合はDINで使用するピンが3.3vの出力なので電圧が合わない。
逆流防止のためにこっちも電圧を合わせに行く必要がありそう。
その他
ブレッドボードとテープ式LED(LEDは10個点灯まで確認)を使用して簡単にPRK firmwareの使い方を確認できた。
QMK firmware等他のを使い込んだ経験がないのでどちらが良いとも言えないが、
ボードに書き込むのに特にツールが必要ないので、導入時のハードルはかなり低い印象。