生活を豊かにできる、電子工作やプログラミングの知識を発信していく

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

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

74HC595を使用したLED制御基板の作成

開発の経緯

はじめに

電子工作における学習と実験は、常に新しい発見と挑戦に満ちています。
今回のプロジェクトでは、74HC595シフトレジスタを使用し、SPI通信を介してLEDを制御する基板の作成に挑戦しました。

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

このプロジェクトは、基本的なデジタル電子工学の概念と、シリアル通信の原理を理解し、それを実践することを目的としています。

プロジェクトの背景

このプロジェクトは、私の電子工作における学習過程の一環として始まりました。
特に、シフトレジスタとSPI通信の理解と活用は、デジタル回路設計の基本的なスキルです。

74HC595は、その汎用性と使いやすさから、初学者にとって理想的なコンポーネントであると感じました。
さらに、Arduinoなどのマイクロコントローラーを使用してSPI通信を実装することで、より広範な応用が可能となります。

プロジェクトの目的

たこのプロジェクトの主な目的は二つあります。

一つは、シフトレジスタとSPI通信の動作原理を学び、理解を深めること。
もう一つは、実際の回路設計と基板製作を通じて、理論と実践の結びつきを体験することです。

LED制御を通じて視覚的に楽しい結果を得ることも、このプロジェクトの重要な側面です。

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

このプロジェクトに取り組むにあたり、まずはシフトレジスタの基本的な理論とSPI通信の原理を学習しました。
次に、74HC595を使用してLEDを制御するための回路図を設計し、ArduinoなどのプラットフォームでSPI通信を実装しました。
最終的には実際のJLCPCBで基板を製作しました。

この過程では、回路設計の基礎から、実際の製造技術、プログラミングまで、幅広い知識と技能が必要とされました。

74HC595シフトレジスタの解説

74HC595の基本

74HC595は、シリアル入力/パラレル出力(SIPO)タイプのシフトレジスタです。
8ビットのデータをシリアル(1ビットずつ)で受け取り、パラレル(同時に複数ビット)で出力することができます。

これにより、制限されたピン数を持つマイクロコントローラでも多数の出力を制御することが可能になります。

動作原理

74HC595は主に3つの入力ピン(データ、クロック、ラッチ)を使用します。
データピンはビットデータを受け取り、クロックピンはそれぞれのビットのタイミングを制御します。
ラッチピンはシフトレジスタ内のデータを出力レジスタに移動させる際に使われます。

これにより、データの更新が必要な時だけ新しいデータが出力に反映され、安定した制御が可能になります。

以下に、74HC595の大まかなブロック図を示します。

アプリケーションの例

74HC595の一般的な使い方は、LEDの制御です。
例えば、8ビットのシフトレジスタを使用することで、8個のLEDを個別に制御できます。
これは、表示パネルや光のパターンを作成する際に非常に有用です。

また、複数の74HC595を連鎖させることにより、さらに多くのLEDを制御することも可能です。

Arduinoとの連携

Arduinoと74HC595を組み合わせることで、プログラムによる柔軟な制御が可能になります。
Arduinoの限られたピン数にも関わらず、多数のLEDを制御できるため、小型のプロジェクトでも複雑な出力を実現することができます。


Amazonで購入   楽天で購入

Arduinoのライブラリと組み合わせることで、初心者でも簡単に74HC595を利用することが可能です。

回路と基板の設計

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

回路図の作成

回路図は、シフトレジスタ、LED、抵抗器、コンデンサを適切に配置し、それらの間の接続を明確に示すように設計しました。
特に、74HC595の各ピンの機能を正確に理解し、それに応じて配線することが重要でした。

本プロジェクトでは、SPI(Serial Peripheral Interface)通信を使用して74HC595を制御しました。
SPI通信は高速で信頼性が高く、マイクロコントローラとシフトレジスタ間のデータ転送を効率的に行うことができます。
回路設計では、SPI通信に対応するための接続も考慮に入れました。

また、基板を複数を簡単にカスケード接続できるように工夫をしました。

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

 

基板の設計と製作

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

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

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

基板製作と動作確認

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

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

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

しっかりと抵抗とLEDは引っ付いてそうです。その基板にコネクタをはんだ付けしました。

そして、5枚ぐらい連結すると以下のようになります。

 

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


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

緑色のとてもきれいな。LEDの点灯ですね!!

この基板でシフトレジスタのお勉強がいろいろとできそうです!!

宣伝とかご紹介

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

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

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

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

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

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

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

Boothショップでの購入

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

購入サイト→ElectroRam Studio

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

 

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

  • B!