[Arduino]シフトレジスタを使って7セグLEDを表示する

7セグLEDは数値などを表示するものとしては代表的ですが、「.」を含めて8ピン使います、数桁表示すると無駄に消費してしまします。

シフトレジスタを使えば大幅に消費するピンが減るので使ってみました。

シフトレジスタとは

Arduinoとdata, clock, latchの3ピンで制御します

  • clockがLowからHighになる時、dataの値(0,1)を出力ポートに流します
  • 出力ポートは流されてきた値をAからHに向かってずらします
  • 必要分データを送信したら最後にlatchをLow→Highにすると出力ポートに設定された値を実際に反映させます

うん、難しいねw

ちなみにほかのピンですべて0とかも出来るらしい(今回はよくわかってないけど接続しちゃってます)

それと74HC595は連結できるので1つでは8bitのみですが、16bit. . . と増やせます

やってること

今回は1つの7セグLEDを0~9を表示するだけにチャレンジです

「.」はすべて表示しません

回路図


シフトレジスタが理解するのに時間がかかったため大変でした

参考:

シフトレジスタ(74HC595)の使い方 – chibiegg研究ノート

コメントする