Arduino MD_MAX72XX.hライブラリ

Arduino
Arduino
記事内には広告が含まれています。

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ライブラリと組み合わせることで、テキストスクロールやアニメーションなどの高レベルな機能を簡単に実装することができます。

一般的に文字を表示したいなどの場合には、MD_Parola.hライブラリと組み合わせてMD_Parola.h側で制御する方が簡単です。
別記事にて記載していますので是非参考にしてみてください。

コメント

タイトルとURLをコピーしました