Arduino MD_MAX72XX.h ライブラリとは?
Arduino MD_MAX72XX.h ライブラリは、ArduinoでMAX7219やMAX7221 LEDマトリクスドライバーを使用するためのライブラリです。これらのICは、LEDマトリクスディスプレイを制御するために広く使用されており、特に8×8のLEDマトリクスを複数組み合わせたディスプレイで利用されます。
リンク
MD_MAX72XXクラス
コンストラクタ
MD_MAX72XX(moduleType_t mod, uint8_t csPin)
- 説明: モジュールタイプとCSピンを指定してインスタンスを初期化します。
- パラメータ:
mod
: モジュールの種類(例:MD_MAX72XX::FC16_HW
)csPin
: チップセレクトピン
基本設定と制御
void begin(void)
- 説明: ディスプレイの初期化を行います。
- 使用例:
MD_MAX72XX mx = MD_MAX72XX(MD_MAX72XX::FC16_HW, 10);
mx.begin();
void control(uint8_t dev, controlType_t mode, int value)
- 説明: 特定のデバイスに対して特定の制御を行います。
- パラメータ:
dev
: デバイスインデックスmode
: 制御モード(例:MD_MAX72XX::INTENSITY
,MD_MAX72XX::SHUTDOWN
)value
: 制御値
- 使用例:
mx.control(0, MD_MAX72XX::INTENSITY, 8);
void clear(uint8_t dev)
- 説明: 指定されたデバイスのディスプレイをクリアします。
- パラメータ:
dev
: デバイスインデックス
- 使用例:
mx.clear(0);
void setIntensity(uint8_t intensity)
- 説明: ディスプレイの輝度を設定します。輝度は0から15の範囲で指定します。
- パラメータ:
intensity
: 輝度レベル
- 使用例:
mx.setIntensity(8);
void shutdown(bool b)
- 説明: ディスプレイをシャットダウンまたは起動します。
- パラメータ:
b
:true
の場合シャットダウン、false
の場合起動
- 使用例:
mx.shutdown(false); // ディスプレイを起動
3. ピクセル操作
void setPoint(uint8_t col, uint8_t row, bool state)
- 説明: 特定のピクセルのオン/オフを設定します。
- パラメータ:
col
: 列インデックスrow
: 行インデックスstate
:true
でオン、false
でオフ
- 使用例:
mx.setPoint(3, 2, true); // 列3、行2のピクセルをオンにする
bool getPoint(uint8_t col, uint8_t row)
- 説明: 特定のピクセルの状態を取得します。
- パラメータ:
col
: 列インデックスrow
: 行インデックス
- 戻り値: ピクセルの状態(
true
でオン、false
でオフ) - 使用例:
bool state = mx.getPoint(3, 2); // 列3、行2のピクセルの状態を取得
4. 行・列操作
void setRow(uint8_t dev, uint8_t row, uint8_t value)
- 説明: 指定されたデバイスの特定の行のピクセルを設定します。
- パラメータ:
dev
: デバイスインデックスrow
: 行インデックスvalue
: 行のピクセルデータ(各ビットがピクセルの状態を表す)
- 使用例:
mx.setRow(0, 1, 0xFF); // デバイス0の行1を全てオンにする
void setColumn(uint8_t dev, uint8_t col, uint8_t value)
- 説明: 指定されたデバイスの特定の列のピクセルを設定します。
- パラメータ:
dev
: デバイスインデックスcol
: 列インデックスvalue
: 列のピクセルデータ(各ビットがピクセルの状態を表す)
- 使用例:
mx.setColumn(0, 2, 0xAA); // デバイス0の列2を交互にオン・オフにする
uint8_t getRow(uint8_t dev, uint8_t row)
- 説明: 指定されたデバイスの特定の行のピクセルデータを取得します。
- パラメータ:
dev
: デバイスインデックスrow
: 行インデックス
- 戻り値: 行のピクセルデータ
- 使用例:
uint8_t rowData = mx.getRow(0, 1); // デバイス0の行1のピクセルデータを取得
uint8_t getColumn(uint8_t dev, uint8_t col)
- 説明: 指定されたデバイスの特定の列のピクセルデータを取得します。
- パラメータ:
dev
: デバイスインデックスcol
: 列インデックス
- 戻り値: 列のピクセルデータ
- 使用例:
uint8_t colData = mx.getColumn(0, 2); // デバイス0の列2のピクセルデータを取得
リンク
まとめ
MD_MAX72XXライブラリは、LEDマトリックスディスプレイの低レベルな制御を行うための基本的な機能を提供します。これにより、各ピクセル、行、列の制御やディスプレイ全体の操作を詳細に行うことができます。
さらに、MD_Parolaライブラリと組み合わせることで、テキストスクロールやアニメーションなどの高レベルな機能を簡単に実装することができます。
コメント