RGB HexMatrix IoT-Uhr – Dynamisches LED-Sechseck-Display
Komponenten und Zubehör
| Arduino UNO (nur Animationen) oder NodeMCU ESP8266 (Uhrzeit + Animationen) | 1 |
| WS2811 NeoPixel LEDs (96 Stück) | 1 Strang |
| 5 V / 2,5 A Schaltnetzteil | 1 |
| 3D-gedruckte Gehäuseteile (STL-Dateien) | 1 Satz |
Benötigte Werkzeuge
- Lötkolben + bleifreies Lötzinn
- Lötflussmittel
- Seitenschneider / Kabelschneider
Apps und Online-Dienste
- Arduino IDE
Über dieses Projekt
Die **HexMatrix** ist eine LED-Matrix aus dreieckigen Pixeln – sechs Pixel bilden ein Sechseck. Mit der FastLED-Bibliothek lassen sich vielfältige Animationen darstellen. Zusätzlich habe ich Ziffern 0–9 im 10-Segment-Stil auf der Matrix designed und eine **IoT-Uhr** realisiert, die per NTP die aktuelle Zeit abruft.

Materialien
- ESP8266 (NodeMCU) oder Arduino (Uno/Nano)
- WS2811 LEDs (96 Stück)
- 5 V / 2 A Netzteil
- 3D-Drucker (weißes PLA für Diffusor-Schicht)
Schritt 1: 3D-Druck
- Alle STL-Dateien drucken: STL-Dateien & Codes
- Diffusor-Schicht (Screen Layer) in **weißem PLA** drucken.

Schritt 2: Schaltungsanschlüsse
- Alle Verbindungen gemäß Schaltplan herstellen.
- GND → −, Vin → 5 V (+), Data In → Pin 2 (GPIO2/D4 bei NodeMCU).
- Wichtig: Netzteilkabel bis zur letzten LED durchschleifen, um Spannungsabfall zu vermeiden.

Schritt 3: Hinweis zur Controller-Wahl
- Arduino (Uno/Nano): Nur Animationen möglich (kein WLAN, keine Uhrzeit).
- ESP8266 (NodeMCU/Wemos D1): Uhrzeit per NTP + Animationen möglich.
Schritt 4: Montage
- LEDs in **Schlangen-Reihenfolge** (serpentine) in die Halterungen einsetzen.
- Alles zusammenbauen.
- Steckverbinder am Ende des LED-Strangs an den Mikrocontroller löten.

Schritt 5: Programmierung
Drei Sketches verfügbar: HexMatrix.ino (Animationen, läuft auf jedem Controller), clock1.ino & clock2.ino (IoT-Uhr, nur ESP8266).
HexMatrix.ino (Animationen)
- Code in Arduino IDE öffnen.
- FastLED-Bibliothek installieren (Bibliotheksverwalter).
- Board & Port wählen, hochladen.
Clock1 & Clock2 (IoT-Uhr, nur ESP8266)
- Code in Arduino IDE öffnen.
- Farben anpassen (RGB-Werte 0–255):
// Ziffern-Farbe int r=255, g=255, b=255; // Hintergrund-Farbe int br=0, bg=20, bb=10; - WLAN-Zugangsdaten eintragen:
const char* ssid = "Ihr_WLAN_Name"; const char* password = "Ihr_Passwort"; - Zeitzone einstellen (Beispiel Indien UTC+5:30 →
-5.5 * 3600; Deutschland UTC+1 →-1 * 3600, Sommerzeit-2 * 3600):int timezone = -1 * 3600; // Mitteleuropäische Zeit (Winter) - Board: **ESP8266** (z. B. NodeMCU 1.0), Port wählen, hochladen.

Zusätzlich können alle FastLED-Beispiele (DemoReel100, Fire, Noise, etc.) auf der Matrix laufen.
Code
- clock1.ino – Uhr mit statischem Hintergrund
- clock2.ino – Uhr mit „Pride“-Regenbogen-Hintergrundanimation
- HexMatrix.ino – Reine Animations-Demo (FastLED)
Die Codes sind umfangreich (je ~600 Zeilen). Vollständige Dateien zum Download im Originalprojekt.
Kernlogik der Uhr-Codes
- NTP-Zeit via
configTime()abrufen (pool.ntp.org,time.nist.gov). - Stunde (12h-Format) und Minute in Ziffern zerlegen.
- Jede Ziffer durch hartcodierte LED-Indizes auf der 96-LED-Matrix darstellen (Funktionen
hour1()–hour12(),min0()–min59()). - Hintergrund per
background()(Clock1) oderpride()(Clock2) füllen. FastLED.show()→ Anzeige aktualisieren →FastLED.clear()→ nächste Sekunde.
Schaltpläne

Herstellungsprozess
- Kuckucksuhr: Geschichte, Handwerkskunst und moderne Evolution
- Bewegungsgesteuerter AWS IoT Button mit Raspberry Pi, PIR-Sensor und MQTT
- GoPiGo v2 auf Windows 10 IoT Core für Raspberry Pi 3 erweitern
- Arduino POV-Uhr: Persistence-of-Vision LED-Display selbst bauen
- Kalte Lötstellen vermeiden: Zuverlässige Industrieelektronik durch richtiges Löten
- Infinity Mirror Clock: Endlose Eleganz trifft präzise Zeitanzeige
- Löten erklärt: Verfahren, Lote, Schritt-für-Schritt-Anleitung & Entlöten
- Experten-Leitfaden: Wellenlöt-Probleme an PCBs beheben
- Lötprozess meistern: Professioneller Leitfaden für präzises Metallfügen
- PCB-Löten meistern: Typen, Techniken und wesentliche Ressourcen