時計製作(フィラメント管) その1

kicad練習の第三弾です。
今回はフィラメント管を使った時計を作ってみようと思います。
ちなみにフィラメントとは白熱電球でいう光る部分(線)のことです。


■フィラメント管 IV-9
購入:Amazon
仕様:ロシア語英語
テストしたところ3.3Vでも十分明るいのでこれで行きます。
「8」(7つ点灯)で130mA。1つ点灯でいうと130/7 = 18.5mAです。
仕様書がロシア語で、かつデッドストックなところが熱い。


■シフトレジスタ TPIC6B595
購入:RSオンライン
74HC595と同じように作れます。ただしアノードコモンで作る必要があります。
最初、TC74HC595で作ったら電流足りてないじゃん、という落ちで
3つまでしか点灯しませんでした。(汗


■テスト
サクっとやってみたところ無事にできました。
電流を食いすぎるのでフィラメント管ごとにArduino本体を用意しています。
Arduino DUE(制御+3.3V配給) + Arduino UNO(3.3V配給のみ)。
f:id:akkera102:20170415183258p:plain
IV-9 Test - YouTube

int latchPin = 8;
int clockPin = 12;
int dataPin  = 11;

const byte num[10] = {
  0b11011110,   // 0
  0b00000110,
  0b11101010,
  0b01101110,
  0b00110110,
  0b01111100,
  0b11111100,
  0b00001110,
  0b11111110,
  0b01111110,     // 9
};

void setup()
{
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin,  OUTPUT);

  delay(1000);
}

void loop()
{
  for(int i=0; i<10; i++)
  {
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST, num[i]);
    shiftOut(dataPin, clockPin, MSBFIRST, num[i]);
    digitalWrite(latchPin, HIGH);

    delay(1000);
  }

  for(int i=0; i<10; i++)
  {
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, MSBFIRST, num[i]);
    shiftOut(dataPin, clockPin, MSBFIRST, num[i]);
    digitalWrite(latchPin, HIGH);

    delay(100);
  }
}

作った後に気がついたのだけど、3.3Vで作るのは良くありませんでした。

TPIC6B595 最小動作供給電圧 4.5 V

となっていて、直そうか悩んでいます。
んーでも動いてるしなぁ。このまま行こうと思います。


追記:あとでトラブルと面倒なので5Vに変更しました。


参考リンク:
TPIC6B595を使ったLED点灯: 猫にコ・ン・バ・ン・ワ
Multiplexing 7 Segment Displays With Arduino and Shift Registers: 5 Steps (with Pictures)