クラスリファレンス

(2017.8.17 作成)

(2017.10.4 更新)

 このページでは4桁LEDディスプレイを使用するためのプログラムのリファレンスを提供しています。

 サンプルコードはこちら、ダウンロードはこちら、時刻表示用モジュールの使い方等についてはこちら、数値表示用のモジュールについてはこちらをそれぞれ参照してください。

 このモジュールを使用するライブラリには既存のものがいくつかありますが、ここで公開しているプログラムはLEDコントローラ(TM1637)とLEDモジュールの2種類のクラスからなっており、LEDモジュールの中からコントローラークラス(TM1637)を用いる構成になっています。

 このためユーザーはTM1637クラスを直接操作する必要はないと思います。

 またLEDモジュール部分も4桁の表示を行うBaseクラスと、それを継承した時刻表示用クラス(LEDdisp_Clock)と数値表示クラス(LEDdisp_Numeral)の2種類に分かれています。

 以下ではそれぞれのクラスについて簡単に説明していますが、多分ソースコードを見ていただいた方が早いです。

LEDdisp_Base

 4桁の7セグLEDを使用するベースクラスです。このベースクラスを直接使用することは想定していませんが、このクラスでは4桁LEDで表示できる整数と文字表示についての機能を提供しています。

定数

Char0 ~ 9 数字
A~ 表示できるいろいろなパターンの文字

関数

画面消去

プロトタイプ

void Clear()const;

戻り値

なし

引数

なし

備考

各桁のデータを消去し、画面を消灯します 

整数表示

プロトタイプ

void Show( const int16_t &val,

      const uint8_t &Brightness,

                  const bool ZeroPad=false)const;

戻り値

なし

引数

val

整数を表示する

正の場合は4桁、負の場合は3桁まで。

Brightness

0~9まで 0で消灯、9でDuty 14/16(88%)

ZeroPad

上位の桁を0で埋めるかどうか 
備考

 

任意位置に一文字表示

プロトタイプ

void Show( const uint8_t &pos,

                 const Char &c,

                 const uint8_t &Brightness)const;

戻り値

なし

引数

pos

表示位置。0~3まで。4以上は無視されます

c

表示文字。クラス内で定義されているChar型

Brightness

0~9まで。0で消灯、9でDuty 88%
備考

 

連続して文字表示

プロトタイプ

void Show(const uint8_t &pos,

                const Char *c,

                const uint8_t &Length,

                const uint8_t &Brightness)const;

戻り値

なし

引数

pos

表示開始位置。0~3まで。4以上は無視されます

c

表示文字の配列

Length

文字数

Brightness

0~9まで。0で消灯、9でDuty 88%
備考

 

LEDdisp_Clock

 4桁の時刻表示用の7セグLEDモジュールです。tickerクラスを使用することで1秒単位でコロンを点灯させることができます。

 時刻はCのtm構造体を用いて設定します。

 また基底クラスの関数(整数、文字表示)ももちろん行えます。

定数

 timer.hにあるCのtm構造体を引数として渡した際に表示するものを"時間:分"とするか"分:秒"とするかを選ぶ際に使用します。

hhmm hh:mm表示
mmss mm:ss表示

Constructor

プロトタイプ

LEDdisp_Clock(DKS::IDigitalOut *SCL,

                      DKS::IDigitalOut *SDA,

                      DKS::IWait *Wait,

                      DKS::ITicker *ticker=0);

戻り値

なし

引数

SCL

SDA

DigitalOutクラスのインスタンス

Wait

Waitクラスのインスタンス

SoftwareI2Cのタイミング作成に使用します。

ticker

Tickerクラスのインスタンス

時刻の":"マークを点滅させるために使用します。

不使用時は0を入れてください

備考

 

時刻表示

プロトタイプ

void Show(const struct tm &t,

                const TimeFormat &format,

                const uint8_t &Brightness);

戻り値

なし

引数

tm

C言語の時刻を格納するtm構造体

format

hhmmかmmss

Brightness

0~9まで。0で消灯、9でDuty 88%
備考

 後述するTick関数を使用することで":"マークを1秒周期で点滅させられます。

":"文字の点滅

プロトタイプ

void TickStart();

void TickStop();

戻り値

なし

引数

なし

備考

後述するTickProcess関数を定期的に呼び出す動作の開始、終了を指示します。この関数単体では点滅動作を行えません。

":"文字の点滅処理

プロトタイプ

TickProcess();

戻り値

なし

引数

なし

備考

500msごとにコンストラクタで指定したTickerクラスが

この関数を呼び出すように設定してください。

LEDdisp_Numeral

 4桁の数値表示用のLEDモジュールを使用するクラスです。

 float値を渡すと表示できます。もちろんBaseクラスの整数/文字表示も行えます

Constructor

プロトタイプ

LEDdisp_Clock(DKS::IDigitalOut *SCL,

                      DKS::IDigitalOut *SDA,

                      DKS::IWait *Wait,

                      DKS::ITicker *ticker=0);

戻り値

なし

引数

SCL

SDA

DigitalOutクラスのインスタンス

Wait

Waitクラスのインスタンス

SoftwareI2Cのタイミング作成に使用します。

備考

 

数値表示

プロトタイプ

void Show(const float &f,

                const uint8_t &Brightness);

戻り値

なし

引数

f

表示する数値。正の場合4桁、負の場合3桁までです。

Brightness

0~9まで。0で消灯、9でDuty 88%
備考

表示できる桁数を超えたときは四捨五入が行われます。