次に、TLC5940NTを使って、数字をちゃんと表示させる。
前と同じ回路で、スケッチは次のようにする。
// // tlc594027segmentLED.ino // 7セグメントLEDをTLC5940NTで制御 // 27.08.10(月)1800~ // 佐藤俊夫 // #include "Tlc5940.h" // void setup() { Tlc.init(); } void loop() { Tlc.clear(); static int n = 0; disp7LED(n++); if(n >= 100) n = 0; delay(1000); } // void disp7LED(int n){ const int on = 4095, off = 0; const int pat[10][8] = { // 0 1 2 3 4 5 6 7pin num { on, on, on, off, on, on, on, off}, // 0 {off, off, on, off, on, off, off, off}, // 1 { on, on, off, off, on, on, off, on}, // 2 {off, on, on, off, on, on, off, on}, // 3 {off, off, on, off, on, off, on, on}, // 4 {off, on, on, off, off, on, on, on}, // 5 { on, on, on, off, off, on, on, on}, // 6 {off, off, on, off, on, on, on, off}, // 7 { on, on, on, off, on, on, on, on}, // 8 {off, on, on, off, on, on, on, on} // 9 }; // 一旦消す Tlc.clear(); // 10の位 int n10 = n / 10, i = 0; for(i = 0; i <= 7; i++){ Tlc.set(i, pat[n10][i]); } // 1の位 int n1 = n % 10; for(i = 0; i <= 7; i++){ Tlc.set(i + 8, pat[n1][i]); } Tlc.update(); }
次のようにカウントアップしていく。
そういえば昔の刑事ドラマなんかで、時限爆弾のカウントって、こんな感じで、電線がゴチャゴチャしてたっけなあ。ふふっ、爆発しそうだな、これじゃ(笑)。