以前のモジュールでやっと動作テスト。
Arduino nano + MAX7219
世の中、先人達がいろいろしてくれるおかげでMAX7219も制御のためのライブラリが多数ありまして、その中のLedcontrolを使わせていただきました。
特定列や行だけのデータを書き換えできるようにライブラリ中に縦8×横8の全てのビットのデータを保持するためのバッファーをもっていて、表示データの8×8ビット中の任意のLEDのビットもオン・オフが出来るようになっています。
他にも明るさや表示桁数の制限など、MAX7219の持っている全ての機能を操作できる関数が用意されていて大変便利です。
MAX7219は用途として7セグメントLED8桁のドライバーを想定していますが、このようにマトリックスタイプのLED表示器も操作できます。どちらもカソード・コモンの使い方をしますので、そのようにマトリックスLEDの配線を行う必要がありますので注意が必要です。例え行と列を逆に配線してしまってもライブラリでは1行又は1列のどちらでも操作できますので使う側からすると大した差は感じないかもしれません。
とりあえず先日入手したArduino nano I/Oボードを利用してMAX7912モジュールと結線し、ライブラリのチュートリアルとして自前の表示バッファにランダムな値をセットして全LEDのデータを流して1秒毎に書き換えるプログラムを書いて、ダウンロードして動作確認してみました。
ついでに明るさの制御も混ぜたりしてライブラリでの動作確認を済ませました。
さて、次はアナログ入力をレベルメータ的に表示させるルーチンに進みます。