自戒、点検、内省

終わらない反省会をしよう

#rubykaigi 2025でいただいたI2C接続小型LCDモジュール(8×2行)がRaspberry pi pico WHで動いたのでATOM Matrixで動かすべくpicoruby-i2cのESP32 portingにチャレンジの状況

retrospective.hatenadiary.com

ということを先だって書いてたんですが、動きました!

当該LCDを壊してしまったので買い替えて、Picoの方はI2C1は手元のチップのでは動かずI2C0の方で動かした動いたという、そういうかたちでした。

現状

動かない切り分けができてない状況

  • 当該LCDを他の手段でATOM Matrixで動かしたわけではない
  • GPIOの差し方が間違ってる
  • GPIOの指定が間違っている
  • I2Cユニット番号の指定が間違っている
  • 実装がおかしい

などいろいろあります。さてどこから切り分けていくかと、切り分けのためにケーブルもパーツも買う必要もあるなというのとがあり、今日はここまでです。

ATOM Matrix

ATOM Matrixwww.switch-science.com

R2P2-ESP32

ATOM Matrixで稼働するところまではこの手順で動作

qiita.com

github.com

Portingの参考資料

RubyKaigi 2025でも拝見

Porting PicoRuby to Another Microcontroller: ESP32 - Speaker Deck

I2C接続小型LCDモジュール(8×2行)

akizukidenshi.com

開発中のpicoruby-i2c/ports/esp32/i2c.c

I2C Driver - ESP32 - — ESP-IDF Programming Guide v4.3 documentation をみています。

https://gist.github.com/bash0C7/9d27d882417ff05c37c2456dccb63669#file-i2c-c

アプリケーションコード

PicoRuby epsode 4 - HASUMI Hitoshi - Rabbit Slide ShowのPage 17の通り。

https://gist.github.com/bash0C7/9d27d882417ff05c37c2456dccb63669#file-lcd-rb