#ArduinoProgrammieren
Explore tagged Tumblr posts
Text
Fehlender Doppelpunkt bei TM1637? Lösung mit TM1637Display.h Schritt für Schritt

Ein Besucher meines Blogs hat mir vor Kurzem folgende Frage geschickt: „Ich lasse mir auf einer 4fach-7Segment-Anzeige mit TM1637-Chip abwechselnd die Temperaturen von zwei Sensoren und die Uhrzeit anzeigen. Klappt soweit alles einwandfrei, nur bekomme ich den Doppelpunkt zwischen Segment 2 und 3 nicht zum Leuchten. Ich benutze die TM1637Display.h-Bibliothek. Kannst du mir einen Tipp geben, mit welchem Befehl ich den Doppelpunkt ein- bzw. ausschalten kann?“ Diese Frage nehme ich gerne zum Anlass, um in diesem Beitrag zu zeigen, wie man den Doppelpunkt zwischen den mittleren Ziffern korrekt aktiviert, insbesondere beim Einsatz der beliebten Bibliothek TM1637Display.h. Ich realisiere dafür ein kleines Beispielprojekt, das mit einem Arduino Nano V3 und einer 4-stelligen 7-Segmentanzeige arbeitet. Der Timer zählt im Format MM:SS hoch, wobei der Doppelpunkt zwischen Minuten und Sekunden sichtbar ist und im Sekundentakt blinkt. https://youtu.be/x3xQoU4IWt4 Du hast auch eine Frage oder benötigst Unterstützung bei einem deiner Mikrocontroller-Projekte? Ich freue mich immer über Fragen und Anregungen! Nutze dazu gerne mein Kontaktformular unter: 👉 https://draeger-it.blog/support/
UnterstĂĽtzte 7-Segment-Anzeigen mit TM1637
Die in diesem Beitrag gezeigte Lösung funktioniert mit 4-stelligen 7-Segment-Anzeigen, die den TM1637-Treiberchip verwenden. Diese Module sind besonders beliebt in Arduino- und ESP-Projekten, da sie mit nur zwei Datenleitungen (CLK und DIO) auskommen und leicht zu programmieren sind. Typische Merkmale solcher Anzeigen: - 4 Ziffern (0–9, Buchstaben eingeschränkt darstellbar) - Ein Doppelpunkt (zwischen Ziffer 2 und 3) – ideal für Zeitdarstellung - Ansteuerung über TM1637Display.h Bibliothek - Geringer Stromverbrauch und kompakte Bauform
verschiedene Segmentanzeigen für Arduino, ESP32 & Raspberry PI Wichtig: Nicht alle TM1637-Module besitzen den funktionsfähigen Doppelpunkt – beim Kauf solltest du darauf achten, dass zwischen der zweiten und dritten Stelle zwei kleine Punkte sichtbar sind. Nur dann lässt sich der Doppelpunkt auch softwareseitig aktivieren.
Schaltung: TM1637-Modul mit dem Arduino Nano verbinden
Die Verbindung zwischen dem Arduino und dem TM1637-Display ist denkbar einfach.
Schaltung - Arduino mit 4fach 7Segmentanzeige Es werden nur zwei digitale Pins benötigt: TM1637-PinArduinoBeschreibungGNDGNDMasseVCC5VVersorgungsspannungDIOD4DatensignalCLKD5Taktleitung
So aktivierst du den Doppelpunkt auf der TM1637-Anzeige
Verwendete Bibliothek: TM1637Display FĂĽr dieses Projekt verwende ich die beliebte Bibliothek TM1637Display von Avishay Orpaz, die speziell fĂĽr 4-stellige 7-Segment-Anzeigen mit TM1637-Chip entwickelt wurde. đź”— GitHub Repository: https://github.com/avishorp/TM1637 Diese Bibliothek stellt einfache Funktionen zur VerfĂĽgung, mit denen sich Zahlen, Texte und auch der Doppelpunkt bequem anzeigen lassen.
TM1637Display GitHub Repo ZIP-Download
TM1637Display - Bibliotheksverwalter Aktivieren / deaktivieren des Doppelpunktes Ein häufiges Problem beim Einsatz der TM1637Display.h-Bibliothek: Der Doppelpunkt zwischen der zweiten und dritten Ziffer bleibt dunkel, obwohl die Anzeige korrekt funktioniert. Der Grund liegt in der verwendeten Funktion – denn nicht jede Methode der Bibliothek kann den Doppelpunkt ansteuern. Die beiden Methoden im Vergleich: display.showNumberDec(value, true, 4, 0); Diese Funktion zeigt eine Zahl im Dezimalformat an – ohne Möglichkeit, den Doppelpunkt zu aktivieren oder zu steuern. Sie ist ideal für reine Zahlenwerte wie 1234 oder 0007, aber nicht geeignet für Zeitformate wie MM:SS. display.showNumberDecEx(value, dots, true, 4, 0); Die erweiterte Version showNumberDecEx() erlaubt dagegen die gezielte Steuerung des Doppelpunkts über den Parameter dots. Hier kannst du mit einem einfachen Bitwert den Doppelpunkt aktivieren oder deaktivieren. Der entscheidende Parameter: Wert von dotsWirkung auf den Doppelpunkt0b00000000 oder 0Doppelpunkt aus0b01000000 oder 64Doppelpunkt an (Segment G) Das Bit 0b01000000 steht für Segment G, welches beim TM1637-Display für den mittleren Doppelpunkt zuständig ist. Beispiel: Zeit mit aktivem Doppelpunkt anzeigen int value = 1234; // z. B. 12:34 int colon = 0b01000000; // Doppelpunkt aktivieren display.showNumberDecEx(value, colon, true, 4, 0); 💡 Tipp: Wer den Doppelpunkt blinken lassen möchte, kann den Wert von colon einfach im Sekundentakt zwischen 64 und 0 umschalten – wie im Beispielprojekt gezeigt. Beispiel: Arduino Nano V3 mit 4fach 7SegmentanzeigHerunterladen Quellcode /* * Titel: Fehlender Doppelpunkt bei TM1637? Lösung mit TM1637Display.h Schritt für Schritt * Beschreibung: * Dieses Beispiel zeigt, wie man mit einem Color Nano V4.0 und einer 4-stelligen 7-Segmentanzeige (TM1637) * einen einfachen Timer realisiert. Die Sekunden werden im Format MM:SS dargestellt. * Der Doppelpunkt zwischen den beiden mittleren Stellen wird mithilfe der TM1637Display.h-Bibliothek korrekt aktiviert. * Nach einem Reset beginnt der Timer wieder bei 00:00. * * Autor: Stefan Draeger * Webseite: https://draeger-it.blog * Beitrag: https://draeger-it.blog/fehlender-doppelpunkt-bei-tm1637-loesung-mit-tm1637display-h-schritt-fuer-schritt/ */ #include // Pin-Definitionen für das TM1637-Modul #define segmentanzeige_CLK 5 #define segmentanzeige_DIO 4 // Bitmaske für den Doppelpunkt (Segment G) #define DISPLAY_COLON 0b01000000 // Initialisierung des Displays mit den definierten Pins TM1637Display display(segmentanzeige_CLK, segmentanzeige_DIO); // Zählvariable für vergangene Sekunden int seconds = 0; void setup() { Serial.begin(9600); // Serielle Schnittstelle für Debug-Zwecke // Maximale Helligkeit des Displays (0x00 bis 0x0f) display.setBrightness(0x0f); // Kurzer Starttest: alle Segmente für 1 Sekunde anzeigen uint8_t allSegments = { 0xff, 0xff, 0xff, 0xff }; display.setSegments(allSegments); delay(1000); } void loop() { // Sekundenzähler erhöhen seconds++; // Umrechnung der Sekunden in Minuten und Sekunden int minutes = seconds / 60; int remainingSeconds = seconds % 60; // Format: MMSS, z. B. 01:45 → 0145 int value = (minutes * 100) + remainingSeconds; // Doppelpunkt aktivieren bei gerader Sekunde (blinkender Effekt) int colon = (seconds % 2 == 0) ? DISPLAY_COLON : 0; // Wert auf dem Display anzeigen: // - value: MMSS-Wert // - colon: Doppelpunkt-Bit aktivieren/deaktivieren // - true: führende Nullen anzeigen // - 4: Länge (alle 4 Stellen) // - 0: Startposition (von ganz links) display.showNumberDecEx(value, colon, true, 4, 0); // Eine Sekunde warten delay(1000); } Read the full article
0 notes
Text
Buchvorstellung #5: Arduino Kompendium: Elektronik, Programmierung und Projekte

Von dem BMU Verlag habe ich für ein Review das Buch "Arduino Kompendium: Elektronik, Programmierung und Projekte", welches ich in diesem Beitrag vorstellen möchte, kostenfrei zur Verfügung gestellt bekommen.

Buch: Arduino Kompendium Auch wenn ich dieses Buch kostenfrei erhalten habe, möchte ich meinen Eindruck und Meinung über dieses Buch vermitteln.
Eckdaten zum Buch
Verlag - BMU Verlag Author - Danny Schreiter Seitenzahl - 534 Preis ebook - 9,99€ Taschenbuch - 17,99€ Hardcover - 24,99€ ISBN - 978-3-96645-017-1
Author
Der Author Danny Schreiter ist Dozent an der Fachschule GBS Leipzig und unterrichtet dort das Fach Elektrotechnik. Diesen Einfluß merkt man sehr stark in diesem mir vorliegenden Buch. Der Author möchte mit diesem Buch eine Zielgruppe erreichen welche bisher noch keine bis wenig Erfahrung mit dem Thema Elektrotechnik und vor allem mit dem Microcontroller Arduino gesammelt haben. Vorallem aber möchte er ein Nachschlagewerk für Anfänger und Fortgeschrittene schaffen welches weiter am Anfang ansetzt, denn bevor man einen Microcontroller programmieren kann muss man erst einmal die elektronischen Zusammenhänge kennen.
Aufbau des Buches
Das Buch richtet sich an den Anfänger welche noch keine Erfahrung mit der Microcontroller Familie "Arduino" haben. Der Aufbau ist gerade für diese Zielgruppe sehr gut denn nach einer obligatorischen Einleitung geht es nicht gleich los mit der Programmierung sondern es werden zunächst die elektrotechnischen Zusammenhänge erläutert welche für dieses Hobby essentiell sind. Des Weiteren werden verschiedene elektronische Bauelemente wie Kondensatoren, Transistoren, Dioden sowie verschiedene Boards der Arduino Familie vorgestellt. Leider sind die Bilder teilweise sehr dunkel geworden und daher kann man nicht alle Details auf diesen erkennen. Interessant ist vor allem, das auch der Author sich von den günstigen Produkten hat verleiten lassen. Da der Originale Arduino UNO, oder Nano doch schon sehr teuer ist kann ich diesem das nicht absprechen. Zum Lilipad Arduino fehlte der Hinweis auf den Bereich der Wearables d.h. IoT Projekte welche am Körper getragen werden können. (Daher hat der Lilipad Arduino auch abgerundete Kanten.) Nachdem sich die ersten 3 Kapitel mit den zuvor genannten Inhalten sowie dem einrichten der Arduino IDE beschäftigt haben, werden schon die ersten Sketche (so werden die Programme bezeichnet welche für den Arduino entwickelt werden) und Schaltungen erstellt. Das erste Projekt wird aus den Beispielen entnommen und Zeile für Zeile erläutert, dieses Vorgehen finde ich besonders gut, da hier am Praxisbeispiel der Aufbau eines Sketches gezeigt wird und der spätere Entwickler erst einmal nichts schreiben muss. Die weiteren Kapitel beschäftigen sich mit verschiedene Module & Shields welche für den Arduino erhältlich sind. Der Software Processing, welche dazu dienen kann Messdaten am Computer zu visualiseren, wird sogar ein extra großes Kapitel gewidmet (leider kommt dieses durch die Komplexität etwas zu kurz.). Leider ist beim erstellen meines Buches wohl etwas falsch gelaufen denn zwischendurch hat man sehr viele leere Seiten. Dieser Umstand ist aber verkraftbar da der Inhalt des Buches ja trotzdem vermittelt wird.
Fazit
Eigentlich dachte ich bisher "eine gute Googlesuche und man braucht kein Buch", aber dieses Buch hat mich vom Gegenteil überzeugt. Wenn ich mal zurück blicke auf wie viele Webseiten die Informationen zunächst gesammelt und verifiziert werden mussten. Diese Arbeit kann sich mit diesem Buch gespart werden. Das Buch gibt einem Anfänger quasi alles in die Hand was benötigt wird um gleich los zulegen. Wenn man also dem Buch noch einen Arduino UNO, ein USB Kabel und ein paar kleine, elektronische Bauteile beilegen würde. Hätte man das komplette Starterpaket. :)   Read the full article
0 notes