ESP32で2枚の64x32 LEDマトリクスパネルに128x32で描画してみた

以前の記事で64x32のLEDマトリクスパネルにESP32 (ESP-WROOM-32) を使って描画するライブラリを公開していました。これを改造してパネル2枚を連結した128x32に描画してみました。

www.youtube.com
f:id:NeoCat:20181101012325j:plain

使っているのは以前の記事とおなじパネル2枚とESP32です。
P3 RGBピクセルパネルHDビデオディスプレイ64×32ドットマトリックスSMD LEDディスプレイモジュール192×96mm

neocat.hatenablog.com


このパネルは裏面のコネクタに同一形状でINPUTとOUTPUTが付いており、付属のコネクターでデイジーチェーン接続することができるようになっています。
OUTPUTにはシフトレジスタの出力が繋がっており、INPUTから入ったデータが32bit分遅れて出て行くようになっているので、ライブラリからは同じインターフェイスで単に横幅が128ピクセルあるかのように扱うことができます。

f:id:NeoCat:20181101012813j:plain

改造したライブラリは128x32ブランチにあります。drawPixel() 関数の実装をいじれば、縦に並べて64x64にするといったことも可能でしょう。
なお転送するデータ量が増えるため、タイマー割り込みの頻度を少し遅くしてあります。これにより暗めの表示をするとちらついて見えることがあります。さらに枚数を増やすこともできるはずですが、よりちらついてしまいそうです。
GitHub - NeoCat/ESP32-P3RGB64x32MatrixPanel at 128x32