Amazon をぶらぶらを見ていたら、デジタル LED チューブモジュール「HiLetgo® 3個セット 0.36 インチ 4ビット デジタル LED チューブモジュール」というものを見つけました。7セグ LED を持っておらずちょっと憧れがあって、このモジュールは4桁かつ3個セットでこのお値段ということもあって、つい買ってしまいました。
※既に同一のものはなくなってしまっていましたが、 TM1637 採用で同じようなものは存在する用です。
通常の一般的な 7セグ LED とは使い勝手が全く違うものだったりするので、やっぱり通常の7セグは欲しいなと思う気持ちは変わりませんでした。
このモジュールでは、信号線が2つで4桁を表示できるようになるのでその点が魅力のものといえるようです。
使い方
Arduino との接続は以下のようにしました。
そして動かすためのスケッチですが、公開されているライブラリを使用しました。
このライブラリは、 https://github.com/reeedstudio/libraries の中にある、 DigitalTube です。
これを追加した上で、以下のようなスケッチを作成しました。
#include const int CLK = 12; const int DIO = 11; const int DECR = 10; const int INCR = 9; const int OFF = 0x7E; TM1637 tm1637(CLK,DIO); int current = 0; uint8_t DispData[4] = {OFF, OFF, OFF, 0x00}; void display() { int value = current; for (int i=0; i<4; i++) { if (value == 0) { DispData[3-i] = i == 0 ? 0 : OFF; } else { DispData[3-i] = value % 10; value /= 10; } } tm1637.display(DispData); if( ((current /10) & 1) == 0 ) tm1637.point(POINT_ON); else tm1637.point(POINT_OFF); } void setup() { // put your setup code here, to run once: Serial.begin(9600); tm1637.init(); tm1637.set(BRIGHT_TYPICAL); display(); } void loop() { // put your main code here, to run repeatedly: current = (current + 1) % 10000; display(); delay(100); }
動作させると、カウンタが進みつつ、中央のコロンが点滅するといった動きが確認できるようになっています。