フォト
2020年8月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
無料ブログはココログ

« ESP-WROOM-02を始めました(4) WiFi経由でLEDを制御 | トップページ | 4連8x8ドットLEDマトリックスを試してみる 続編 »

2016年7月 4日 (月)

4連8x8ドットLEDマトリックスを試してみる

Aliexpressで4連の8x8ドットLEDマトリックが格安で売っていたので入手しました。
ドライバーにMAX7219を4つ使った製品です。

なんか、ドットマトリックスばっかりやってる感がありますが、表示器の制御は
面白いです。

MAX7219 Dot Matrix Module For Arduino Microcontroller 4 In One Display with 5P Line

01

到着した製品はこんな感じです。

Matrix

早速、Arduinoにて動作確認してみました。
輝度が強く、眩しいので輝度設定を最小にしました。LEDマトリック自体は明るい製品みたいです。

Dscn5373

Arduinoとの接続は5線(VCC、GND、DIN、CLK、LOAD)のみです。シフトレジスタを
使うような感じでデータを送ります。

購入した2つのうち1つは1ドット点灯しない不具合を発見。
入れ替ると点灯するので基板ではなく、8x8ドットLEDマトリックス1個が不良のようです。
まあ、これは諦めましょう。

本製品で使われている8x8ドットLEDマトリックスは5個で$3で売っているのでそちらを
買って差し換えるつもりです。

Dscn5377

動いている様子


4文字表示できると時刻や気温の表示なんかにも使えそうです。


スケッチ(プログラムソース)
ダウンロード max7219_test.zip (5.6K)

4連結の制御にちょっとはまりましたが、取りあえず出来ました。
下記のライブラリを参考にさせて頂き、制御部分を作成しました。
  https://github.com/lstoll/arduino-libraries/tree/master/Matrix

日本語フォント表示は美咲フォントを使わせて頂きて、自作ライブラリにて
行っています。コンパイルには上記スケッチとは別に下記が必要となります。

  Arduino用 美咲フォントライブラリ 教育漢字・内部フラッシュメモリ乗せ版
  https://github.com/Tamakichi/Arduino-misakiUTF16

Arduino IDEの環境では文字コードとしてUTF-8が使われています。
デモスケッチでは、表示する日本語文字列はそのままUTF-8文字列にて指定できます。

日本語文字列の指定例(スケッチより抜粋)

// デモ1
void demo2() {
  uint8_t font[8];
  uint8_t* ptr = MAX7219_getBuffer();

  char* str = "こんにちは埼玉県!熱いぞ!埼玉県!";

  MAX7219_clear();
  while(1) {
    str = getFontData(font, str);  // フォントデータの取得
    if (!str)
      break;
    scrollInFont(ptr, font, 30);
  }
}

Arduino用 美咲フォントライブラリは、Arduinoのフラッシュメモリの容量の制約から
利用できるフォントを教育漢字に絞っています。ですのであまり難しい漢字は表示できません。

さて、2つあるので繋げてなんとか32x16ドット表示を実装したいですね。
その後は、ESP-WROOM-02に繋げてインターネットから取得した情報を表示なんてのを
やってみたいです。

関連記事
4連8x8ドットLEDマトリックスを試してみる 続々編
4連8x8ドットLEDマトリックスを試してみる 続編
・4連8x8ドットLEDマトリックスを試してみる (この記事です)

« ESP-WROOM-02を始めました(4) WiFi経由でLEDを制御 | トップページ | 4連8x8ドットLEDマトリックスを試してみる 続編 »

通販」カテゴリの記事

arduino」カテゴリの記事

表示器制御関連」カテゴリの記事

コメント

こちらのブログを参考にプログラム頂き実行したのですが、「またいさ」と逆に表示されました。
スクロールも逆から流れてしまいました。どこを修正すると順番になりますか?お手数おかけしますが、何卒ご指導よろしくお願いします。

> 「またいさ」と逆に表示、スクロールも逆
推測で回答しますが、お手持ちの製品の回路図等の仕様を教えて下さい。

おそらく、LEDマトリックスの並びが私所有のものを基準とした場合、
私 :[0][1][2][3]
質問者:[3][2][1][0]
となっていると思われます。

対応策としては、
スケッチの MAX7219_matrix.cpp 内の MAX7219_update() 関数内のfor文
for (byte j=0; j < _screens; j++) {
・・・
}
のjの値を0 から _screens-1 (ここでは_screens=4) に変化させる部分を
_screens-1 から 0 に変化させるように修正すれば良いと思います。

for (byte j=_screens-1; j >=0; j--) {
・・・
}

返答が遅くなりすみませんでした。
ご指摘いただいた部分のスケッチで思うように動作しなかった為、あとはこちらで幾つか修正したら動作しました。
使用した機材と写真(googleDrive)のURLを記載させていただきます。修正する箇所を迅速に教えて頂き感謝しております。これからも応援しております!!

kwmobile 8x32 LED ドットマトリックス モジュール - Raspberry Pi Arduino DIY キット MCU - ディスプレイ 表示モジュール MAX7219 https://www.amazon.co.jp/dp/B06XJ9ZX17/ref=cm_sw_r_cp_tai_T3jxEbBEAQTCG

https://drive.google.com/drive/folders/1-EesHlG4FRcSMECgGTKrVzueX32JAK1j

返信ありがとうございます。

見た目が全く同じ製品ですね。それで微妙に仕様が異なるのは厄介ですね。
私の勉強になりました。

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 4連8x8ドットLEDマトリックスを試してみる:

« ESP-WROOM-02を始めました(4) WiFi経由でLEDを制御 | トップページ | 4連8x8ドットLEDマトリックスを試してみる 続編 »