\ Amazon プライム感謝祭 10/19(土)~10/20/(日) /

Arduino 入門2 Lesson 06 【LED Matrix機能確認2】

arduino-2-lesson06-00 Arduino入門編 2
記事に広告(アフィリエイト広告)が含まれています。
スポンサーリンク
Arduino 入門2
Lesson 06
【LED Matrix機能確認2】

こにんちは、管理人のomoroyaです。

 

Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」で遊ぶ入門編2。

電子部品と組み合わせて遊ぶ前に、本Lesson06では入門編2のLesson05同様に、

Arduino UNO R4 WIFI」に搭載された新機能を確認していきます。

 

本LessonではLesson05の続きとなる「LED Matrix機能について」。

Arduino UNO R4 Minima」にはなく、「Arduino UNO R4 WIFI」の独自機能です。

この機能を使うことにより、外部にLED表示部を設けることなく「Arduino UNO R4 WIFI」のみで自己完結できます。

 

Lesson05では、2次元配列32bit整数の配列を利用することで「LED Matrix機能について」理解しました。

本Lessonでは、アニメーション表示を理解して遊んでみます。

 

Arduino入門編2では主に「Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」を使った解説をしていきます。

R3と異なり、まだ安価な互換品が出ていません(2024年7月現在)ので正規品で遊んでいきます。

 

センサーは各種センサーがそろったキットがおすすめ。

 

スポンサーリンク

はじめに

本Lessonで機能確認のため、使用するものは「Arduino UNO R4 WIFI」のみ。

簡単に遊べます。

 

Lesson 06 目標

本Lessonの目標は以下です。

1.LED Matrixにアニメーション表示させるスケッチを理解する
2.LED Matrixにアニメーション表示させるスケッチを描いてみる
3.色々描いて遊んでみましょう!!

いつものように、遊ぶことが重要です。

 

準備

ではLessonの準備に取り掛かりましょう。

使用するものはLesson05と同じく「Arduino UNO R4 WIFI」のみ。

 

必要なもの

 

本Lessonでは、UNO本体のみですが電子工作に必要なものはそろえておきましょう!!

Jumper wire、抵抗は今後も頻繁に利用します。

Jumper wireはできれば、「オス-メス オス-オス メス –メス」の3種類を揃えておくことをお勧めします。

短めが使いやすい場合も。

 

抵抗も単品で揃えるよりはセットをおすすめします。

 

抵抗、LEDなどを個別でセット品を購入しても、そんなに使わない!

という方は、「電子工作基本部品セット」が使い勝手が良い。

 

使用部品説明

使用するものは「Arduino UNO R4 WIFIのみのため割愛。

 

実践 回路作成

最初に回路図を確認してください。

Lesson05と同じとなります。

次に、回路図に合わせて部品を接続します。

最後にコードを書いて、LED Matrix機能のアニメーション表示を確認していきましょう。

 

Arduino UNO R4 WIFIのピン配置を確認したい方は入門編2のLesson02を参照してください。

 

回路図

Arduino UNO R4 WIFI」のみ使用

回路図がこちら。

Minimaのみ使用のため、結線はありません。

arduino-2-lesson05-02

 

こちらがブレッドボード図。

Minimaのみ使用のため、結線はありません。

arduino-2-lesson05-03

 

回路図は「fritzing」を利用しています。「fritzing」の使い方は下記を参照してください。

 

 

接続

下図に示すように、用意した部品を使用して接続しましょう。

使用するものはArduino UNO R4 WIFIのみ。

結線不要です!!

arduino-2-lesson05-04

 

コードの書き込み

接続が終わったら、USBケーブルを使用してUNOにプログラムを書き込んで行きましょう。

コードを書き終えたら、いつでも利用できるように「ファイル」⇒「名前を付けて保存」で保存しておきましょう。

 

コマンド説明

Lesson05で記載したコマンドを再掲しておきます。

コマンド 内容
ArduinoLEDMatrix() LED Matrixを制御するためのメインクラス
LED Matrixのオブジェクトを生成
ライブラリのメソッドにアクセスするために利用
例 ArduinoLEDMatrix matrix;
以下のコマンド説明には、ここで指定したmatrixを前提に記載
autoscroll(int32_t interval_ms) 表示される各フレームの時間をミリ秒単位で設定
begin() LED マトリックスを起動
例 matrix.begin();
next() シーケンス内の次のフレームに手動で移動
例 matrix.next();
clear() 描画をクリア
例 matrix.clear();
loadFrame(const uint32_t buffer[3]) シーケンスに含まれない新しい単一フレームを読み込み
例 matrix.loadFrame(xxxx);
renderBitmap(bitmap, rows, columns) 指定されたビットマップを描画
例 matrix.renderBitmap(bitmap, 8, 12) //8×12のビットマップを描画
bitmap:描画するビットマップデータを含む配列
例えば、例で上述したframe[8][12]のframeを指定
renderFrame(uint8_t frameNumber) 指定されたフレーム番号に基づいて特定のフレームを描画
例 matrix.renderFrame(1);
loadSequence(const uint32_t frames[][4]) アニメーション シーケンスをバッファーに読み込むが表示はしない
例 matrix.loadSequence(animation);
play(bool loop = false) レームのシーケンスの再生を開始
無期限にループするか、1 回再生するかを選択
例 matrix.play(true);
sequenceDone() シーケンスの再生が終了したかどうかを確認

全て記載していません。

他にもコマンドがあります!!

 

アニメーション部分 サンプルコード

使用するライブラリは「Arduino_LED_Matrix.h」のみ。

補足事項
LED Matrixを使用するためには、「Arduino_LED_Matrix.h」ライブラリが必要
補足説明
LED Matrixライブラリはフレームを作成し、バッファにロード
12×8 LED Matrixを制御するには少なくとも96ビットのメモリスペースが必要

 

Lesson05で解説したように・・・

アニメーション表示用のコード部分については、公式のホームページに「Matrix Editor」があるため簡単に作れます。

 

本記事では、2×2の四角形が動く動作を作成します。

まずは、下記のように一コマづつ図を描きます。
※書き終えたら▶をクリックすることで動きを確認できます。

次に、右上の</>をクリックしてダウンロードします。

名前を変えずに、保存した場合は「animation.h」という名前でダウンロードされます。

arduino-2-lesson06-01

 

ダウンロードしたものがこちら。

一旦ダウンロードしたファイルは適当な場所へおいておいてください。

後で、移動します。

下記、animation.hというファイルをスケッチ内でincludeすることで表示させます。

const uint32_t animation[][4] = {
  {
    0x0,
    0x0,
    0xc00c00,
    66
  },
  {
    0x0,
    0x3003,
    0x0,
    66
  },
  {
    0xc,
    0xc00000,
    0x0,
    66
  },
  {
    0x3003000,
    0x0,
    0x0,
    66
  },
  {
    0x0,
    0xc00c0000,
    0x0,
    66
  },
  {
    0x0,
    0x30,
    0x3000000,
    66
  },
  {
    0x0,
    0x0,
    0xc00c,
    66
  },
  {
    0x0,
    0x300,
    0x30000000,
    66
  },
  {
    0xc,
    0xc00000,
    0x0,
    66
  },
  {
    0x30030000,
    0x0,
    0x0,
    66
  }
  };

 

アニメーション表示 本体コード

下記がアニメーションを表示させるための本体コード。

■ここで注意点あり!!
このままでは、animation.hを読みこむことができません。
下記、スケッチを保存したら同じ場所に「animation.h」を保存してください。
同じ場所に保存することで、読み込むことが可能となります。

同じ場所に保存すると、xxxx.inoとは別にanimation.hというタブがIDEに現れます!

arduino-2-lesson06-02

 

■補足
matrix.play(true); // シーケンスの再生 true:無現ループ
上記でループするためvoid loop()には記載がなくてもループします。
//入門編2 Lesson 06 サンプルスケッチ
//LED Matrix機能確認 Animation編
//https://omoroya.com/
#include <Arduino_LED_Matrix.h>

#include "animation.h"   //作成したanimation.hの取り込み
ArduinoLEDMatrix matrix; //LED Matrixのオブジェクトを生成

void setup() {
  matrix.loadSequence(animation); //アニメーション シーケンスをバッファーに読み込む
  matrix.begin();                 //LED マトリックスを起動
  matrix.play(true);              // シーケンスの再生 true:無現ループ
}

void loop() {
}

 

アニメーション表示 動作確認

では、さっそく動作を確認していきます。

2×2の四角系が動いている様子がわかります。

 

まとめ

本Lessonは、以下を目標としました。

1.LED Matrixにアニメーション表示させるスケッチを理解する
2.LED Matrixにアニメーション表示させるスケッチを描いてみる
3.色々描いて遊んでみましょう!!

 

本Lessonではアニメーション表示を理解して遊んでみました。

色んなアニメーションを作って遊んでみましょう!!

 

入門編2 Lesson 06 【LED Matrix機能確認2】 はここまで。

疑問点、質問などありましたら気軽にコメントください。

 

次回、Lesson 07は【LED Matrix機能確認3】です。

文字表示を解説したいと考えています。

 

最後に

疑問点、質問などありましたら気軽にコメントください。

この電子部品の解説をしてほしい!などなどなんでもOKです。

リンク切れ、間違いなどあればコメントいただけると助かります。

 

Arduino入門編、番外編、お役立ち情報などなどサイトマップで記事一覧をぜひご確認ください。

 

Arduino入門編Arduino入門編2で使用しているUNOはAmazonにて購入可能です。

Arduino入門編では互換品を使用。

Arduinoはオープンソース。

複製して販売するのもライセンス的に問題なし。

 

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

 

学習用、遊び用、お試し用には安価な互換品がおすすめです。

 

上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。

 

Arduino入門編2では「Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」にて遊ぶため今のところは正規品を使用。(まだ互換品が・・・ほぼない)

 

Amazonでお得に買う方法

Amazonでお得に購入するならAmazon MastercardAmazonギフト券がおすすめです。

時期により異なりますが、様々なキャンペーンを実施しています。

\Amazonギフト券/
Amazonギフトカード キャンペーン

Amazon Mastercard お申込み
Amazon Mastercard 申し込み 

 

いずれの場合もプライム会員である方がお得!!

\Amazon Prime 30日間の無料会員を試す/
無料会員登録 

 

 

コメント

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