実験室

[IoT実験室] M5StickCで、7セグメントLED(TM1637)に何か表示してみよう!


4桁LEDドライバーのTM1637を搭載した7セグメントLEDを、M5StickCで制御して何かを表示してみます。7セグLEDって、なぜかすごくかっこいいですよね。

久しぶりのIoT実験室です。今日は、7セグメントLEDを表示してみます。

TM1637 7セグメントLED

こういったモジュールで、Amazonなどではわずか数十円から200円程度の価格で販売されています。本来7セグメントLEDの制御はいくつものアナログポートを利用しますが、TM1637は、これを2つのデジタルポートだけで制御できるようにするコントローラーで、メジャーなものです。

M5StickCと接続しよう

今回はこのように、M5StickCのGroveコネクタを使って接続します。接続の対応は以下の通りです。左がM5StickC、右がTM1637です。

  • 5V – 5V
  • GND – GND
  • G33 – CLK
  • G32 – DIO

なお、TM1637は直列に複数のモジュールを接続して制御することもできますが、これは別の機会にご説明します。

Arduino IDEにライブラリをインクルード

[スケッチ] – [ライブラリをインクルード] – [ライブラリを管理] から、「TM1637」で検索します。上記のように複数のライブラリが出てきますが、中段の「TM1637 by Avishay Orpaz」を選択してインストールします。

ソースコードを書こう

#include <M5StickC.h>
#include <Arduino.h>
#include <TM1637Display.h>

#define CLK 33 // ①
#define DIO 32 // ①
TM1637Display display(CLK, DIO); 

void setup() {
    M5.begin();
    M5.Lcd.setRotation(3);
    M5.Lcd.fillScreen(BLACK);
    M5.Lcd.setTextSize(1);
    M5.Lcd.setCursor(20, 15);
    M5.Lcd.println("LED TEST"); // ②
}

void loop() {
  display.setBrightness(0x0f);// ③
  display.showNumberDec(1234, false); // ④
  delay(20000); 
}

① CKL・DIOポートの指定

接続した通りに、CLKを33番ポート、DIOを32番ポートに指定します。

② M5StickCのディスプレイに表示

M5StickCが起動していることを確認するため、本体のLCDディスプレイにもテストメッセージを表示しておきます。何も表示しないと起動しているかどうかがわかりません。LCDにメッセージを出すかわりに、本体のLEDを光らせるなどでも良いかもしれません。

③ ブライトネス(明るさ)を指定します

プライトネスを設定しないと何も表示されないので、このメソッドで明るさを指定するのを忘れないようにしてください。

④ 7セグLEDに数字を表示します

ライブラリのTM1637Displayクラスの、showNumberDec()メソッドを使って4桁の数字を表示してみます。TM1637Displayクラスには、他にも表示用のメソッドが色々用意されています。

表示された様子

このように7セグLEDに数値が表示されました。WEB-APIから情報をとってきて表示したり、センサーの値を表示したりなど、いろいろ応用ができそうです。

それでは今回はここまで、また実験してみます。

関連記事

     
  1. 実験室

    こんなに簡単にできちゃうの?っていうWordPressレコメンドプラグイン「Kindred Post…

    時代はパーソナライズですよ、機械学習ですよ。でも、先日TensorF…

  2. 実験室

    M5StickCでAPIの情報を取得して表示してみよう(HTTPS通信)

    さて、前回まではM5StickCで加速度センサーを使ったり、…

  3. 実験室

    LED&KEY(TM1638)をESP32で動かすために、ちょっとだけ苦戦しました。

    LED&amp;KEY(TM1638)という、8セグLEDとボタンが…

  4. 実験室

    M5StickCからFirebase Realtime Databaseに値を書き込んじゃうよ。

    もう5回もやってるので連載っぽくなってきました。今日…

  5. 実験室

    M5StickCとサーボでつくる、API連動のかっこいいアナログメーター

    M5StickCとサーボ(Geekservo)を使って、APIから取…

  6. 実験室

    ESP32とステッピングモーターでメーター的なものを作ってみよう(28BYJ-48・ULN2003)…

    今夜のスラニュー実験室では、ステッピングモーターを使ってアナログメー…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最新の記事

スラニューについて

PAGE TOP