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個直列接続してマイコンに接続した。
回路図はこんなもの。
![](https://blogimg.goo.ne.jp/user_image/34/af/7c7952ca1208e0fd92471aa78ead565e.png)
シフトレジスタの基板。
![](https://blogimg.goo.ne.jp/user_image/18/af/7b5fe882110941f9411d334951b69979.jpg)
マイコンボードの基板。
シフトレジスタは4本の信号線で制御する。
![](https://blogimg.goo.ne.jp/user_image/00/a4/069dacb0a35511d050bb8eb82448db74.jpg)
パソコン(Arduino IDE)に接続してプログラムをロードしRUNさせた。
![](https://blogimg.goo.ne.jp/user_image/39/b2/9b0b1330e007e50d33f061b8069ea869.jpg)
今回のテストはシフトレジスタへのデータ転送中はLEDを点滅させないので(ラッチレジスタは前の
データを保持・表示している)LEDが流れるように点滅することはない。
16ビットのデーターが送り終えた時点でラッチレジスタをONにして新しいデータでLEDを点灯させる。
![](https://blogimg.goo.ne.jp/user_image/0c/dd/b71a80150f168d62fa1c2566afd597a4.jpg)
テストはうまくいった。
今回のテストはこれから工作しようと思っているバーサライタ時計3の動作には
必須の動作をさせるもので一歩前進かな?と思っている。
そんなテストの様子を動画でご覧ください。
バーサライタ時計3ではRBG三色の発光素子が入ったLED19個を制御してみようと思っている。
制御する発光素子は19x3=57個になる。
そうすると74HC595は7.2個必要になる。
まっ、0.2個は無視すると7個の74HC595で56個のLEDを相手にするわけだから配線も大変になるだろう。
それに回転アームに74HC595を7個乗せるスペースが確保できるかそれも不明だ。
まぁ、できるかどうかわからないけどやるだけやってみよう。
シフトレジスタ(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個直列接続してマイコンに接続した。
回路図はこんなもの。
![](https://blogimg.goo.ne.jp/user_image/34/af/7c7952ca1208e0fd92471aa78ead565e.png)
シフトレジスタの基板。
![](https://blogimg.goo.ne.jp/user_image/18/af/7b5fe882110941f9411d334951b69979.jpg)
マイコンボードの基板。
シフトレジスタは4本の信号線で制御する。
![](https://blogimg.goo.ne.jp/user_image/00/a4/069dacb0a35511d050bb8eb82448db74.jpg)
パソコン(Arduino IDE)に接続してプログラムをロードしRUNさせた。
![](https://blogimg.goo.ne.jp/user_image/39/b2/9b0b1330e007e50d33f061b8069ea869.jpg)
今回のテストはシフトレジスタへのデータ転送中はLEDを点滅させないので(ラッチレジスタは前の
データを保持・表示している)LEDが流れるように点滅することはない。
16ビットのデーターが送り終えた時点でラッチレジスタをONにして新しいデータでLEDを点灯させる。
![](https://blogimg.goo.ne.jp/user_image/0c/dd/b71a80150f168d62fa1c2566afd597a4.jpg)
テストはうまくいった。
今回のテストはこれから工作しようと思っているバーサライタ時計3の動作には
必須の動作をさせるもので一歩前進かな?と思っている。
そんなテストの様子を動画でご覧ください。
バーサライタ時計3ではRBG三色の発光素子が入ったLED19個を制御してみようと思っている。
制御する発光素子は19x3=57個になる。
そうすると74HC595は7.2個必要になる。
まっ、0.2個は無視すると7個の74HC595で56個のLEDを相手にするわけだから配線も大変になるだろう。
それに回転アームに74HC595を7個乗せるスペースが確保できるかそれも不明だ。
まぁ、できるかどうかわからないけどやるだけやってみよう。