ポン菓子屋店頭用電光掲示板
電光掲示板(LED 64×16)
SODIALのLEDモジュール(8×8×4連)を4個連結して、64×16にしてArduinoDUEでコントロールさせています
「たま吉さん」のスケッチ等を参考にさせていただき(感謝!)、SODIALのモジュールはLEDユニットの並びが左右逆のようなので、少し変更して動かしています
64×16での表示は出来たので、時計と温度・湿度表示をできるようにしたら(夏の屋外営業では必須?)ケースに入れようかと思っています
ちなみに、この表示で5V入力での消費電流は約200mAなので、6000mAh程度のモバイルバッテリーで、1日はもちそうです
変更箇所1 SDカード接続ピンアサイン
//#define MOSI_SD 11 // SDカードのMOISへ接続
//#define MISO_SD 12 // SDカードのMISOへ接続
//#define CLK_SD 13 // SDカードのCLKへ接続
#define MOSI_SD 75 // SDカードのMOSIへ接続@DUE
#define MISO_SD 74 // SDカードのMISOへ接続@DUE
#define CLK_SD 76 // SDカードのCLKへ接続@DUE
変更箇所2 MAX7219接続数、表示エリアの横ドット数指定
// #define SCREENS 8 // MAX7219カスケード接続数
#define SCREENS 16 // MAX7219カスケード接続数
// #define SC_WIDTH 32 // マトリック表示横ドット数
#define SC_WIDTH 64 // マトリック表示横ドット数
変更箇所3 フレームバッファからMAX7219バッファへの変換部
// for (uint8_t i=0; i < 8; i++) {
// memcpy(&ptr[i*8],&fbuf[i*4+32], 4);
// memcpy(&ptr[i*8+4],&fbuf[i*4], 4);
// }
for (uint8_t i=0; i < 8; i++) { // each MAX7219 has 8 rows
memcpy(&ptr[i*SCREENS],&fbuf[i*SC_WIDTH/8+SC_WIDTH+7], 1);
memcpy(&ptr[i*SCREENS+1],&fbuf[i*SC_WIDTH/8+SC_WIDTH+6], 1);
memcpy(&ptr[i*SCREENS+2],&fbuf[i*SC_WIDTH/8+SC_WIDTH+5], 1);
memcpy(&ptr[i*SCREENS+3],&fbuf[i*SC_WIDTH/8+SC_WIDTH+4], 1);
memcpy(&ptr[i*SCREENS+4],&fbuf[i*SC_WIDTH/8+SC_WIDTH+3], 1);
memcpy(&ptr[i*SCREENS+5],&fbuf[i*SC_WIDTH/8+SC_WIDTH+2], 1);
memcpy(&ptr[i*SCREENS+6],&fbuf[i*SC_WIDTH/8+SC_WIDTH+1], 1);
memcpy(&ptr[i*SCREENS+7],&fbuf[i*SC_WIDTH/8+SC_WIDTH], 1);
memcpy(&ptr[i*SCREENS+8],&fbuf[i*SC_WIDTH/8+7], 1);
memcpy(&ptr[i*SCREENS+9],&fbuf[i*SC_WIDTH/8+6], 1);
memcpy(&ptr[i*SCREENS+10],&fbuf[i*SC_WIDTH/8+5], 1);
memcpy(&ptr[i*SCREENS+11],&fbuf[i*SC_WIDTH/8+4], 1);
memcpy(&ptr[i*SCREENS+12],&fbuf[i*SC_WIDTH/8+3], 1);
memcpy(&ptr[i*SCREENS+13],&fbuf[i*SC_WIDTH/8+2], 1);
memcpy(&ptr[i*SCREENS+14],&fbuf[i*SC_WIDTH/8+1], 1);
memcpy(&ptr[i*SCREENS+15],&fbuf[i*SC_WIDTH/8], 1);
}
変更箇所4 max7219_matrix.hの中の
//#define MAXSCREENS 8 // 最大接続数
#define MAXSCREENS 16 // 最大接続数
カットしたアクリル材(2セット分)到着(1/9)・・・穴あけ加工前
完成(1/17) ArduinoDUE + SODIAL LED ディスプレイモジュール×4
Arduinoシールド基板部品表(DUEの背中に乗せた基板)
①I2C接続のRTC:秋月電子 RTC-8564NB をLi電池でバックアップ(275nA)
②I2C接続のOLED:秋月電子 0.96インチ 128×64ドット OLED
③I2C接続の温湿度センサ:秋月電子 AM2322
④プッシュスイッチ×4:秋月電子
⑤Arduinoシールド基板:秋月電子 Arduino用ユニバーサルプロトシールド
⑥3.3V出力 → 5.0V入力 レベル変換IC実装(SN74LS07)
メッセージ部分は完成したので、ポン菓子屋に引き渡した
2/24(日)が「今年の初ポン=デビュー日」らしい
行ってらっしゃ~い