シフトレジスタ「TC4094」の使い方

今回、秋月電子で「TC4094BP」というシフトレジスターICを購入しました。
実は、多くのサイトで紹介されている「74HC595」というものが欲しかったのですが、間違えて購入してしまいました…
しかも、店頭で買ったのでまさかの5コ入り200円!!
どうにかして使えないかと、考えてみました。
 
結論:TC4094も74HC595と同じように接続して、同じプログラムを書き込めば使える。
 
まずは、データシートから。(秋月電子さんのものを引用させていただきました。)
 
 
「ロジック図」(ともに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コマンドについてはこのページを参考にしてください。