You are here

ドットマトリックスLEDの利用

単球のLEDの表示もPWMを利用するなどいろいろ楽しめるものですが、少し慣れてくるとにぎやかな、あるいは表現力の高い表示装置が欲しくなってきます。そのような時に皆さんが強い興味を示す表示装置の一つが、ドットマトリックスLEDでしょう。

ここではOPT-DML-2Sを対象として、ArduinoでのドットマトリックスLEDの基本的な操作法を紹介します。REDUINO-VALKYRIEREDUINO-GHOSTでは、このような魅力的な表示装置を面倒なワイヤワークを行うことなくワンタッチで利用できます。

OPT-DML-2Sは、8×8ドットのマトリックス(配列)を構成したLEDで、各ドットは赤と緑の2色LEDで構成されており、これらの2色の表示/非表示の組み合わせで、黒、赤、緑、橙の4色を表示できます。また、文字LCDの4ビットモードで利用する信号線で制御することができ、Arduinoで簡単かつ省ピン構成で制御することが出来ます。

ネットショップ:

redDML:ドットマトリックスLED表示ライブラリ

REDUINOシリーズでは、redDML:ドットマトリックスLED表示ライブラリを利用することで、ドットマトリックスLEDを簡単に利用することができます。ドットマトリックスLED表示装置をすぐに活用したい方は、redDMLをダウンロードしてArduino IDEのライブラリに追加してご活用ください。


ドットマトリックスLED表示操作

通常は、上記のredDMLライブラリを利用すれば良いのですが、内部的な処理を含めて知りたい方のために、以下に、ドットマトリックスLEDを利用するための基本的な操作ルーチン群を紹介します。

まず、ドットマトリックスLEDの操作ルーチンで使用する変数と定数を定義します。定義する主な変数は以下の様になります。

  • ドットマトリックスLEDを操作するI/Oピンを記録する変数
  • ドットマトリックスに表示するデータを記録する配列

ドットマトリックスLEDの初期化ルーチンDML_initを示します。初期化ルーチンの処理内容は以下の通りです。

  • 引数として与えられたI/Oピンの組み合わせを以降のドットマトリックスLEDの操作のために記録します。
  • ドットマトリックスLEDを操作できる様に、与えられたI/Oピンを出力用に設定します。
  • ドットマトリックスLEDに表示するデータを初期化します。

この初期化ルーチンの呼び出し方式では、ドットマトリックスLEDを操作するために割り当てたI/Oピンを自由に指定できるため、引数を変更するだけで、I/Oピンのどのような割当にも対応できます。

ドットマトリックスLEDへの出力ルーチンとして基本的な2種類を用意しました。

  • DML_clear:表示データをクリアするルーチン
  • DML_plot:座標と色を指定して点を打つルーチン

これらの出力ルーチンは、ドットマトリックスLEDの各点に対応するメモリ上のデータを操作するだけで、実際にドットマトリックスLEDを操作して点灯したり消灯したり操作は含んでいません。

メモリ上で操作された点ごとのデータをドットマトリックスLEDの表示に反映させる操作は、以下のDML_updateが担当しています。

DML_updateは、ダイナミック表示方式の中核的な操作を担っており、スケッチの中では、DML_updateを定期的かつ短い周期で呼び出し続ける必要があります。

ここまでで、ドットマトリックスLEDを操作する基本的なルーチン群は、出来上がりです。

プログラムの利用

それでは、ドットマトリックスLEDプログラムを利用したスケッチを記述してみましょう。

スケッチの初期化処理を記述するsetup()では、ドットマトリックスLED表示ルーチンを初期化するDML_initの呼び出しを行います。ここではVALKYRIEでの利用を想定して引数を記載しています。コメントでGHOSTでの引数も記載しておきます。

スケッチの繰り返し処理を記載するloop()には、ドットマトリックスLEDの表示更新を行うDML_updateの呼び出しを記載し、継続的かつできるだけ定期的に呼び出される様にします。

開発ソフト: