TM1638 という名前の方が有名かな?
動かすためのライブラリ
tm1638-library - A library for connecting a TM1638/TM1640 to arduino
があるので丸ごと使う。
add library で上記サイトで配布されているZIPを指定して取り込む。
arduinoの旧バージョン(α時代)では取り込みできなかった。
取り込みができるとサンプルが出せるのでワンモジュールのものを利用。
書き込めば一発で文字が出せる。
ライブラリリファレンスは非常にわかりやすい。例が豊富
Reference · rjbatista/tm1638-library Wiki · GitHub
回路接続は
LKM1638:arduino
---------------------------
VCC : +5V
GND : GND
CLK
DIO
STB
のみ。思ったより少ない。
ボタンの取得。LEDの点灯共に容易。関数1発。
LEDは赤と緑の点灯が選べる。
動作させると発熱がある。
7seg点灯部が発熱。
消費電流が大きいのでモバイル動作は現実的ではない。
↓
[追記 2014/2/22]
明るさ変更できた。
module.setupDisplay(true, 0);
0で最暗 7で最明
[追記 2018/3/11]
// TM1638 の動作サンプルコード
// よく使う機能を色々実装している。
//アナログ端子を通信端子に利用しているのがライブラリコードと違う
#include <tm1638.h>
// define a module on data pin A1, clock pin A2 and strobe pin A3
//アナログ端子に接続している
TM1638 module(A1, A2, A3);
void setup() {
// 明るさを最暗に。
module.setupDisplay(true, 0);
//"START"の文字列を表示
module.setDisplayToString("START");
}
void loop() {
byte keys = module.getButtons(); //ボタンの取得
//最も左のボタンが押されたら
if (keys == 0b00000001) {
//画面をクリア
module.clearDisplay();
//LEDを一個ずつ消すにはこれ
//module.setLED(TM1638_COLOR_NONE, 0);
//module.setLED(TM1638_COLOR_NONE, 1);
// LEDを一気に消すにはこれ
module.setLEDs(0x0000);
}
//左から2番目のボタンが押されたら
if (keys == 0b00000010) {
module.clearDisplay();
module.setDisplayToString("GOGO"); // "GOGO"を表示
}
if (keys == 0b00000100) {
module.clearDisplay();
//740の数値を表示。0:小数点無し。false:0埋め無し
module.setDisplayToDecNumber(740,0,false);
}
if (keys == 0b00001000) {
//最も左のLEDを赤色点灯。GREENなのになぜか赤になる
module.setLED(TM1638_COLOR_GREEN, 0);
}
if (keys == 0b00010000) {
//左から2番目のLEDを緑点灯。なぜか緑になる
module.setLED(TM1638_COLOR_RED, 1);
}
}
もっと気軽で小さい7segドライバ基板って無いものかなあ・・
.
0 件のコメント:
コメントを投稿