Das QYF-TM1638 (oft auch als HCW-132 bezeichnet) ist ein extrem vielseitiges Interface-Modul für Mikrocontroller wie den Arduino. Es kombiniert drei wesentliche Komponenten auf einer Platine:
- Acht 7-Segment-Anzeigen: Ideal für Zahlen, einfache Texte und sogar minimale Animationen.
- 16 Tastenschalter: Angeordnet in einer 4x4 Matrix, was es perfekt für Tastatureingaben macht.
- Ansteuerung über nur 3 Pins: Dank des TM1638-Chips sparen wir massenweise GPIO-Pins am Arduino.
Es ist das perfekte Modul, um ohne Kabelsalat interaktive Projekte zu realisieren, die über einfaches LED-Blinken hinausgehen. Die 2 Projekte auf dieser Seite mit dem QYF-TM1638 ist Retro-Computing am Limit: Taschenrechner & Dino-Game auf 7 Segmenten.
Pin-Belegung und Verdrahtung
Um das Board mit einem Arduino (z. B. UNO oder Nano) zu verbinden, werden lediglich 5 Kabel benötigt. In diesem Projekt nutzen wir folgende Belegung:
| Modul Pin | Arduino Pin | Funktion |
| VCC | 5V | Stromversorgung |
| GND | GND | Masse |
| STB (Strobe) | D4 | Chip-Auswahl |
| CLK (Clock) | D6 | Taktsignal |
| DIO (Data) | D7 | Datentransfer |
Die Library: TM1638plus
Für die Programmierung nutze ich die leistungsstarke Library TM1638plus. Da das Board 16 Tasten besitzt, musst du das Model 2 bei der Programmierung verwenden.
#include <TM1638plus.h>: Die Basis-Bibliothek.
#include <TM1638plus_Model2.h>: Die spezifische Erweiterung für das 16-Tasten-Layout.
Der erste Test: Tasten auslesen
Bevor wir komplexe Logik programmieren, müssen wir sicherstellen, dass die Kommunikation steht. Dieser Test-Code zeigt die gedrückte Taste sowohl im Seriellen Monitor als auch auf dem Display an.
Erklärung: Das Objekt tm wird mit unseren Pins initialisiert. In der loop() fragen wir mit ReadKey16() kontinuierlich ab, ob eine Taste gedrückt wurde. Ein Rückgabewert von 0 bedeutet "keine Taste", während 1-16 die jeweilige Taste identifiziert. Das ist die Basis für jede Menüsteuerung.
Der Arduino Code zum auslesen und anzeigen
Projekt 1: Der Taschenrechner
Hier verwandelst du das Board in einen voll funktionsfähigen Rechner für Grundrechenarten, auf eine Kommastelle genau.

Die Tasten-Matrix (Name: Key-Mapping)
// Beispielhafte Zuweisung der Tasten zu Zahlen
if (taste >= 1 && taste <= 10) {
aktuelleZahl = taste - 1; // Taste 1 ist die 0, Taste 2 die 1...
}
Erklärung: Da die Tasten nur Nummern von 1-16 zurückgeben, müssen wir sie im Code "übersetzen". Wir definieren, welche Taste eine Zahl ist und welche eine Operation wie Plus oder Minus darstellt.
Speichern der Operanden (Name: Rechenlogik)
if (taste == 13) { // Beispiel für "Plus"
ergebnis = zahl1 + zahl2;
modus = ' ';
}
Erklärung: Der Rechner muss sich die erste Zahl merken, wenn eine Operationstaste gedrückt wird. Erst beim Drücken der "Gleich"-Taste wird die Berechnung ausgeführt und die Variable ergebnis aktualisiert.
Formatierte Ausgabe (Name: Display-Output)
tm.DisplayDecNum(ergebnis, 0, false, TMAlignTextRight);
Erklärung: Mit DisplayDecNum wird das Ergebnis rechtsbündig auf den 8 Stellen des Displays ausgegeben. Das sorgt für das typische Taschenrechner-Gefühl.
Der vollständige Arduino für den Taschenrechner
Projekt 2: Das Dino-Spiel (Chrome Easter Egg Style)
Wer hätte gedacht, dass man auf acht 7-Segment-Stellen ein Spiel spielen kann?

Den Dino zeichnen (Name: Segment-Animation)
// Ein 'u' auf der unteren Hälfte als Dino
tm.DisplayASCII(pos, 'u');
Erklärung: Da wir keine Pixel haben, nutzen wir Buchstaben. Ein kleines 'u' oder Segmente am unteren Rand stellen den Dino dar, während wir Segmente am oberen Rand für den Sprung nutzen.
Die Hindernis-Bewegung (Name: Shift-Register-Logik)
for (int i = 0; i < 7; i++) {
displayInhalt[i] = displayInhalt[i+1]; // Hindernis rückt nach links
}
Erklärung: Das Spiel basiert auf einem Array, das die 8 Stellen des Displays repräsentiert. In jedem Frame rücken die Hindernisse (z. B. ein '|') eine Stelle nach links auf den Dino zu.
Kollisionsabfrage (Name: Hit-Detection)
if (hindernisPos == dinoPos && !isJumping) {
gameOver = true;
}
Erklärung: Das Herzstück des Spiels. Es wird geprüft, ob sich an der Position des Dinos ein Hindernis befindet, während der Dino nicht im Sprung-Modus (also oben) ist. Wenn das passiert: Game Over!
Der vollständige Arduino Code für das "runner" Dino Spiel
13 weitere Projektideen für dein TM1638-Board/ hcw-132-Board
- Binär-Uhr & Wecker Nutze die 8 Stellen für Stunden, Minuten und Sekunden. Die LEDs können zusätzlich die Zeit im Binärformat anzeigen – ein echter Hingucker für Nerds.
- Pomodoro-Timer Ein Produktivitäts-Tool, das Arbeitsphasen (25 Min.) und Pausen (5 Min.) herunterzählt. Die Tasten dienen zum Starten, Stoppen und Resetten.
- Reaktionstest-Spiel Eine LED leuchtet zufällig auf, und du musst so schnell wie möglich die entsprechende Taste drücken. Das Display zeigt deine Reaktionszeit in Millisekunden.
- Simon Says (Gedächtnistraining) Das Board gibt eine Sequenz aus leuchtenden LEDs oder Zahlen vor, die du über die Tasten exakt nachspielen musst. Mit jeder Runde wird es schneller.
- Digitales Scoreboard Perfekt für Kicker, Tischtennis oder Brettspiele. Mit den Tasten kannst du die Punkte für zwei Spieler unabhängig voneinander hoch- und runterzählen.
- Morse-Code-Trainer Gib über eine Taste Morse-Signale ein. Das Display "übersetzt" deine Klicks in Echtzeit in Buchstaben oder zeigt dir Wörter an, die du nachmorsen musst.
- PC-Status-Monitor Verbinde den Arduino mit deinem PC. Lass dir CPU-Auslastung, RAM-Verbrauch oder die GPU-Temperatur direkt auf dem TM1638-Display anzeigen.
- Mastermind (Logikrätsel) Der Arduino denkt sich einen vierstelligen Code aus. Du gibst Tipps über die Tastatur ein, und das Display verrät dir, wie viele Zahlen an der richtigen Stelle stehen.
- Musik-Metronom Stelle über die Tasten die BPM (Beats per minute) ein. Die LEDs blinken im Takt, und das Display zeigt das aktuelle Tempo an.
- Interaktiver Vokabeltrainer Lade eine Liste von Wörtern hoch. Das Board zeigt ein deutsches Wort, und du musst über ein Multiple-Choice-Verfahren (Tasten 1-4) die richtige Übersetzung wählen.
- Zufallszahlengenerator & Würfel Ersetze deine Würfel bei Brettspielen. Per Knopfdruck erscheint eine Zahl zwischen 1 und 6 (oder 1 und 100) mit einer coolen "Roll"-Animation.
- Passwort-Safe (Dummy) Simuliere ein Türschloss. Nur wenn die richtige Zahlenkombination über die 16 Tasten eingegeben wird, leuchten alle grünen LEDs auf und ein Servo (optional) öffnet sich.
- Küchen-Multi-Timer Überwache bis zu vier Kochtöpfe gleichzeitig. Das Display zeigt den Timer an, der als Nächstes abläuft, während du mit den Tasten zwischen den Timern wechselst.



