Raspberry Pi – シフトレジスター~LEDバーグラフ

LEDバーグラフ

LEDバーグラフの例はこちらで示したが、点滅させるLEDの数だけGPIOポートを使った。シフトレジスターを使えば、データに関してはシリアル信号1本だけで済む。以下はシフトレジスター74HC595を使った回路例。

各LEDの点滅の制御は以下の流れ。

  1. LEDの個数分以下を処理
    1. SERに点灯ならHIGH、消灯ならLOWを入力
    2. SRCLKにHIGHを入力してシフト後、LOWに
  2. RCLKをHIGHにして、QA~QHの出力をLEDに流す
  3. 全消灯するときはSRCLKをLOWにしてからHIGHに戻す

以下はこの回路をRuspberry PiのMicro Pythonで制御するコード例。

SRCLK/RCLKでHIGH/LOWに変化させた後、それぞれLOW/HIGH戻すまでに0.001秒待たせているが、これがなくても動作はする。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です