LEDマトリックスドライバ MAX7219
残念ながら ディスコン(製造終了) のようで入手困難です |
連結して使用できる LEDマトリックスドライバ MAX7219を使用したユニットです。 MAX7219は1個で 8x8ドットのLEDマトリクス または 7セグメントLED8個を制御できます。 |
LEDマトリクスはソケットに挿さっており、取り外すことが出来ます。
また、基板を見た感じ、切り離して使う事もできそうです。
接続
データ送信手順は SPI MODE0 / MSB FIRST と互換なので、SPIデバイスと同じように接続して使用できます。接続ピンを変更する場合はSoftwareSPIを利用すると簡単です。
ArduinoUNO | ||
---|---|---|
DIN | MOSI | D11 |
CS | CS | D10 |
CLK | CLK | D13 |
ArduinoIDE ~MAX7219ライブラリ~
ライブラリマネージャーでMAX7219を検索LEDマトリクス用と7セグメントLED用のライブラリがリストアップされますので
今回は、MD_MAX72xxライブラリをインクルードして使用しました。
ディフォルト状態では動作がおかしいので、設定を変更します。
#define HARDWARE_TYPE MD_MAX72XX::FX16_HW
#define MAX_DEVICES 4
ハードウエアタイプとデバイス数を変更。
ハードウエアタイプは▼の4種類なので、表示の向きを見て合わせます。
DigRows | RevCols | RevRows | Enumerator | |
---|---|---|---|---|
GENERIC_HW | FALSE | TRUE | FALSE | 「一般的」なモジュール |
FC16_HW | TRUE | FALSE | FALSE | FC-16 モジュール |
PAROLA_HW | TRUE | TRUE | FALSE | Parola モジュール |
ICSTATION_HW | TRUE | TRUE | TRUE | ICStation モジュール |
ライブラリのリファレンスは、ライブラリをインストールしたフォルダの
\libraries\MD_MAX72XX\docs\index.html
から参照できます。
MAX7219のコマンド
MAX7219を直接操作する場合のコマンドは次の通りレジスタアドレレス+データの2バイトを書き込むことで操作します。
|
コマンドはCSをLOWからHIGHにしたタイミングで実行されます。
複数のMAX7219を連結している場合、コマンドは心太方式で次のデバイスに押し出されます。
N番目のLEDマトリクスだけを操作したい場合、操作対象の2バイトコマンドに続けて、N-1組のNo-OP(何もしない)命令を送信して動作を制御します。
サンプルスケッチ
MAX7219.zip 解説動画で使用しているサンプルスケッチ美咲フォントライブラリが必要です
ArduinoIDE用 美咲フォントライブラリ