TM1637 4桁7セグメントディスプレイをArduinoで使う
このチュートリアルでは、ArduinoでTM1637の4桁7セグメントディスプレイを使う方法を学びます。このディスプレイは数字やカウンター、その他の数値データを表示するのに利用できます。プロジェクトの最後には、0から500までカウントでき、輝度調整などのさまざまな機能を実演できる動作するディスプレイが完成します。

このプロジェクトでは、TM1637ディスプレイを数本の配線でArduinoに接続します。ディスプレイには4つのピンがあります:VCC、GND、DIO、CLK。VCCは5V電源に接続し、GNDはグランドに接続します。DIOピンはArduinoのデジタルピン3に、CLKピンはデジタルピン2に接続します。この接続により、Arduinoはディスプレイと簡単に通信できます。
実践的な実装を見るには、視覚的なガイドとしてビデオ(00:00)に合わせて必ず進めてください。
ハードウェア解説
TM1637は、4桁表示の簡単な制御を可能にする多用途な7セグメント表示ドライバです。データピン(DIO)とクロックピン(CLK)からなる2線式インターフェースで制御されます。これにより、追加の部品を必要とせずにArduinoのようなマイコンに簡単に接続できます。
このディスプレイは10進数を表示でき、明るさの調整に対応しているため、カウンター、時計、タイマーなどさまざまな用途に適しています。コンパクトな設計と使いやすさにより、趣味で使う人から専門家まで幅広く人気があります。
データシートの詳細
| 製造元 | タイタン・マイクロエレクトロニクス |
|---|---|
| 部品番号 | TM1637 |
| ロジック/入出力電圧 | 5 V |
| 電源電圧 | 3.3 V - 5.5 V |
| 出力電流(セグメントあたり) | 20 mA |
| PWM周波数に関するガイダンス | 該当なし |
| 入力論理閾値 | 0.3 VCC(低)、0.7 VCC(高) |
| 電圧降下 / Rドレイン・ソース(オン時)/ 飽和 | 2.5 V(代表値) |
| 熱限界 | 摂氏125度 |
| パッケージ | 16ピンDIP |
- ディスプレイの不具合を防ぐため、VCCを安定した5V電源に接続してください。
- セグメントの損傷を防ぐため、必要に応じて電流制限抵抗を使用してください。
- ノイズや干渉を最小限に抑えるため、配線は短く保ってください。
- ピンの接続は常に再確認して、逆極性を防いでください。
- その機能を使用して明るさレベルを調整してください
setBrightness最適な視認性のための機能。
配線手順


TM1637ディスプレイを配線するには、まずVCCピンをArduinoの5V出力に接続します。次にGNDピンをArduinoのGNDピンのいずれかに接続します。データ通信のためにディスプレイのDIOピンをArduinoのデジタルピン3に、CLKピンをデジタルピン2に接続します。この簡単な接続によりArduinoはディスプレイと効果的に通信できます。
ゆるい配線による問題を避けるため、接続が確実であることを確認してください。ビデオには代替の配線構成が示されていますが、基本的な動作には提供された接続が最も簡単です(ビデオの01:30で)。
コード例と解説
提供されたコードはディスプレイを初期化し、必要な設定を行います。コード内の主要な識別子には次のものが含まれます。CLKそしてDIO、それぞれデジタルピン2および3として定義されています。ディスプレイの明るさは、〜を使用して設定されますsetBrightness機能。
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
void setup() {
display.setBrightness(0x0f); // Set maximum brightness
}
このコードの抜粋は、ディスプレイの初期化と最大輝度の設定を示しています。次に、loopこの関数はさまざまな数値を表示する方法を示します。

void loop() {
uint8_t data[] = { 0x0, 0x0, 0x0, 0x0 };
display.setSegments(data); // Clear the display
display.showNumberDec(23, false, 2, 1); // Show number 23
delay(TEST_DELAY);
}
ここでは、表示がクリアされ、数値23が表示されます。関数showNumberDec表示される数値とその書式を制御するためのパラメータを受け取ります。ループは500までの数値の表示を続けます。
for(int i=0; i<=500; i++) {
display.showNumberDec(i); // Show numbers from 0 to 500
}
このコードスニペットは、TM1637ディスプレイに0から500までの数字を表示するシンプルなカウンターを示しています。表示は500に達するまで継続的に更新され、達した後は0に戻ってループします。参考のため、記事の下に完全なコードを掲載しています。
デモンストレーション/当日の流れ
配線がすべて終わりコードがアップロードされると、ディスプレイは0から500までの数字を順に表示するはずです。また、さまざまな明るさ設定を示し、更新ごとに画面を適切にクリアします。極性が逆になっているとディスプレイを損傷する可能性があるので注意してください。動作はビデオの04:00でディスプレイを観察することで確認できます。
動画のタイムスタンプ
- 00:00- TM1637ディスプレイ入門
- 01:30- 配線手順
- 02:45- コードのウォークスルー
- 午前04:00- ディスプレイのデモンストレーション
リソースと参考文献
まだリソースはありません。
ファイル📁
Arduinoライブラリ(zip)
-
TM1637 Arduinoライブラリ
TM1637_library.zip1.36 MB
データシート(pdf)
-
TM1637 4桁セグメントディスプレイのデータシート
/download/datasheet/robojax_TM1637_datasheet.pdf0.67 MB
ユーザーマニュアル
-
TM1637ディスプレイマニュアル
robojax-TM1637_display_manual.pdf0.31 MB