Präzisions-Wortuhr: Minuten-genaue Zeitanzeige in Worten
Komponenten und Materialien
| Komponente | Anzahl | Hinweis |
|---|---|---|
| Arduino Nano R3 | 1 | Vollständige Teileliste im Projekt |
Projektbeschreibung
Weitere Details zum Bau finden Sie auf meiner Website: Word Clock.
Diese Arduino-Wortuhr zeigt die Zeit wortgenau mit Minutenauflösung und eine lineare Sekundenanzeige.
Zusätzliche Modi: Digitaluhr, Analoguhr, Temperatur & Luftfeuchte sowie drei Spiele: Game of Life, Simon und Tetris.
Die Uhr kann eigenständig laufen oder als Slave an eine Masteruhr angebunden werden. Ohne Master steuert ein temperaturkompensiertes Echtzeituhr-Modul (DS3231) die Zeit.
Optional kann ein PIR- oder Doppler-Radar-Sensor das Display abschalten, wenn niemand im Raum ist.
Abmessungen: 500 × 500 mm (19,68″ × 19,68″), Gewicht 5,5 kg, zur Wandmontage. In jeder Ecke befinden sich Touchpads zur Bedienung.
Schritt 1: Über Wortuhren
Wortuhren zeigen die Zeit mittels einer Matrix aus Wörtern oder Buchstaben. Es gibt verschiedene Design-Typen, die die Komplexität beeinflussen.
Einfachste Variante: Wortblöcke für 5-Minuten-Schritte (z. B. „FÜNF NACH“, „ZEHN VOR“). Nur ca. 20 LED-Blöcke nötig, aber feste Anzeigeformate.
Mittlere Variante: 11×10 LED-Matrix plus 4 Eck-LEDs. 110 einzelne LEDs ermöglichen Ziffern und einfache Bilder. Weiterhin 5-Minuten-Wortauflösung, oft mit „gerade nach“ / „fast“ zur Erhöhung der Auflösung. Die 4 Eck-LEDs zeigen die verbleibenden 1–4 Minuten an. Aufwendigerer Bau, oft mit LED-Streifen.
Kommerzielle Versionen (450 mm Wandmodell ca. 1000 £) bieten wechselbare Frontplatten, Desktop- und Armbanduhren.
Höchste Komplexität: 16×16 LED-Matrix (256 LEDs). Minuten-genaue Wortanzeige, Tageszeiten (Morgen, Abend, Nacht), Temperatur in Worten (warm, kalt etc.). Riesige Anzeigemöglichkeiten. Komplexer Bau durch viele Verbindungen. PCB-Bestückung mit SMD ermöglicht flache Gehäuse, aber über 500 mm werden PCBs teuer. Handbestückte Matrix braucht Platz – 500×500 mm ist guter Startpunkt für Kabelbäume. Größere Wanduhren möglich.
Schritt 2: Änderungen gegenüber Vorlagen
Diese Uhr kombiniert Wouter Devinck Hardware mit der „Catalan“ Pijuana Software. Keine Custom-PCBs, nur Fertigmodule und drei kleine Veroboard-Stromversorgungen.
- Gehäuse aus 2 × 14 mm MDF (statt 18 mm Einzelplatte). Rückwand 10 mm kleiner an drei Seiten, wirkt optisch nur 14 mm dick.
- Tiefe 34 mm (inkl. 4 mm Floatglas, 2 mm Staubdichtung) vs. 21 mm bei Devinck. Durch Versatz der Rückwand und Glasrücksprung wirkt sie genauso schlank.
- Display direkt auf LEDs ohne PCB – beliebige Größe möglich.
- TTP223 Touch-Sensor-Module statt Azoteq IQS127D.
- MAX7219 Treiberboards auf modifizierten LED-Matrix-Modulen (fertig bestückt).
- Arduino Nano wegen kompakter Größe.
- PIR-Sensor zum Abschalten bei Abwesenheit (deaktivierbar).
- Trimmpotentiometer für Helligkeitskalibrierung von unten zugänglich.
- Synchronisation mit Masteruhr alle 30 Sekunden. Bei Ausfall Freilauf über RTC. Sync-Impulse werden angezeigt.
- Software basiert auf „Catalan“ Pijuana Version, ins Englische übersetzt. Credits zeigen Version, Name, Baujahr.
- Wort-Temperatur entfernt, stattdessen Sync-Status, PIR ON/OFF, lineare Sekundenanzeige in unterster Reihe.
- Wortänderungen für natürliche englische Formulierungen: „MINUTE“ statt „MINUTES“ bei 1 Minute, „A QUARTER“ statt „QUARTER“, „ELEVEN“ hinzugefügt, Mittag: „TWELVE OCLOCK IN THE AFTERNOON“, Mitternacht: „TWELVE OCLOCK AT NIGHT“, nach Mitternacht immer „IN THE MORNING“, „OCLOCK“ ohne Apostroph.
Schritt 3: Gehäusedesign
Mein Gehäuse ist 34 mm tief (Rückwand-Dichtung 2 mm, Rückwand 14 mm, Front 14 mm, Glas 4 mm). Devincks: 21 mm (18 mm MDF + 2 mm Glas).
Optische Tricks: Rückwand schwarz (Front weiß) lenkt Blick auf schmale weiße Kante. Rückwand 10 mm kürzer an drei Seiten verstärkt Illusion. Glas 1–2 mm kleiner als Frontblende. Aus extremer Seitenansicht wirkt mein 34 mm Gehäuse so schlank wie Devincks 21 mm.
Schritt 4: Bedienung
Vier TTP223 Touch-Module in den Ecken (oben links, oben rechts, unten links, unten rechts).
Funktionen der Tasten hängen vom aktuellen Modus ab (siehe Tabelle im Original).
Schritt 5: Automatische Sommer-/Winterzeit
Nicht verwendet.
Schritt 6: Anzeigemodi – Uhren & Umwelt
Reihenfolge: Wortuhr → Digitaluhr → Temperatur/Luftfeuchte → Analoguhr.
Startmodus scrollt Versionsnummer, Erstellername, Uhrname.
Schritt 7: Anzeigemodi – Spiele
Drei klassische Spiele (Code aus Catalan Clock übernommen):
Conway's Game of Life: Zellulärer Automat auf 2D-Gitter. Regeln: Unterbevölkerung (<2 Nachbarn) → Tod, 2–3 Nachbarn → Überleben, Überbevölkerung (>3) → Tod, genau 3 Nachbarn → Geburt.
Simon: Merkspiel – Computersequenz nachahmen. Doppeltippen auf letztes Element beendet Zug. Bei Fehlschlag Punkteanzeige.
Tetris: Sowjet-Puzzle von 1984. Steuerung der Steine per Touch-Tasten noch verbesserungswürdig.
Schritt 8: Prototyping
Test mit originalen DOT-Matrix-LEDs auf MAX7219-Modulen möglich. Temporäre Modifikation nötig, um Software/Layout im Miniaturformat zu testen.
Modifikation: Pins 16, 15, 3, 4, 10, 11 der LED-Matrix um 90° biegen (oben nach oben, unten nach unten), in Sockel stecken (diese Pins bleiben unverbunden). Drahtbrücken von Platinenrückseite zu den herausstehenden Pins löten:
- LEDA → Pin 16
- LEDB → Pin 15
- LEDG → Pin 3
- LEDF → Pin 4
- LEDE → Pin 10
- LEDC → Pin 11
Mit Multimeter Pinbelegung prüfen. Tabelle zeigt Abweichung Software-Pin vs. LED-Pin.
Miniatur-Wortlayout (62×62 mm) auf Papier drucken zum Test.
Ausrichtung der Display-Module beachten (Rotation wie bei Devinck Original).
Prototyp auf Steckbrett: Wenige Kabel, da meiste Verdrahtung in Display-Matrizen liegt. Viele Layouts getestet vor Endbau.
Schritt 9: Test der modifizierten Module
Test-Sketch lässt jede LED nacheinander von links oben nach rechts unten leuchten. 5 Drähte an Nano + MAX7219, Nano per USB versorgen, Sketch laden.
Jedes Modul einzeln prüfen. Test-Sketch im Zip: MAX7219_LED_Test.zip
Schritt 10: Zeit-zu-Wort Zuordnung
Keine festen Regeln – Wörter so setzen, wie man die Zeit sagt. Meine Änderungen ggü. Devinck: „MINUTE“ bei 1 Min, „A QUARTER“, Mittag/Mitternacht Formulierungen, „OCLOCK“ ohne Apostroph. Einfach in Software anpassbar.
Excel-Tabelle: Word+to+Time+Translations.xlsx
Schritt 11: Stromversorgung
Zentrale 12 V Versorgung → lokal 5 V Step-Down (MP1584 auf Veroboard). 18 einzeln abgesicherte 12 V Kreise (2 A), 9 davon batteriegepuffert. Uhr-Platinen haben eigene Sicherungen.
Zwei weitere Veroboards für Stromverteilung (eines mit Summer).
Leistungsbedarf: 30 mA (dunkel) – 250 mA (max. Helligkeit). Bei Sonne ca. 2/3 Maximalleistung. PIR spart stark. Mindestens 500 mA Netzteil empfohlen.
Schritt 12: Modul-Verkabelung
Die meisten Module direkt an Nano. MAX7219 Boards nur über Modul 01 an Nano, restliche per Daisy-Chain. 8×8 LED-Matrizen an je ein MAX7219. Hauptverkabelung: MAX7219 ↔ LED-Matrizen. Kurze Wege Nano ↔ erstes MAX7219 und zwischen MAX7219s. Beide Enden der Kette mit 5 V/0 V versorgen (Hauptstromverbraucher).
Schritt 13: Bauablauf
- Vinyl-Folie drucken lassen
- Glas zuschneiden
- MDF-Platten (Front/Rück) zuschneiden
- LED-Löcher in Frontplatte bohren
- MDF grundieren & lackieren
- Sensorkonturen in Glas schneiden
- Vinyl auf Glasrückseite kleben
- Sensorkonturen in Frontplatte fräsen
- Sensor-Aussparungen in Frontplatte fräsen
- Rückwand zuschneiden, 4 Zugangsbohrungen für Sensoren
- Melamin-Kantenbänder (Front weiß, Rückwand schwarz)
- Rückwand an Frontplatte schrauben/kleben
- Veroboards bauen (1 Netzteil, 2 Verteiler)
- 4× MAX7219 modifizieren & LED-Verdrahtung anlöten (vorerst nur an MAX7219-Seite)
- Alle Module & Veroboards auf Rückseite der Frontplatte montieren
- 4 LED-Matrizen auf Frontplatte aufbauen, 256 LEDs verlöten
- Batt/GND-Leitungen von Netzteil & Verteiler verlegen
- Alle Module an Strom anschließen
- Verdrahtung Nano, MAX7219, RTC, Temp-Sensor, Touch, Summer
- Kabelbäume von MAX7219 zu LED-Matrizen laut Tabelle
- PIR-Modul extern anschließen
- 30-Sek-Sync an Masteruhr (falls nötig)
- Glasfront mit Chicago-Schrauben montieren (gleichzeitig Touch-Sensoren fixieren)
- Testen
Approximative Bauzeiten in Tabelle 1 (variiert nach Skill/Tools). +40 h Prototyping/Programmierung.
Schritt 14: Vinyl-Aufkleber
Design in Inkscape (freie Vektorgrafik-Software, SVG-Format). Originaldesign von Wouter Devinck (GitHub) angepasst. Viele Versionen am Prototyp getestet. Spiegelverkehrt drucken!
Hersteller: Regal Signs & Graphics – schwarze Vinylfolie, spiegelgeschnitten, Buchstaben entgittert, mit Übertragungstape, ca. 27 £ inkl. MwSt. Lieferung in Kartonröhre. Datei als EPS aus Illustrator übergeben.
Applikationstape als Diffusor belassen, überschüssiges Papier vor dem Aufkleben entfernen.
Glas: 4 mm Floatglas, 500×500 mm, Kanten poliert (lokaler Glaser, 20 £). 5 mm Bohrungen für Chicago-Schrauben (YouTube-Anleitungen beachten). Glas mit Aceton reinigen, Handschuhe tragen. Verdünnte Seifenlauge aufsprühen, Trägerfolie flach abziehen, nass aufkleben, mit Kreditkarte Blasen entfernen, über Nacht trocknen, von Rückseite Vinyl über Bohrungen wegschneiden.
Inkscape-Datei: Brett11_print_ready.svg
Schritt 15: Hauptplatinen – Teil 1
Zwei 14 mm MDF-Platten. Rückwand 10 mm kleiner an drei Seiten (oben bündig). Frontkanten weiß, Rückwandkanten schwarz → optisch 14 mm Tiefe.
Bei Devinck: 18 mm Platte, Rückseite ausgefräst. Zwei Platten = Sägen statt Fräsen. Frontplatte 503×503 mm (1,5 mm Überstand schützt Glas).
Rückwand per Stichsäge ausgeschnitten (14 mm Bauteilhöhe). MAX7219 Module 10 mm hoch. Fertig: Rückwand an Frontplatte schrauben/kleben.
Frontplatten-Bau
256 LEDs scheinen durch 6,5 mm Löcher + 18 mm Senkbohrungen, die Buchstaben/Zahlen beleuchten.
Raster: Zeichen 25 mm Abstand, beginnend 62,5 mm vom Rand. Linien gezogen, Schnittpunkte = Bohrpunkte.
Obere Kante als Bezug, jede Reihe davon ausmessen. Entsprechendes für Spalten (linke Kante).
256 Schnittpunkte = Mittelpunkte für 6 mm LED-Löcher und 18 mm Senkungen.
Automatischer Körner (oder Nagel/Schraube) → 256 Punkte ankörnen. 6 mm Bohrer → 256 LED-Löcher. Dann 20 mm Senkbohrer → 256 Senkungen.
Senkbohr-Schablone: Holzrest mit Loch für Bohrfutter-Ring. Teststück → Tiefe einstellen → Futter festziehen → 256× bohren bis Futterring an Schablone anliegt.
Fertige Frontplatte: 256 Senkungen + 6 mm Löcher. Abschleifen, MDF-Grundierung, weiß lackieren (Senkungen reflektieren Licht). Schwarzer Rand außen (verdeckt Platte, Glas 1 mm kürzer). 4× 5 mm Eckenbohrungen für Chicago-Schrauben (halten Glas, Touch-Sensoren, dienen als Touchpads). 3 mm Schraubenwelle, Gummi band zum Glasschutz.
Platte wenden, Forstnerbohrer für Touch-Sensor-Aussparungen (versetzt zu Schraubenlöchern).
Wandhalterung
Zwei Metall-Bilderhaken, in Rahmen versenkt (Oberkante bündig). 2″ Senkschrauben Nr. 6 halten Uhr mit Spannung an Wand (Dichtlippe wird komprimiert).
Schritt 16: Touch-Sensor Montage
TTP223 Module an Chicago-Schrauben befestigt (Schraube = Touch-Kontakt). 5 mm Bohrung in Sensorpad für Schraube. Sensorpad durch MDF und Kunststoffunterlegscheibe isoliert.
Schritt 17: Elektronische Komponenten & Module
ATmega328 Pinbelegung (Arduino IDE Nummerierung). BST Pin 07 ungenutzt.
LEDs
Qualitativ hochwertige LEDs nötig (lange Betriebszeit). Meine Specs: 5 mm Weiß, Flat Top, 120° Abstrahlwinkel, 13000 mcd, 3,2–3,8 V, 20 mA typ. (30 mA max), 256 Stück.
DHT22 Temperatur & Luftfeuchte
Günstiger digitaler Sensor. Pin 1: 3–5 V, Pin 2: Daten, Pin 3: GND. Alle 2 s neuer Wert. Obere/linke Lüftungsschlitze abgeklebt (misst Raumluft, nicht Gehäuse-Innenwärme, Staubschutz).
Offene rechte Seite dicht an unterer Rückwand. Zwei kleine Löcher in unterer Rückwand für Luftzirkulation.
Arduino Nano
Stromversorgung: Mini-B USB, 6–20 V unregelbar (Pin 30), 5 V regelt (Pin 27). Automatische Auswahl höchste Spannung. Speicher: 32 KB Flash (2 KB Bootloader), 2 KB SRAM, 1 KB EEPROM. 14 Digitalpins (40 mA, Pullup 20–50 kΩ). Spezialfunktionen: Serial (0/1), Ext. Interrupts (2/3), PWM (3,5,6,9,10,11), SPI (10–13), LED (13). 8 Analogeingänge (10 Bit). I2C (4/5). AREF, Reset. Kommunikation: UART TTL (0/1), FTDI FT232RL → USB Virtual COM. SoftwareSerial, I2C (Wire), SPI möglich.
TTP223 Touch-Sensor-Modul
Modul per Chicago-Schraube an Frontplatte (5 mm Bohrung in Sensorpad). Schraube berührt Sensor, ist aber durch Kunststoffscheiben isoliert. 4 Module (je Ecke).
Onboard-LEDs entfernt (abbrechen) zur Stromersparnis.
DS3231 AT24C32 I2C Precision RTC
Modul wird mit Li-Ion-Akku geliefert. Ich nutze Nicht-Wiederaufladbare → Widerstand R5 entfernt.
MAX7219 Display-Modul
MAX7219 LED-Strombegrenzung
Max. LED-Strom durch einzelnen Widerstand R1 am Modul. Wert aus Tabelle (Forward Voltage vs. gewünschter Strom). Modul kommt mit 10 kΩ. Meine LEDs: 3,2–3,8 V @ 20 mA (max 30 mA). Für lange Lebensdauer 20 mA → 22 kΩ (begrenzt auf ~20 mA bei Max-Helligkeit). Siehe Helligkeitskalibrierung.
1088AS LED Dot Matrix (nur Prototyping)
LDR (Lichtsensor)
~500 Ω (hell) – 10 MΩ (dunkel). Unterhalb der Uhr auf Rückwand positioniert.
Neben LDR: Bohrung für Trimmpotentiometer-Zugang (Helligkeitskalibrierung).
Komponentenliste
Schritt 18: Staubdichtungen
Zwei Dichtungen: 1) 2 mm Weichschaum auf Rückwand (selbstklebend, 5 mm Randabstand). Beim Aufhängen unter Druck → abdichtet zur Wand. 2) Selbstverschweißendes Gummi auf Frontplatte (5 mm vom Rand), verhindert Staub unter Glas. 4 kleine Gummistücke um Glasbohrungen (Schutz beim Anziehen der Chicago-Schrauben). Lederlochzange für Schraubenlöcher in Gummi.
Schritt 19: Schaltplan
Nano Verbindungen
Vollständige Datei im Hardware-Bereich.
MAX7219 Verbindungen
4 MAX7219 Module + angeschlossene LED-Matrizen. Matrizen jeweils um 90° gegeneinander verdreht (Modul 01 → 02 → 03 → 04). Modul 01 Input: Arduino CLK, DIN, LOAD. Output → Input nächstes Modul.
Schritt 20: LED-Matrizen verdrahten
Modulpositionen
4 Sensoren in Aussparungen hinter Rückwand. Rückwand hat 4 Zugangsbohrungen für Chicago-Schrauben/Sensorpads. 4 MAX7219 Module verlötet, mittig oben (kurze Datenwege). Nano links, RTC rechts (Batteriehalter in Frontplatte eingelassen). Veroboard Netzteil unten. 2 Verteilerboards oben. Haupt-5 V-2 A-Leitung zu beiden Verteilern, davon Verteilung. MAX7219 Kette: links eingespeist, durchgereicht, rechts wieder heraus → beide Enden versorgt.
LED-Matrizen (je 64 LEDs) nummeriert 1–4 (entspricht MAX7219 1–4 links nach rechts). Rückseite → Nummern gespiegelt.
Pro Modul: 8 Kathoden-Busbars (10 mm hoch, auf 15 mm Stiften) + 8 Anoden-Busbars (2 mm hoch, auf LED-Anoden). 16 Stifte pro Modul (5 mm eingehämmert, 10 mm Stand). Stifte entsprechen dicken Plattenbereichen (nicht LED-Vertiefungen vorne).
0,9 mm Kupferdraht an Stiftpaaren verlötet = Kathoden-Busbars. Rotation der Module beachten (Rückseite → gespiegelt).
Kathoden (vertikal) & Anoden (horizontal) pro Modul. Jede LED an eine Anode & Kathode angeschlossen.
Schritt 21: LEDs verdrahten
Anschluss von hinten: Positionen gespiegelt & 90° gedreht ggü. Nachbarmodul → komplex. Tabelle zeigt LED-Positionen (blaue Kästchen) & Busbar-Matrixpositionen (schwarz) von hinten gesehen.
LEDs in Vorrichtung biegen (konstante Position, schneller Bau). 4 Biegungen pro LED (2 pro Bein) = 1024 Biegungen. Kathode 90° zu Anode gebogen.
Matrixgitter an entsprechende MAX7219 Pins laut Layout-Tabelle.
16 Drähte pro Modul. 50-pol 0,5 mm Kabel (letzte 14 Farben doppelt). Modul 4: Sl/Vi am Ende statt am Anfang.
Schritt 22: MAX7219 Module modifizieren
Zwei 8-pol 90° Stiftleisten an untere Kante des bestehenden LED-Matrix-Steckers löten.
Drähte von dort zu LED-Matrizen (Farbcode-Tabelle). Seitlich: Stifte knapp über PCB an alten Pins angelötet. Falls SMD-Bauteile (R1, C1, C2) stören, Stiftleisten kürzen.
Strombegrenzung: Wie oben (22 kΩ für 20 mA).
Automatische Helligkeitskalibrierung
Uhr misst Umgebungslicht (LDR) & passt LED-Helligkeit an. Bei Ersteinbau kalibrieren.
Gerät (Handy/Laptop/Tablet) per Mini-USB an Uhr, seriellen Monitor öffnen (z. B. Slick USB 2 Serial Terminal auf Android via OTG).
Nach Reboot: laufende Ausgabe. Relevant: light reading & bright. Uhr an Endposition, max. Umgebungslicht. Flacher Schraubendreher in Zugangsloch rechts neben LDR. Drehen bis light reading = 600 (oder Wert in brightness.cpp) und bright = 15. Dann max. Helligkeit bei max. Licht. Weiter drehen → light reading > 600, aber bright bleibt 15. Für generell dunkler: light reading < 600 bei max. Licht einstellen. Hinweis: bright=15 = Max-Strom (durch R1 auf MAX7219 gesetzt, passend zur LED wählen).
Schritt 23: Mini-USB-Port
Für Kalibrierung/Programmierung: 90° Mini-USB Winkelverlängerungskabel (25 cm), Isolierung/Abschirmung abziehen → Kabel biegsam für enge Winkel/Radien.
Schritt 24: PIR-gesteuerte Display-Abschaltung
Optional – alternativ Doppler-Radar (nächster Schritt).
PIR im Wortuhr-Menü aktivierbar (unten links: PIR On, unten rechts: PIR Off). Bewegung → Display an. Keine Bewegung → nach Zeit aus. Statusanzeige „PIR ON“ / „PIR OFF“. PIR aus → Display dauerhaft an.
PIR-Modul fern von Uhr in modifizierter Chrom-Lichtschalterdose (in Rigipswand, mit Netzschalter). Modul winzig, kann in Tiny-Gehäuse. Funktioniert nicht hinter Glas → bei Uhreinbau Glasausschnitt nötig (großer Lochfräser).
Leere Chrom-Schalterplatte + Unterputzdose. 2 Bohrungen (Netzschalter, PIR-Linse). Zentrierkörnen, vorbohren, Stufenbohrer. PIR-Linse: Reibschluss.
12 V+ an Schalter, 0 V an Erdschraube. 12 V vom Schalter → Uhr Netzteil Veroboard. 5 V von Uhr Netzteil → PIR-Modul. 5 V + PIR-Signal an PCB-Header (stecken auf PIR-Pins). Sync-Kabel an Headerpins → Masteruhr 30-Sek-Sync per Einzel-Header.
PIR hat 2 Trimmer (Empfindlichkeit, Nachlaufzeit).
PIR Ein/Aus: In Wortuhr-Modus: unten links → PIR an, unten rechts → PIR aus. Änderung zeigt „PIR ON“ / „PIR OFF“ 5 s. Beim Einschalten Default: PIR aus. Sofortiges Einschalten → Display geht aus (PIR braucht ~1 Min Initialisierung).
Schritt 25: Doppler-Radar Option
Alternative zu PIR. Gleiches Menü (unten links/rechts). Prüfung jede Viertelstunde. Keine Bewegung → Display aus bis neue Erkennung. Anzeige „PIR ON“ / „PIR OFF“ (Bezeichnung beibehalten). Im Gegensatz zu PIR: Doppler-Radar „sieht“ durch Glas/Kunststoff → im Gehäuse hinter Glas/PVC-Folie verbaut. Reichweite ~5 m.
Schritt 26: PIR/Doppler Ein/Aus Steuerung
Wie Schritt 24: Unten links → an, unten rechts → aus. „PIR ON“ / „PIR OFF“ 5 s Anzeige. Default beim Start: aus. Sofortiges Aktivieren → Display aus bis PIR initialisiert.
Schritt 27: Automatische Helligkeitskalibrierung (Wiederholung)
Identisch zu Schritt 22. Kalibrierung bei max. Umgebungslicht: light reading = 600, bright = 15.
Schritt 28: Uhrzeit einstellen
Im Digitaluhr-Modus: unten links berühren → Zeit-Einstellmodus.
Stundenziffern blinken 2×/s. Tastenfunktionen:
- Oben rechts: Stunden/Minuten hochzählen
- Oben links: Stunden/Minuten runterzählen
- Unten links 1×: Einstellmodus starten (Stunden)
- Unten links 2×: Minuten wählen
- Unten links 3×: Speichern & beenden
- Unten rechts: Sekunden auf 00 setzen
Schritt 29: Synchronisation
Bei angeschlossener 30-Sek-Masteruhr-Sync: Uhr springt auf 30 Sekunden (wenn nicht im Einstellmodus). Ohne Master: temperaturkompensierte RTC (sehr präzise). Sekunden grob synchronisieren (±10 s), dann wartet auf Sync.
Animation: Wortuhr läuft schnell. Alle 30 s Sync-Impuls (Minute & Halbe). Korrektur auf 30 s. Ignoriert Impuls bei 0 Sekunden. Sync nur bei 20 s nach / 20 s vor Minute. Normal: Korrektur bruchteilsekundengenau → „SYNC“ erscheint ohne sichtbare Sekundensprung. Hinweis: Impuls alle 30 s, aber 0-Sekunden-Impuls wird ignoriert.
Schritt 30: Software & Änderungen
Software-Download im Code-Reiter. Module:
Brett_wordclock_v4_3.ino– Hauptprogramm (gekürzt, -10 % Größe). Danke an srdevil für Sekundenanzeige-Code.brightness.cpp/.h– Helligkeitsautomatikcharacter.cpp/.h– Zifferndefinitionencredits.cpp/.h– Abspanndisplay.cpp/.h– Display & LED-Funktionenlife.cpp/.h– Game of Lifeserial.cpp/.h– Serielles Setup-Menüsimon.cpp/.h– Simon Saystemphum.cpp/.h– Temp/Hum Anzeigetetris.cpp/.h– Tetristime.cpp/.h– Wortuhr, Digitaluhrtimeanalog.cpp/.h– Analoguhrtouchbuttons.cpp/.h– Touch-Tasten, Moduswechsel
Drittbibliotheken: Chronodot (DS3231), DHT (DHT22), LedControl (MAX7219), stc (Tetris), pitches.h (Tonfrequenzen).
Änderungen: Vergleich mit „Catalan Code“ erleichtert Verständnis. Meine Änderungen mit //Brett markiert.
Code-Änderungen: Versionen speichern bei jeder Kleinigkeit. Versionsnummer in credits.h ~Zeile 47 aktualisieren.
Kurz: Wörter in time.h definiert. Beispiel: const byte w_the[3] PROGMEM = { 0, 0, 3 }; → Wort „THE“ an LED-Koordinaten {0,0,3} (erste LED, 3 Stück horizontal). „TIME“ → {0,4,4}. Alle Wörter so definiert.
Steuerung wann Wörter leuchten: time.cpp. Regelliste für Zeiten. Beispiel Mitternacht (00:00): „THE TIME IS“ (immer, ab Zeile 687) + Regeln: Minuten=0, Stunden=0 → „TWELVE“, „OCLOCK“, „AT“, „NIGHT“. Alle Zeitkombinationen abgedeckt.
Analoguhr Code-Änderung (srdevil): Bei 18:59 zeigte kleiner Zeiger noch voll auf 18 (sieht aus wie 17:59). Fix: ab HH:15 bewegt sich kleiner Zeiger schon zur nächsten Stunde. Code in Kommentaren oder hier.
Code
Brett_wordclock_v4_5.zip(Arduino)
In Arduino IDE laden. Wouter Devinck Github | svcabre Github | Mein Word Clock Github (Schaltpläne & Code)
CAD / Gehäuse
Vinyl-Aufkleber Design in Inkscape (frei herunterladbar, anpassbar): brett11_print_ready_6bbpMTDyFa.svg
Schaltpläne
Hauptplatine Verbindungen
MAX7219 Modul 01–04 LED-Verbindungen
Herstellungsprozess
- Kuckucksuhr: Geschichte, Handwerkskunst und moderne Evolution
- Silikon-3D-Druck: Die nächste Grenze in der additiven Fertigung
- Analoge Sensoren am Raspberry Pi mit nur einem GPIO-Pin auslesen
- Retro-Numitron-Uhr mit Arduino bauen: Einfach, zuverlässig & energieeffizient
- Python timeit(): Ausführungszeit messen mit praktischen Beispielen
- DIY Arduino Word Clock – Elegante Wortuhr mit RTC & Schieberegistern
- Arduino Echtzeituhr für islamische Gebetszeiten bauen
- Produktionsengpässe beseitigen: 5 bewährte Tools für Fertigungseffizienz
- Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display
- Zuverlässigen Wecker mit DS1302 RTC und Arduino UNO bauen