2021/06/13(日曜日) 晴れ
シフトレジスタ(74HC955)1個の8ビット回路は何とかうまくいった。
次はシフトレジスタを2個にして16ビット回路の実験をしてみた。
そして16個のLEDを指定したパターンで点滅させるための実験も行った。
LEDを点滅させるデータはマイコンのメモリに書き込んである。
そのデーターの8ビット(1バイト)を読み込んで下位ビットから1ビットずつ
シフトレジスタに送り込み、1バイトが完了したら次の1バイトを読み込んで
同じように1ビットずつ送り込んでいく。
結果16ビット(2バイト)のデータを送り込んだらラッチレジスタにクロック
パルスを送り込んで蓄積された16ビットのデータ(0(LOW)または1(HIGH)で
16個のLEDを点灯、滅灯させる。
74HC595を2個直列接続してマイコンに接続した。
回路図はこんなもの。
シフトレジスタの基板。
マイコンボードの基板。
シフトレジスタは4本の信号線で制御する。
パソコン(Arduino IDE)に接続してプログラムをロードしRUNさせた。
今回のテストはシフトレジスタへのデータ転送中はLEDを点滅させないので(ラッチレジスタは前のータを
保持・表示しているLEDが流れるように点滅することはない。)
16ビットのデーターが送り終えた時点でラッチレジスタをONにして新しいデータでLEDを点灯させる。
テストはうまくいった。
今回のテストはこれから工作しようと思っているバーサライタ時計3の動作には
必須の動作をさせるもので一歩前進かな?と思っている。
そんなテストの様子を動画でご覧ください。
バーサライタ時計3ではRBG三色の発光素子が入ったLED19個を制御してみようと思っている。
制御する発光素子は19x3=57個になる。
そうすると74HC595は7.2個必要になる。
まっ、0.2個は無視すると7個の74HC595で56個のLEDを相手にするわけだから配線も大変になるだろう。
それに回転アームに74HC595を7個乗せるスペースが確保できるかそれも不明だ。
まぁ、できるかどうかわからないけどやるだけやってみよう。