ArduinoでGROVE 7セグメント4桁ディスプレイを使う
温度センサーなどから取得した数値をシリアルモニタを介さずに表示する事ができるGROVE 7セグメント4桁ディスプレイを購入したので簡単な使い方を解説します。
前提条件として 「Arduino Uno」+「GROVEベースシールド」が必要です。
GROVE 7セグメント4桁ディスプレイ(820円)
ライブラリのインストール
Arduino IDE の [スケッチ] → [ライブラリをインクルード] → [ライブラリを管理] からキーワード「Grove 4-Digit Display」で検索します。
表示されない場合には「TM1637」でも可能です。表示されたライブラリをインストールしてください。
4桁の数値を表示するだけのスケッチ
7セグメント4桁ディスプレイは[D5]に接続します。[D6]には何も繋げません。
#include "TM1637.h"
#define CLK 5
#define DIO 6
TM1637 tm1637(CLK , DIO);
///=======================================================================
// +setup
///=======================================================================
void setup() {
//---Serialポートを開く
Serial.begin(9600);
//---ディスプレイ初期化
tm1637.init();
//---輝度(暗い)
tm1637.set(BRIGHT_DARKEST);
//---輝度(普通)
//tm1637.set(BRIGHT_TYPICAL);
//---輝度(最大)
//tm1637.set(BRIGHTEST);
}
///=======================================================================
// +loop
///=======================================================================
void loop() {
//---区切り文字の点灯
//tm1637.point(true);
//---区切り文字の消去
//tm1637.point(false);
//---------------------
// +桁ごとに表示
//---------------------
//---変数の初期化
int8_t ListDisp[4];
//---表示する4桁の数値
ListDisp[0] = 1;
ListDisp[1] = 2;
ListDisp[2] = 3;
ListDisp[3] = 4;
//---表示しない桁がある場合
//ListDisp[0] = "";
//ListDisp[1] = "";
//ListDisp[2] = "";
//ListDisp[3] = 9;
//---ディスプレイに表示
tm1637.display(ListDisp);
//---シリアルモニタ表示
Serial.print(ListDisp[0]);
Serial.print(ListDisp[1]);
Serial.print(ListDisp[2]);
Serial.println(ListDisp[3]);
//---------------------
// +数値を表示
//---------------------
//int8_t ondo = 123;
//ondo = 1.23;
//ondo = 123;
//ondo = -123;
//ondo = 12345;
//---ディスプレイに表示
//tm1637.displayNum(ondo);
//---シリアルモニタ表示
//Serial.println(ondo);
//---1秒の遅延
delay(1000);
//---ディスプレイを消去
tm1637.clearDisplay();
//---1秒の遅延
delay(1000);
}
スケッチの実行結果
ListDisp[0]からListDisp[3]までに数値を入力するとディスプレイに表示されます。
マイナスは表示出来ますが小数点は表示出来ません。また簡単な文字列の表示も出来そうな気がしますが使い勝手が悪そうなのでここでは省略します。
PCに接続していない状況での温度計などのセンサーの値を簡単に表示することができるようになり便利です。