注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!
74HC595¶
ArduinoのピンやLEDをたくさんコントロールしたい時、またはボタン、センサー、サーボを同時にコントロールするためのI/Oピンが足りない時、どうしますか?Arduinoにはセンサーを数つ接続できますが、すぐにピンが不足することがあります。
その解決策は「シフトレジスタ」を使用することです。シフトレジスタを使用すると、Arduino(または任意のマイクロコントローラ)から使用できるI/Oピンの数を増やすことができます。74HC595シフトレジスタは、その中でも特に有名です。
74HC595は基本的に独立した8つの出力ピンをコントロールし、入力ピンは3つしか使用しません。8つ以上のI/Oラインが必要な場合、任意の数のシフトレジスタを簡単にカスケード接続して、多くのI/Oラインを作成できます。これは所謂のシフト動作によって行われます。
特徴
8ビット シリアルイン、パラレルアウト シフト
動作電圧範囲:2 V から 6 V
高電流3状態出力は、最大15LSTTL負荷まで駆動可能
低消費電力、最大ICC = 80-µA
典型的なtPD = 14 ns
5 Vでの出力駆動±6-mA
最大入力電流1 µA
シフトレジスタは直接クリアが可能
74HC595のピンとその機能:
Q0-Q7: 8ビットの並列データ出力ピン。8つのLEDや7セグメントディスプレイの8ピンを直接制御可能。
Q7': シリーズ出力ピン。複数の74HC595をシリーズ接続する際に、別の74HC595のDSに接続。
MR: リセットピン。低レベルでアクティブ。
SHcp: シフトレジスタの時系列入力。上昇エッジで、シフトレジスタ内のデータが1ビットずつ移動。例:Q1のデータがQ2に移動。下降エッジでは、シフトレジスタのデータは変更されません。
STcp: ストレージレジスタの時系列入力。上昇エッジで、シフトレジスタのデータがメモリレジスタに移動。
CE: 出力有効ピン。低レベルでアクティブ。
DS: シリアルデータ入力ピン
VCC: 正の供給電圧。
GND: グラウンド。
機能図
動作原理
MR(ピン10)が高レベルで、OE(ピン13)が低レベルのとき、 データはSHcpの上昇エッジで入力され、STcpの上昇エッジを通ってメモリレジスタに移動します。
シフトレジスタ
例として、74hc595のシフトレジスタにバイナリデータ1110 1110を入力する場合。
データはシフトレジスタのビット0から入力されます。
シフトレジスタクロックが上昇エッジの場合、シフトレジスタ内のビットが1ステップシフトされます。例:ビット7はビット6の前の値を受け入れ、ビット6はビット5の値を取得します。
ストレージレジスタ
ストレージレジスタが上昇エッジ状態にあるとき、シフトレジスタのデータがストレージレジスタに転送されます。
ストレージレジスタは8つの出力ピンに直接接続されているため、Q0〜Q7は1バイトのデータを受け取ることができます。
いわゆるストレージレジスタとは、このレジスタにデータが存在して、1回の出力で消失しないことを意味します。
74HC595が連続して電源が入っている限り、データは有効で変更されずに残ります。
新しいデータが入ると、ストレージレジスタ内のデータが上書きされて更新されます。
例
2.4 マイクロチップ - 74HC595 (Arduinoプロジェクト)
2.5 7セグメントディスプレイ (Arduinoプロジェクト)
6.4 デジタルダイス (Arduinoプロジェクト)
2.4 マイクロチップ - 74HC595 (MicroPythonプロジェクト)
2.5 数字表示 (MicroPythonプロジェクト)
6.6 デジタルダイス (MicroPythonプロジェクト)