画像引用元:http://akizukidenshi.com/catalog/g/gI-11851/
今回、秋月電子で「TC4094BP」というシフトレジスターICを購入しました。
今回、秋月電子で「TC4094BP」というシフトレジスターICを購入しました。
実は、多くのサイトで紹介されている「74HC595」というものが欲しかったのですが、間違えて購入してしまいました…
しかも、店頭で買ったのでまさかの5コ入り200円!!
どうにかして使えないかと、考えてみました。
結論:TC4094も74HC595と同じように接続して、同じプログラムを書き込めば使える。
まずは、データシートから。(秋月電子さんのものを引用させていただきました。)
74HC595のデータシート:http://akizukidenshi.com/download/ds/unisonic/u74hc595.pdf
「ロジック図」(ともに3ページ目にあります)を見れば、ともに似たような接続方法であることがわかります。
よって、TC4094も、74HC595も同じように接続してやればいいかな…と思いました。
実際に、このページ(とても参考になりました!ありがとうございます。)を参考に、下記のグラフのように接続し直してプログラムを書き込みました。
変更点(ピン番号はデータシートを参照)
役割 | 74HC595 | 今回使うTC4094 |
Clock | 11ピン | 3ピン |
Latch | 12ピン | 1ピン |
Data | 14ピン | 2ピン |
編集後のスケッチ
int latchPin = 9;
int clockPin = 10;
int dataPin = 11;
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
// 送信中のlatchPinはグランド(LOW)レベル
digitalWrite(latchPin, LOW);
// シフト演算を使って点灯するLEDを選択しています
shiftOut(dataPin, clockPin, MSBFIRST, 4); //
// 送信終了後latchPinをHIGHにする
digitalWrite(latchPin, HIGH);
delay(100);
}
6ピンに接続されたLEDを点灯させるサンプルです。
10進数の数字(ここでは4)をプログラムに入力すると、2進数に変換した際「1」になるピンに出力されます。
これでしっかり動作することが確認できました!
全く問題なしです。
★shiftOutコマンドについてはこのページを参考にしてください。
コメントを残す