ディスプレイ広告はマーケティングにおいて非常に重要な役割を果たしており、新聞、ポスター、グロー看板などのいくつかの方法がありますが、デジタルLEDディスプレイボードは、その信頼性と利点のために最近人気が高まっています。それらは少し高価ですが、それでも耐久性があり、カスタマイズ可能です。たとえば、広告テキストは必要なときにいつでも簡単に変更でき、公共の場所でデジタル掲示板として使用することもできます。以前は、その上に表示されるテキストを制御するために多くのボードを備えた8x8 LEDマトリックスを使用していましたが、今日はArduinoでP10ディスプレイを使用します。
このチュートリアルでは、としても知られている32×16 LEDドットマトリクス表示モジュールを使用しようとしているP10 LEDディスプレイモジュールを使用してスクロールテキストを表示するには、ArduinoのUNOを。P10モジュールをカスケード接続して、任意のサイズの広告ボードを作成できます。
必要なコンポーネント
- Arduino UNO-1
- 32 * 16 P10LEDディスプレイモジュール-1
- 16ピンFRCコネクタ-1
- 5V DC、3 AMP SMPS
- コネクタ
P10LEDマトリックスモジュールの動作
P10 LEDディスプレイモジュールは、屋外や屋内LEDディスプレイボードの任意のサイズを設計するために最も適しています。このパネルには、最高の表示結果が得られるように設計されたプラスチックハウジングに取り付けられた合計512個の高輝度LEDがあります。このようなパネルをいくつでも行と列の構造に組み合わせて、魅力的なLED看板を設計できます。
32 * 16モジュールサイズは、各行に32個のLEDがあり、各列に16個のLEDがあることを意味します。したがって、各モジュールユニットには合計512個のLEDがあります。
P10 LEDマトリックスモジュールの機能:
- 明るさ:3500-4500nits
- 最大消費電力:20W
- 電圧入力:DC 5V
- IP65防水
- 1Wピクセル構成
- 高い視野角
- 高コントラスト比
P10ディスプレイモジュールのピンの説明:
- 有効化:このピンは、PWMパルスを与えることにより、LEDパネルの輝度を制御するために使用されます。
- A、B:これらはマルチプレックス選択ピンと呼ばれます。それらは、デジタル入力を使用して、任意の多重行を選択します。
- シフトクロック(CLK)、ストアクロック(SCLK)、およびデータ:これらは通常のシフトレジスタ制御ピンです。ここでは、シフトレジスタ74HC595が使用されています。
回路図
Arduinoを搭載したP10モジュールの完全な回路図を以下に示します。
Arduino UNOとP10ディスプレイモジュールは、ピンマッピングに従って相互接続されています。
P10LEDモジュール |
Arduino UNO |
有効にする |
9 |
A |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
データ |
11 |
GND |
GND |
注: P10モジュールの電源端子を5V DCSMPSに個別に接続してください。5V、3アンペアのDC電源を1台のP10LEDモジュールに接続することをお勧めします。より多くのモジュールを接続することを計画している場合は、それに応じてSMPS定格を上げてください。
Arduinoを使用したP10LEDモジュールプログラミング
ハードウェアのセットアップが正常に完了したら、Arduinoをプログラムします。このチュートリアルの最後に、この10個のLEDディスプレイArduinoの完全なコードとビデオを示します。コードの段階的な説明を以下に示します。
まず 、すべての依存ライブラリ をプログラムに 含めます 。ここでは、P10主導の操作に 「DMD.h」 ライブラリを使用しています。このライブラリをここからダウンロードして、 ArduinoIDEに インストールします。その後、割り込みタスクに使用される「 TimerOne.h 」のライブラリを含めます。このライブラリはここからダウンロードできます。
次に、必要なすべてのフォントライブラリを含めます。この場合、表示には「ArialBlackフォント」を使用しています。
#include
次のステップでは、LEDディスプレイボードの行数と列数を定義します。この例では、モジュールを1つだけ使用しているため、ROW値とCOLUMN値は1になります。次に、ディスプレイボードでスクロールするテキストのフォント名 -Arial_Black_16 を定義します。
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module(ROW、COLUMN);
SPIターミナルを介してArduino側からの着信データをチェックする関数 scan_module() 。はいの場合、特定のイベントを実行するための割り込みピンをトリガーします。
void scan_module(){led_module.scanDisplayBySPI(); }
内部 設定() 、 タイマーを初期化し、関数への割り込みを添付 scan_module 。関数clearScreen(true)は、ディスプレイボードをクリアするために、最初はすべてのピクセルをオフに設定するために使用されます。
void setup(){Timer1.initialize(2000); Timer1.attachInterrupt(scan_module); led_module.clearScreen(true); }
次に、使用するフォントを選択し、モジュール内の文字列を表示する selectFont() 関数と「文字列メッセージプリント サーキットダイジェストへようこそを 使用して、ディスプレイに」drawMarquee()関数を。
led_module.selectFont(FONT); led_module.drawMarquee( "Welcome to Circuit Digest"、25、(32 * ROW)、0);
最後に、LEDディスプレイボード上のテキストをスクロールするには、特定の期間を使用してメッセージ全体を右方向から左方向にシフトします。
ロングスタート=ミリス(); 長いタイミング=開始; ブールフラグ= false; while(!flag){if((timming + 20)<millis()){flag = led_module.stepMarquee(-1、0); タイミング=ミリ秒(); }}
これが、ArduinoとLEDマトリックスを使用してスクロールテキスト看板を作成する方法です。
完全なコードとデモンストレーションビデオを以下に示します。