Arduino 電子工作基礎 電子部品

【Arduinoで電子工作-9】74HC595を使用したドットマトリクスLED制御基板の作成【シフトレジスタ】

この記事は<JLCPCB>様の提供で執筆しています。

74HC595を使用したドットマトリクスLED制御テスト用
Arduinoシールド基板の作成

開発の経緯

はじめに

今回のプロジェクトでは、前回の記事に引き続き74HC595シフトレジスタを使用し、ドットマトリクスLEDをSPIで制御する基板の作成に挑戦しました。

https://akizukidenshi.com/catalog/g/gI-14053/

このプロジェクトは、簡素化されたインターフェースを通じて複雑なドットマトリクスLEDのダイナミック点灯を理解し
それを実践することを目的としています。

プロジェクトの背景

Arduinoはその汎用性とアクセスしやすさで知られていますが、多数のLEDを直接制御する際には特有の課題があります。
Arduinoボードには限られた数のI/Oピンがあるため、大量のLEDを個別に制御することは困難です。

たとえば、8x8のドットマトリクスをフルに制御するには64個のI/Oピンが必要になりますが、
一般的なArduinoボードにはこれほど多くのピンが備わっていません。

ここで、「ダイナミック点灯」という手法が用いられることがあります。
これは各行または各列を順番に高速に点灯させることで、複数のLEDを同時に点灯しているように見せる方法です。
しかし、この方法を使用しても、例えば8x8のドットマトリクスを制御するには、8つの行と8つの列の合計16個のI/Oピンが必要になります。
これは依然としてArduinoのI/Oピンの数に制限を受けるため、大きな制約となります。

このような状況において、74HC595シフトレジスタは理想的な解決策を提供します。
このチップは、少ないピン数(通常は3つのI/Oピン)を使用して、シリアルデータを受け取り、それを複数の出力ピンに変換します。
これにより、Arduinoの限られたI/Oリソースを効率的に使用して、多数のLEDを制御できるようになります。
結果として、74HC595を使用することで、Arduinoを使った複雑なLEDディスプレイプロジェクトが実現可能になります。

今回使用したArduinoデバイスはこちらのArduinoUNO R4 MINIMA となっています。


Amazonで購入   楽天で購入

プロジェクトの目的

このプロジェクトの主な目的は、エレクトロニクスの学生やホビイストが簡単にドットマトリクスLEDを使用できるようにすることでした。
具体的には、ユーザーがダイナミック点灯の原理とその実装方法を理解し、実際に適用する能力を身につけることが目標です。

「ダイナミック点灯」は、限られたI/Oリソースを最大限に活用し、複数のLEDを効率的に制御するための重要な手法です。

さらに、このプロジェクトはユーザーに74HC595シフトレジスタとArduino間のSPI(Serial Peripheral Interface)通信の基礎を学ぶ機会を提供します。
SPI通信は、多数のデバイスを少数のピンを使って制御するための効率的な方法であり、
このプロジェクトを通じてユーザーはその応用を学ぶことができます。

最後に、Arduinoとのシームレスな統合を通じて、ユーザーがより複雑なLEDディスプレイプロジェクトに取り組むことができます。
このプロジェクトは、基本的な技術を学び、応用するための基盤となることを目指しています。

プロジェクトへのアプローチ

このプロジェクトのアプローチは、まず基本的なドットマトリクスLED制御の理論を理解し、
次に74HC595シフトレジスタの機能を深く掘り下げることから始まりました。

その後、これらのコンポーネントを組み合わたArduinoシールド基板を設計しました。

ドットマトリクスLEDの解説

ドットマトリクスLEDの回路について

ドットマトリクスLEDは、複数のLEDを行と列に配置したディスプレイです。


これらのLEDは、行と列の交点に接続されており、特定のLEDを点灯させるには、対応する行と列の両方に電流を流す必要があります。
回路図は以下のようになっているものがほとんどです。

この構造により、ドットマトリクスLEDはメッセージ表示やパターン生成など、多様なビジュアル表現が可能になります。

ダイナミック点灯について

ドットマトリクスLEDでは、ダイナミック点灯が一般的に用いられます。
これは、各行または各列を高速に点灯させることで、複数のLEDが同時に点灯しているように見せる技術です。
以前、ニキシー管時計を作成した際にもダイナミック点灯とスタティック点灯を深く解説しているので、
そちらの記事をご覧にいただければ、理解が深まるかもしれません。
https://electwork.net/esp32-8/

ダイナミック点灯は効率的な方法であり、限られた数のI/Oピンで大量のLEDを制御することを可能にします。

アプリケーションの例

ドットマトリクスLEDは、広告看板、情報表示パネル、アートインスタレーション、ゲームディスプレイなど、多岐にわたるアプリケーションに使用されます。

Arduinoと組み合わせることで、カスタムメッセージの表示やインタラクティブなアートワークなど、創造的なプロジェクトに応用できます。

 

回路と基板の設計

このプロジェクトでの主要な目的の一つは、74HC595シフトレジスタを用いてドットマトリクスLEDを制御するための効率的な回路を設計することでした。
74HC595は、シリアル入力を受け取り、それをパラレル出力に変換する能力を持っています。
これにより、限られたピン数のマイクロコントローラでも多くのLEDを制御することが可能になります。

回路図の作成

このプロジェクトでは、最初にArduinoと74HC595シフトレジスタを中心にした回路図を作成しました。
この回路図は、ドットマトリクスLEDをダイナミックに点灯させるために必要なすべての接続を示しています。
74HC595はArduinoとSPI通信を介して接続され、Arduinoからのシリアルデータを受け取り、これをLEDの制御信号に変換します。
回路図には、電源、接地、各種抵抗、コンデンサなど、システムの安定性と効率的な動作を保証するために必要な他のコンポーネントも含まれています。

以下に作成した回路図を示しています。

この設計では、ドットマトリクスLEDのアノード側にTBD62783ドライバ、カソード側にTBD62083ドライバを使用しています。
これらのドライバの選択は、その高い電流容量、優れた熱管理、入力と出力の分離、簡単なインターフェース、および過電流保護機能により、
LEDの個別の点灯と消灯を制御し、ドットマトリクスの行と列を効率的に駆動するためです。

特に、TBD62783とTBD62083は、Arduinoのデジタル出力ピンよりも高い電流を供給できるため、大きなドットマトリクスディスプレイでも十分な輝度を提供します。
また、これらのドライバは、大量のLEDを駆動する際に発生する熱を効率的に処理できる設計がされており、システムの信頼性と寿命を向上させます

これにより、回路はより多くのLEDを安定して制御でき、ダイナミック点灯を実現します。

基板の設計と製作

上記の回路図をもとに設計した基板が以下になっています。

この基板で、毎度お世話になっているJLCPCB様で基板発注を行いました

発注図面の作成、及び発注方法は過去の記事<【ESP32で電子工作-2】デジタル時計の作成(1)【プリント基板の作成】>見ていただければと思います。

基板製作と動作確認

ICと抵抗・LED・コンデンサなどの表面実装部品はJLCPCBのほうでアセンブリをしてもらいました。

同じ部品をたくさん使う場合、自分で部品を集めてはんだするよりも、手間・価格面共にコスパがいいと思います。

で、実際に届いた基板が以下のようなものになっております。

しっかりとICや抵抗とかは引っ付いてそうです。あいかわらずきれいに取り付けられています。

その基板に別で用意したドットマトリクスLEDとコネクタをはんだ付けしました。

作成した基板をArduinoに取り付けて、実際に動作させてみましょう。
使用しているArduinoは以下のものとなっています。


Amazonで購入   楽天で購入

そして、実際の動作している動画がこちらになっております。

見てもらったように、すべての出力ピンに対してLEDが制御できていることがわかります。

この基板でシフトレジスタとドットマトリクスLEDを使用したダイナミック点灯のお勉強がいろいろとできそうです!!

宣伝とかご紹介

実際に基板の作成をするには

今回紹介した基板とLED点灯プログラムはGitHubで公開しております。

https://github.com/ramtuc/ram_prog/tree/main/Dotmatlix_ArduinoShield/Arduino_Schetch/dotmatlix_74HC595には点灯プログラムが入っております。

https://github.com/ramtuc/ram_prog/tree/main/Dotmatlix_ArduinoShield/schematicには基板データが入っておりますのでご自由にお使いください。

JLCPCBで基板を作成するときは[ 74HC595_testboard.zip ]を読み込ませることで、同様の基板が製作することができます。

また、実装サービスに使用したBOMファイル、CPLファイルも入っています。

そちらのファイルを使用することで、JLCPCB様より表面実装部品が実装済みの基板を製作することができますので、自己責任とはなりますがご利用いただけたらと思います。

Boothショップでの購入

紹介したテストボードはBoothのショップで購入できます。セット内容は以下の通りです。

ドットマトリクスLED制御用Arduinoシールド基板
ドットマトリクスLED OSL641501-ARA
ドットマトリクスLED差し込み用ピンソケット
Aruduinoピン名印字済み長ピンソケット

詳細は以下サイト

購入サイト→ElectroRam Studio

ご検討のほど、よろしくお願い申し上げます。

 

今回の記事は以上となります。
それでは、良き電子工作ライフを!!
See You …

ブログランキング参加中

クリックしていただけると
ブログ更新の励みになります


電子工作ランキング
にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村

スポンサーリンク

-Arduino, 電子工作基礎, 電子部品
-, , , , ,