電子工作・プログラミングノウハウを分かりやすく解説!見逃し厳禁!せでぃあのYouTube

Arduinoで8×8LEDドットマトリクスMAX7219にテキストやアニメーション動作をさせる方法【ビジュアルプログラミングLESSON25】

Arduinoで8×8LEDドットマトリクスMAX7219にテキストやアニメーション動作をさせる方法【ビジュアルプログラミングLESSON25】
  • URLをコピーしました!

この記事内には、プロモーションが含まれます。

こんにちは、せでぃあ(@cediablog)です。

今回のArduinoプログラミングLESSON25では、「LEDドットマトリクスモジュールMAX7219のテキストスクロール表示やアニメーション表示をさせる方法」を紹介します。

MAX7219を点灯制御させる配線が完了した状態写真
今回のLESSON25の配線完成写真

本記事ではELEGOO最終版Arduinoキットに含まれるパーツを使って、簡単にMZX7219を制御させる方法を紹介します。

本記事は、プログラミングと電子パーツの知識が習得できるプログラミング初心者も安心して取り組めるテーマとなっています。

文字コードプログラミングが苦手な方も安心してプログラミングができるように、文字列を使わなビジュアルプログラミング方法も紹介しています。

せでぃあ

文字コードプログラミングが苦手!という方はビジュアルプログラミングがおすすめです!

本記事では、スクラッチベースのビジュアルプログラミングツールmBlockとArduinoIDEプログラムどちらのプログラミング方法も紹介しています。

本記事ではmBlockのアップロードモード「オン」でのプログラム例を紹介しています。

無料のブロックプログラミングツールmBlockのインストール方法については、こちらの記事を参照してください。

この記事を読んでわかること
  • MAX7219を使ったテキストスクロール・アニメーション表示方法
  • Arduino IDEでのプログラミング方法
  • mBlockを使ったビジュアルプログラミング方法
この記事を書いた人
せでぃあ

せでぃあはこんな人物です

✅プライム企業に勤める電気・機械設計エンジニア

✅親子の絆を深めるため、夏休みに子供と一緒に電子工作を製作

✅Arduinoプログラミングを用いて作ったプログラミング電子工作「信GO機」が市の発明くふう展で「優秀賞」を受賞

✅本ブログにてArduinoスクラッチプログラミングLESSON記事投稿中

✅YouTubeチャンネル「せでぃあブログちゃんねる」運営中

目次

LEDドットマトリクスモジュールMAX7219について

8×8ドットLEDマトリクスモジュールMAX7219
LEDマトリクスモジュールMAX7219

今回Arduinoキットに含まれる、LEDドットマトリクスモジュールMAX7219モジュールを使います。

8×8=64ドットのLED点灯制御が可能で、モジュール化されていることで電源線2本+信号線3本の計5本の配線だけでArduinoから点灯パターンを制御することができます。

せでぃあ

たった5本の配線で制御できるのは嬉しいですね!

MAX7129のマトリクス表示制御動作の解説

今回紹介する「MAX7219の表示動作」について説明します。

動作の説明

  • テキストスクロール「Welcome!」表示動作
  • イラストアニメーション動作
動作説明とビジュアルプログラムの作り方解説動画
動画での解説内容
  • MAX7219のテキストスクロール表示プログラム解説
  • MAX7219のアイコン表示プログラム解説
  • ライブラリで定義済のアニメーション動作15選(Arduino IDEプログラミング)

この動画を見ていただければ、MAX7219で出来ることがざっくり分かると思います。

Arduino IDEでの専用ライブラリやmBlockでの拡張ブロックのインストール方法も動画内で紹介しています。

せでぃあ

ビジュアルプログラムの作り方も動画で解説しています。

MAX7219の点灯制御に必要な準備作業

MAX7219を使ったLEDドットマトリクス点灯制御を行うまでに必要な作業を解説します。

今回は文字列を使ったプログラム形式と、文字列を使わないビジュアルプログラミング形式の両方について説明します。

あなたの作りたいプロブラム形式に対応した手順に応じて、対応してください。

プログラム形式に応じた開発環境

  • 文字列による命令語形式 ⇒ ArduinoIDE
  • スクラッチベースのビジュアル形式 ⇒ mBlock
せでぃあ

文字コードプログラミングが苦手な方は、ビジュアルプログラミング形式をチョイスしてください。

STEP
必要なものを準備

プログラミングするために、パソコンが必要です。

電子部品等の必要な機器については、このあと説明します。

STEP
Arduinoを使うためのセットアップ(Arduino IDEプログラミング時のみ)

パソコンに統合開発ソフトウェア「ArduinoIDE」のインストールを行います。

Arduinoのセットアップ方法については、以下の記事にて詳しく説明しています。

Arduino IDEでの言語プログラミングも勉強したい方は、プログラミングの流れを理解しておいてください。

以下の記事にて、プログラミングから動作確認までの流れを詳しく説明しています。

mBlockでプログラミングする場合は、ArduinoIDEのインストールは不要です。

STEP
mBlockでプログラミングするためのセットアップ(mBlockプログラミング時のみ)

パソコンにスクラッチベースのビジュアルプログラミングツール「mBlock」のインストールを行います。

以下の記事にて詳しく説明しています。

ArduinoIDEでプログラミングする場合は、mBlockのインストールは不要です。

STEP
電気配線

電子部品とジャンパーワイヤの差し込みだけで配線が可能です。

STEP
Arduino IDEプログラミング

専用開発ソフトウェア「Arduino IDE」を使います。

私が作成したプログラムをコピペして使ってください。

Arduino IDEプログラミングの基本操作については、こちらの記事にて詳しく説明しています。

mBlockでプログラミングする場合は、ArduinoIDEプログラミングは不要です。

STEP
mBlockプログラミング

スクラッチベースのビジュアルプログラミングツールmBlockを使ってプログラムを作成します

プログラム内容については、後述するプログラミング例を参考にしてください。

ArduinoIDEでプログラミングする場合は、mBlockプログラミングは不要です。

STEP
動作確認

プログラムが完成したら動作確認を行います。

MAX7219のLEDドットマトリクス点灯制御で使うもの

MAX7219のLEDドットマトリクス点灯制御に使用する機器を紹介します。

ブレッドボードも使わない、超シンプルな機器構成となります。

MAX7219のLEDドットマトリクス点灯制御に使用する機器。
配線が完了しプログラム転送できる状態写真
準備するもの
  1. パソコン
  2. Arduino本体【キット】
  3. USBケーブル【キット】
  4. MAX7219【キット】
  5. ジャンパー線(オスーメス)×5本【キット】

今回はELEGOO社の最終版スターターキットに含まれる部品で作ることができますが、Arduino裏面のショート対策としてクリアケースも併せて準備することをおすすめします。

パソコン

プログラムを作成するために必要です。

プログラム制御の演算はArduino側で行うため、パソコンのSPECは一般的なモデルで十分対応可能です。

パソコンのOSはWindows、Macどちらでも対応可能です。

Arduino本体【キット】

Arduino本体
Arduino本体

基本的なエディション「Arduino Uno」の互換機である、ELEGOO社のUNO R3を使用しています。

Arduino本体裏面のショート対策に、別売りのクリアケースの購入をおすすめしています。

各ソケットの役割など、Arduino本体の機能について以下の記事にて詳しく説明しています。

USBケーブル【キット】

必要なUSBケーブルの説明写真
USBケーブル

パソコンとArduinoを接続してプログラムデータのやり取りをするために必要です。

ブレッドボード【キット】

ブレッドボードの機能説明図
ブレッドボードの機能説明図

たくさんの穴が開いていて、部品の端子を穴に差し込むだけで電気的に接続が可能な板です。

説明図は30列のショート版ですが、最終版スターターキットに含まれる63列タイプでも機能は同じです。

ブレッドボードだけの購入も可能です。

MAX7219【キット】

8×8ドットLEDマトリクスモジュールMAX7219
MAX7219

8×8=64ドットのLEDマトリクスモジュールです。

専用ライブラリを使うことで、かんたんにテキストスクロール表示やアイコン表示を行うことができます。

ジャンパー線(オスーメス)【キット】

ジャンパー線(オス-メス)
ジャンパー線(オス-メス)

オス-メスジャンパー線を5本使用します。

MAX7219とArduinoのデジタル入出力ピンや電源ピンと接続させるために使用します。

MAX7219のLEDドットマトリクス点灯制御回路の配線方法

ここからは、各機器間の配線方法について解説します。

MAX7219を点灯制御させる配線が完了した状態写真
配線完了時の状態写真
MAX7219点灯制御回路の配線説明図
配線説明図(fritzingを用いて作成)

上図が配線説明図となりますので、これと同じ配線をすれば完成します。

MAX7219に対して5本のオスーメスジャンパー線で配線するだけで配線作業は完了です。

機器が故障するおそれがあるので、接続するプラスマイナス極性には十分注意して配線してください。

せでぃあ

落ち着いて配線作業を行ってください。

ArduinoピンとMAX7219の接続先

  • 10番ピン:CSに接続
  • 11番ピン:CLKに接続
  • 13番ピン:DINに接続
  • 5Vピン:VCCに接続
  • GNDピン:GNDに接続

機器故障させないためにも、「通電OFF」状態にて配線を行ってください。

プログラムの作り方とプログラム解説

本記事では、以下に示す「Arduino IDEプログラミング」と「mBlockプログラミング」の2通りのプログラミング方法について解説しています。

いずれか1つのプログラミング方法を用いることで、本LESSONの動作を行うことが可能です。

ArduinoIDE:文字列による命令語形式
mBlock:スクラッチベースのビジュアル形式

文字列を使わないmBlockの方が、直感的で分かりやすくプログラミング初心者の方におすすめのプログラミング方法になります。

mBlockを使ってプログラミングをする方は、mBlockの説明まで読み飛ばしてください。

せでぃあ

お好みのプログラム方法を選んでください!

MD_MAX72XXライブラリのインストール

今回紹介するプログラムでは、簡単にMAX7219を制御できる2種類のライブラリを使用します。

インストールが必要なライブラリ

  • MD_MAX72XX:マトリクス点灯制御を行う
  • MD_Parola:テキスト・アニメーション表示制御を行う
せでぃあ

これらのライブラリを1つずつインストールしていきます。

mBlockでプログラミングをする場合は、本ライブラリインストール作業は不要です。

STEP
ArduinoIDEを開いて、ライブラリを管理をクリックする。
Arduino IDEを開き、スケッチ⇒ライブラリをインクルード⇒ライブラリを管理をクリックする。

Arduino IDEを開き、スケッチ⇒ライブラリをインクルード⇒ライブラリを管理をクリックする。

STEP
MD_MAX72XXライブラリを検索する
検索窓に「MD_MAX72」と入力して、MD_MAX72XXライブラリを検索します。

検索窓に「MD_MAX72」と入力して、MD_MAX72XXライブラリを検索します。

ライブラリが検索できたら、インストールボタンをクリックしてライブラリをインストールします。

STEP
インストールが完了したことを確認する
ライブラリのインストールが完了した旨の表示がされたら、MD_MAX72XXライブラリのインストールは完了です。

ライブラリのインストールが完了した旨の表示がされたら、MD_MAX72XXライブラリのインストールは完了です。

MD_Parolaライブラリのインストール

続いて、MD_Parolaライブラリをインストールします。

mBlockでプログラミングをする場合は、本ライブラリインストール作業は不要です。

STEP
ArduinoIDEを開いて、ライブラリを管理をクリックする。
Arduino IDEを開き、スケッチ⇒ライブラリをインクルード⇒ライブラリを管理をクリックする。

Arduino IDEを開き、スケッチ⇒ライブラリをインクルード⇒ライブラリを管理をクリックする。

STEP
MD_Parolaライブラリを検索する
検索窓に「MD_Parola」と入力して、MD_Parolaライブラリを検索します。

検索窓に「MD_Parola」と入力して、MD_Parolaライブラリを検索します。

ライブラリが検索できたら、インストールボタンをクリックしてライブラリをインストールします。

STEP
ライブラリの依存関係をインストール(表示された場合のみ)
ライブラリの依存関係をインストールと表示されたら全てをインストールをクリックします。

MD_ParolaライブラリはMD_MAX72XXライブラリとセットで使用する必要があるためMD_MAX72XXライブラリのインストールが必要であると表示が出ることがあります。

MD_MAX72XXライブラリのインストールが完了していても表示される場合がありますが、気にせず「全てをインストール」をクリックすればOKです。

STEP
インストールが完了したことを確認する
ライブラリのインストールが完了した旨の表示がされたら、MD_Parolaライブラリのインストールは完了です。

ライブラリのインストールが完了した旨の表示がされたら、MD_Parolaライブラリのインストールは完了です。

Arduino IDEプログラミング

Arduino IDEとは統合開発ソフトウェアで、C言語のような文字列を用いたプログラミング方法です。

プログラミングするにあたり、ある程度の命令語を知っておく必要があります。

Arduino IDEのインストール方法については、以下の記事で詳しく説明しています。

日本語版のArduino公式リファレンスが記載されていて、関数を調べるときに重宝するのでオススメな一冊です!

せでぃあ

私もこの本を所有してプログラム作成時に活用しています!

プログラミング方法

Arduino IDEでのMAX7219制御プログラミング画面
Arduino IDEでのプログラミング画面

Arduino IDEを使って、文字列プログラミングを行います。

Arduino IDEを使ったプログラミング~動作確認方法については、以下の記事で詳細説明しています。

Arduino IDEプログラム

#include <MD_Parola.h>
#include <MD_MAX72xx.h>

// ドットマトリクスの設定
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW  // デバイス種別をFC16_HWに設定
#define MAX_DEVICES 1                      // 8x8のマトリクス表示のユニット数を1に設定
#define DATA_PIN 11                        // DATAピンを11に設定
#define CS_PIN 10                          // CSピンを10に設定
#define CLK_PIN 13                         // CLKピンを13に設定

// MD_Parolaオブジェクトを作成
MD_Parola matrix = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

void setup() {
  matrix.displayReset();   // ディスプレイをリセット
  matrix.begin();          // ディスプレイを開始
  matrix.setIntensity(1);  // ディスプレイの明るさを1に設定

  // テキストをスクロール表示する設定
  matrix.displayText("Welcome!", PA_LEFT, 100, 100, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
}

void loop() {
  // matrix.displayTextで設定したアニメーションを実行する。
  if (matrix.displayAnimate() == true) {
    matrix.displayReset();  // アニメーションが終了したらディスプレイをリセット
  }
}

このプログラムでは、MAX7219で「Welcome!」のテキストスクロール表示動作をさせます。

Arduino IDEのプログラム画面にコピーアンドペーストすることで、動作確認まで進めることができます。

各プログラム列の右側にプログラム内容をコメント記入してありますので参考にしてください。

せでぃあ

プログラム命令文についてはyoutube動画で詳しく解説しています。

プログラミング初心者の方に、おすすめなArduinoの参考書を紹介しています!

mBlockプログラミング

今回はビジュアルプログラミングで2つの動作プログラムを作成します。

紹介するプログラム

  • テキストスクロールプログラム
  • アイコン表示プログラム
スクラッチベースのビジュアルプログラミングツールmBlockプログラミングでのMAX7219テキストスクロールプログラミング画面
mBlockを使ったテキストスクロールプログラム
スクラッチベースのビジュアルプログラミングツールmBlockプログラミングでのMAX7219アイコン表示プログラミング画面
mBlockを使ったアイコン表示プログラム

ここからは、ビジュアルプログラミングツール「mBlock」を使ったプログラムの作り方を解説します。

mBlockを使ったプログラミング手順
  1. デバイスにArduino Uno R3を追加する
  2. 接続モードを「アップロードモードON」にする
  3. mBlockプログラムを作成する
  4. プログラムをArduino本体に転送する

これらの基本操作方法については、こちらの記事を参照してください。

プログラミング、動作確認方法については、本記事の説明動画でも紹介しています。

せでぃあ

ビジュアルプログラミングは直感的にプログラミングができるところが嬉しいですよね!

テキストスクロール用ブロックの追加方法

MAX7219制御用の拡張ブロックを追加することで、簡単にMAX7219を点灯制御するプログラムが作れます。

ブロックの機能詳細についてはyoutube動画にて詳しく解説しています。

STEP
拡張ボタンをクリック
mBlockを開いて、拡張ボタンをクリックします。

mBlockを開いて、拡張ボタンをクリックします。

STEP
検索窓に「matrix」と入力して検索し、ブロックを追加する。
検索窓に「matrix」と入力します。
上図に示す専用ブロックを選択して「追加」をクリックします。

検索窓に「matrix」と入力して、拡張ブロックを検索します。

上図に示すmax7219MatrixLedを選択して「追加」をクリックします。

STEP
max7219MatrixLedブロックが追加される
MAX7219専用ブロックが追加されます。

max7219MatrixLedブロックが追加され、プログラムに使用可能となります。

アイコン表示用ブロックの追加方法

8×8のLEDドットマトリクスに対して、点灯させるLEDを選択してアイコン表示させることができます。

ブロックの機能詳細についてはyoutube動画にて詳しく解説しています。

STEP
拡張ボタンをクリック
mBlockを開いて、拡張ボタンをクリックします。

mBlockを開いて、拡張ボタンをクリックします。

STEP
検索窓に「matrix」と入力して検索し、ブロックを追加する。
検索窓に「matrix」と入力します。 上図に示す専用ブロックを選択して「追加」をクリックします。

検索窓に「matrix」と入力して、拡張ブロックを検索します。

上図に示すuBrick.LedMatrixを選択して「追加」をクリックします。

STEP
uBrick.LedMatrixブロックが追加される
uBrick.LedMatrixブロックがインストールされます。

uBrick.LedMatrixブロックが追加され、プログラムに使用可能となります。

uBrick.LedMatrixブロックのアイコン部をクリックすると、デフォルトのアイコン表示以外にも自分でオリジナルの表示パターンを作成することができます。

mBlockのArduino専用ブロックについては、こちらの記事にて詳しく説明しています。

専用ライブラリを使えばMAX7219はかんたんに制御できる

この記事の内容をまとめると
  • MAX7219は配線5本でドット表示制御が可能
  • 専用ライブラリやブロックを使うことで簡単にマトリクス表示を制御可能
  • mBlockではテキストスクロールとアイコン表示それぞれ専用ブロックを使うと便利

なんといっても配線が楽なのが、MAX7219の最大の特徴と言えますね。

プログラムによってはMAX7219に対する表示の向きが異なるのでMAX7219を正しく表示できる向きに回転させて表示を楽しんでください。

MAX7219は連結して使用可能なので、4連式などにもチャレンジしてみたいと思います。

せでぃあ

MAX7219はドットサイズも大きめなので、見やすくていいですね!

最後まで読んでいただき、ありがとうございました。

Arduinoスクラッチプログラミングのおすすめ参考書について詳しく説明しています。

子供の成長を育む!小学生のお子様にぴったりなプログラミング教室が見つかるように厳選しました!

\ プライベートブランド商品が充実! /

応援ありがとうございます(^^)/

Arduinoで8×8LEDドットマトリクスMAX7219にテキストやアニメーション動作をさせる方法【ビジュアルプログラミングLESSON25】

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次