基板の半田付け
基板の半田付けを行い、制御基板が完成しました。左側が制御基板で、右側がESP32S3 DevkitCマイコンです。
サンプルプログラムの実行
コネクタHUB75のライブラリをインストールします。
ライブラリ「ESP32-HUB75-MatrixPanel-I2S-DMA」
このライブラリにはダブルバッファ機能があり、この機能でちらつきを抑止できます。
サンプルプログラム「1_SimpleTestShapes」を実行します。
しかし、このままでは接続しているポートが違うため、合わせる必要があります。
ポート定義を追加します。
// setting Port #define PIN_R1 4 #define PIN_G1 5 #define PIN_B1 6 #define PIN_R2 7 #define PIN_G2 15 #define PIN_B2 16 #define PIN_A 8 #define PIN_B 18 #define PIN_C 10 #define PIN_D 9 #define PIN_E -1 #define PIN_CLK 12 #define PIN_LAT 11 #define PIN_OE 13
次にポート定義を有効にするために、設定のプログラムを追加します。 (既に定義済みの部分の3行目から8行目をコメントアウトします)
そのあとに
変更後にプログラムを書き込みます。
void setup() {
// Module configuration
// HUB75_I2S_CFG mxconfig(
// PANEL_RES_X, // module width
// PANEL_RES_Y, // module height
// PANEL_CHAIN // Chain length
// );
HUB75_I2S_CFG mxconfig;
mxconfig.gpio.r1 = PIN_R1;
mxconfig.gpio.g1 = PIN_G1;
mxconfig.gpio.b1 = PIN_B1;
mxconfig.gpio.r2 = PIN_R2;
mxconfig.gpio.g2 = PIN_G2;
mxconfig.gpio.b2 = PIN_B2;
mxconfig.gpio.a = PIN_A;
mxconfig.gpio.b = PIN_B;
mxconfig.gpio.c = PIN_C;
mxconfig.gpio.d = PIN_D;
mxconfig.gpio.e = PIN_E;
mxconfig.gpio.lat = PIN_LAT;
mxconfig.gpio.oe = PIN_OE;
mxconfig.gpio.clk = PIN_CLK;
mxconfig.clkphase = false;
//mxconfig.gpio.e = 18;
//mxconfig.clkphase = false;
//mxconfig.driver = HUB75_I2S_CFG::FM6126A;
// Display Setup
dma_display = new MatrixPanel_I2S_DMA(mxconfig);
dma_display->begin();変更後にプログラムを書き込みます。
LEDマトリックスに文字が表示され、表示するプログラムの動作を確認することができました。
0 件のコメント:
コメントを投稿