Arduino Unoで8×8 LEDマトリックスを制御:ステップバイステップガイド
必要な部品と材料
| 部品 | 数量 |
|---|---|
| Arduino UNO | 1 |
| 8×8 LEDマトリックス(MAX7219ドライバー搭載) | 1以上 |
| ジャンパーワイヤー | 1式 |
| 2mmアクリル板(取り付け用) | 1 |
| M2×10mmネジ | 20 |
| M2ナット | 20 |
使用ソフトウェア
- Arduino IDE
プロジェクト概要
MAX7219ドライバー搭載の8×8 LEDマトリックスをカスケード接続し、Arduino Unoで制御します。文字、数字、独自アニメーション表示に応用可能。「Robô da Alegria(喜びのロボット)」プロジェクトでは5個マトリックスで顔表現を実現。
部品構成
マトリックス間はメス-メスジャンパー、最初のマトリックスからArduinoへはオス-メスジャンパーで接続。マトリックス数は用途に応じて増減可能。
組み立て
回路図通りに配線。Arduinoピンアサイン:
- D13 → 最初のマトリックス DIN
- D12 → CLK
- D11 → CS
- 5V → VCC
- GND → GND
アクリル板とネジ/ナットでマトリックスを固定(1個につき4箇所)。配線完了後、USB接続して次ステップへ。
プログラミング
- Arduino IDEで LedControl.h ライブラリを追加(GitHub)
- コードをダウンロード・コンパイル・書き込み。構成は4部:
- 目と口のパターン定義: 目は8バイト配列、口は24バイト配列
- Setup: ディスプレイ初期化・通信開始
- Main: シリアルコマンド待機、表示パターン選択
- 補助関数: `setRow`で行単位制御(`setColumn`の8倍高速)。パターンは90度反時計回りで定義
`setIntensity(1)` で輝度制限(0-15スケール)、USB給電範囲内に消費電力を抑制。
使用方法
書き込み後、シリアルモニタを開き、以下の2文字コマンドを送信(1文字目:目、2文字目:口):
目パターン
- `:` 通常 / `;` ウインク / `8` 不気味
口パターン
- `)` 笑顔 / `|` 無表情 / `(` 悲しみ
- `D`/`d` 大笑い / `O`/`o` 驚き / `P`/`p` ぺろり
例:`:)` で普通の笑顔、`;D` でウィンク大笑い。独自パターン追加やBluetooth/Wi-Fi制御への拡張も容易。
ソースコード
https://github.com/ferauche/RoboAlegria
https://github.com/wayoda/LedControl
回路図
Fritzingファイル(FLPMR9JIRKFL3VQ.fzz)とコード(FEGF6QQIRKFL5XL.ino)を参照。
製造プロセス
- Satellite CCRMAキットでセンサー駆動オーディオエフェクトを構築
- Arduino Nano 33 IoT製 フライトシミュレーター2020用コックピットパネル - LCD&CDI表示
- Microsoft Flight Simulator 2020用Arduinoスイッチ&LEDパネル
- Arduino で作るイスラム教礼拝時刻付きリアルタイムクロック
- Arduino NanoとMAX7219で作る24×16 LEDポングゲーム機
- ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
- Arduino UNOで1.17インチTFT LCDに画像を表示する方法
- スマートArduino四足歩行ロボットの製作:ステップバイステップガイド
- Arduino & MPU6050:SG90 & MG996Rサーボの精密制御
- Bolt IoTとArduino UNOでLED輝度をシームレス制御
- Arduino Unoで25kHz 4ピンPWMファンを制御 – 製作・コード・テスト