TM1637 Display Modul Arduino anschließen & verwenden

Mit dem Arduino-Modul TM1637 (Sieben-Segment-Anzeige) können Sie Informationen von Sensoren und Geräten ausgeben oder eine komplette Uhr mit Thermometer und Wecker auf der Basis des Moduls bauen. Schauen wir uns an, wie man eine 4-stellige Anzeige auf der Basis des TM1637-Treibers anschließt, mit Beispielen für Programme zur Ausgabe von Informationen auf der Anzeige, einschließlich von einem Fotowiderstand (LDR).




Bestandteile:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • TM1637 Display Modul
  • Widerstände und Fotowiderstand (LDR)
  • Breadboard
  • Dupont-Kabel
  • Bibliothek TM1637Display.h

Die Anzeige TM1637 mit dem Doppelpunkt in der Mitte ist die einfachste Lösung, um eine Stoppuhr oder eine Echtzeituhr zu erstellen. Das Modul selbst besteht aus vier Siebensegmentanzeigen, die jeweils aus sieben LEDs bestehen, die mit Buchstaben von „a“ bis „g“ gekennzeichnet sind und unabhängig voneinander leuchten. Beim Anschluss an das Arduino-Board sind keine zusätzlichen Widerstände erforderlich.

TM1637 4 Digit 7-Segment Display pinout, datasheet

TM1637 4 Digit 7-Segment Display pinout, datasheet

Merkmale des Sieben Segment Anzeige (datasheet)

  • Versorgungsspannung: 5 V
  • Stromaufnahme: 0,2 – 80 mA
  • Helligkeitsabstufung der Anzeige: 8
  • Serielle Zweidraht-Schnittstelle (CLK, DIO)

Das Modul TM1637 4-Digit 7-Segment Display ist möglichst einfach aufgebaut und basiert auf dem Treiber TM1637 mit einer Zweidraht-Bus-Schnittstelle. Die vierstellige TM1637-Anzeige unterstützt nicht das Standard-i2c-Protokoll, da das Modul keine Slave-Adresse hat. Die Hersteller bieten weiße, rote, blaue und grüne Modelle an; die Größe der vierstelligen Sieben-Segment-Anzeige kann 0,36 oder 0,56 Zoll betragen.

Wie man einen TM1637 Modul an einen Arduino anschließt

Wie man einen TM1637 Modul an einen Arduino anschließt

Der TM1637 4 Digit 7 Segment Modul wird mit vier Pins an den Arduino angeschlossen – zwei Drähte sind für die Stromversorgung (5V und GND) und die beiden anderen (CLK und DIO) werden an die digitalen Ports des Mikrocontrollers angeschlossen. Um mit dem TM1637-Display zu arbeiten, müssen Sie die Bibliothek TM1637Display.h installieren, mit der Sie Zahlen, einige Symbole und lateinische Buchstaben anzeigen können.

Programm für TM1637 4 Digit 7 Segment Display Arduino




#include "TM1637Display.h"
TM1637Display display(3, 2); // CLC, DIO

const uint8_t tire[] = {
  SEG_G // -
};

const uint8_t C[] = {
  SEG_A | SEG_F | SEG_E | SEG_D // C
};

const uint8_t DONE[] = {
  SEG_B | SEG_C | SEG_D | SEG_E | SEG_G, // d
  SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // O
  SEG_C | SEG_E | SEG_G, // n
  SEG_A | SEG_D | SEG_E | SEG_F | SEG_G // E
};

void setup() {
  display.setBrightness(4); // Helligkeit von 0 bis 7
  display.clear();
  
  display.setSegments(tire, 1, 0); // -___
  delay(200);
  display.setSegments(tire, 1, 1); // _-__
  delay(200);
  display.setSegments(tire, 1, 2); // __-_
  delay(200);
  display.setSegments(tire, 1, 3); // ___-
  delay(200);
  display.clear();
  display.setSegments(DONE, 4, 0); // dOnE
  delay(500);
  display.clear();
}

void loop() {
  display.showNumberDec(1, true, 1, 0); // 1___
  delay(500);
  display.showNumberDec(2, true, 1, 1); // 12__
  delay(500);
  display.showNumberDec(3, true, 1, 2); // 123_
  delay(500);
  display.showNumberDec(4, true, 1, 3); // 1234
  delay(500);
  display.clear();
  
  display.showNumberDec(00, true, 2, 1); // _00_
  delay(500);
  display.setSegments(C, 1, 3); // _00C
  delay(500);
  display.clear();
}
  1. Zeichen und Buchstaben werden im Programm mit const uint8_t [] = {} erzeugt;
  2. Die Funktionen und Befehle der TM1637Display.h Bibliothek für die 4-stellige Anzeige sind am Ende dieses Beitrags genauer beschrieben.

Wie man einen TM1637 Display an einen Arduino anschließt

Das folgende Programm zeigt eine Variable auf dem vierstelligen Display an – die Werte des analogen Lichtsensors (Fotowiderstand), aber Sie können jeden anderen analogen Sensor für den Arduino-Mikrocontroller verwenden. Bei dem folgenden Beispiel wird eine dreistellige Zahl auf dem TM1637-Modul angezeigt und das vierte Segment zeigt den lateinischen Buchstaben „c“ an, der im Programm mit Hilfe eines Arrays erstellt wurde.

Programm für Variable Anzeige auf dem Display TM1637

#include "TM1637Display.h"
TM1637Display display(3, 2); // CLC, DIO

int c;

const uint8_t c[] = {
  SEG_G | SEG_E | SEG_D // c
};

void setup() {
  Serial.begin(9600);
  pinMode(A1, INPUT);
  display.setBrightness(4); // Helligkeit von 0 bis 7
  display.clear();
}

void loop() {
  c = analogRead(A1);
  Serial.println(c);
  display.showNumberDec(c, false, 3, 0);
  display.setSegments(c, 1, 3);
  delay(500);
}
  1. Der Code ist für eine dreistellige Zahl; wenn die Variable einen vierstelligen Wert haben soll, dann ändern Sie die Zeile display.showNumberDec(c, false, 4, 0); im Programm und verweigern Sie die Anzeige des Symbols „c“ auf dem Display.

Beschreibung der Befehle der Bibliothek TM1637Display.h

Beschreibung der Befehle der Bibliothek TM1637Display.h

setBrightness(brightness, true/false) – die Funktion kann an beliebiger Stelle im Code verwendet werden und stellt die Helligkeit des Displays ein. Sie können brightness von 0 (geringste Helligkeit) bis 7 (höchste Helligkeit) einstellen. Der zweite Parameter wird verwendet, um das Display zu aktivieren/deaktivieren, false bedeutet, dass das Display ausgeschaltet ist.

clear() – Befehl zum Löschen der Anzeige.

setSegments(segments, length, position) Mit dieser Funktion können einzelne Segmente gesetzt werden, wobei segments ein Array ist (zu Beginn mit const uint8_t erstellt). Das Argument length gibt die Anzahl der Zeichen im Array an, zwei Zeichen werden beim Aufbau des Thermometers auf dem TM1637 – °C verwendet. position – gibt die Position an, ab der das Zeichen auf dem LED-Bildschirm ausgegeben werden soll.

showNumberDec(number, leading_zeros, length, position), wobei das Argument number die Zahl ist, die auf dem Indikator angezeigt wird. Das zweite Argument leading_zeros wird verwendet, um führende Nullen zu aktivieren (true) oder zu deaktivieren (false). 10 ohne führende Nullen wird als __10 gedruckt, mit führenden Nullen als 0010. Das dritte und vierte Argument der Funktion sind die gleichen wie in der vorherigen Funktion.

showNumberDecEx(number, dots, leading_zeros, length, position) – Mit dieser Funktion können Sie die Punkte der Anzeige steuern. Sie unterscheidet sich von der Funktion showNumberDec nur durch das Argument dots. Bei Anzeigen mit Doppelpunkten sollten Sie 0b01000000 angeben, um einen Doppelpunkt in der Anzeige zu aktivieren und 0b0000000000, um ihn zu deaktivieren.

5/5 - (1 vote)


2 respuesta al ejemplo: TM1637 Display Modul Arduino anschließen & verwenden

  1. Hallo, ich kämpfe schon seit Wochen damit, einen Sensor (HX711) mit einer Anzeige (TM1637)zu verbinden. Beide Teile funktionieren für sich mit jeweiligen Testbibliotheken.
    1. In euerem Beitrag „TM1637 Display Modul Arduino anschließen & verwenden“ finde ich leider euere Beispielbibliothek TM1637Display.h nicht in der Arduino Datenbank. Vermutlich ist sie unter einem anderen Namen hinterlegt. Beim hinzufügen euerer verlinkten ZIP Datei in die Bibliothek kommt die Fehlermeldung:
    Error:13 INTERNAL Installation der Bibliothek fehlgeschlagen: moving extracted archiv to destination dir: Bibliothek nicht gültig

    Ist die Bibliothek in der Arduino Plattform hinterlegt und wenn ja, wie heisst sie? Es geht ja relativ simpel, eine existierende Bibliothek in Arduino hochzuladen

    2. Ich lade die Bibliothek für einen TM1638. Ich lade die Bibliothek für einen HX711. Ich ergänze in dem einen Sketch die Zeilen der zweiten Bibliothek, benenne die entsprechenden Pins um und möchte fürs erste einfach nur, dass die Anzeige Zahlen des Dehnmesstreifens ausgibt.

    Irgendwie muss ich der Anzeige ja noch mitteilen, dass sie keinen Mustertext aus der Bibliothek anzeigen soll, sondern nur die Ausgabe eines Wertes, der sich bei Last ändern soll.

    Gefühlt benötige ich allein hierfür bereits ein Studium in C++
    Oder übersehe ich simpleste Vorgänge zum zusammenfügen von mehreren Bibliotheken auf der Arduino Plattform?

    1. Die Bibliothek TM1637Display.h wird heruntergeladen und ohne Fehler installiert.

      Die Bibliothek enthält nicht meine Beispiele, sollten sie von der Website kopiert werden – wenn Sie einen Bedarf für sie haben.

      Versuchen Sie, die TM1637-Bibliothek zu deinstallieren und installieren Sie sie erneut über den Link auf dieser Seite.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert