Precisie Woordklok: Minuutnauwkeurige Tijdweergave in Woorden
Onderdelen en benodigdheden
| Arduino Nano R3 | × | 1 |
Volledige componentenlijst vind je in de bijlagen.
Over dit project
Meer details over deze build op mijn site: Word Clock.
De Arduino woordklok met minuutnauwkeurige tijdweergave in woorden en lineaire secondenweergave.

Er zijn ook modi voor digitale klok, analoge klok, temperatuur en vochtigheid, plus drie spellen: Game of Life, Simon en Tetris.
De klok kan standalone draaien of als slave van een masterklok. Zonder masterklok wordt de tijd geregeld door de ingebouwde temperatuurgecompenseerde real-time clock.
Er is een optie voor PIR- of Doppler-radarbesturing zodat de klok automatisch uitschakelt wanneer niemand in de kamer is.
Afmetingen: 500×500 mm (19,68"), gewicht 5,5 kg, wandmontage. In elk hoekje een touchpad voor bediening en instellingen.
Stap 1: Over Woordklokken
Woordklokken tonen de tijd met een matrix van woorden of letters. Er zijn verschillende ontwerptypes die de complexiteit bepalen.

Simpelste type: Woordenblokken voor 5-minutenresolutie (bijv. "VIJF OVER", "TIEN OVER", "KWART VOOR"). Slechts ~20 LED-blokken, simpelst te bouwen. Nadeel: vast formaat.

Middelmatig: 11×10 LED-matrix + 4 hoek-LEDs. 110 individuele LEDs tonen cijfers en basisafbeeldingen. Nog steeds 5-minutenresolutie in woorden, vaak met "net voorbij 5 over" of "bijna 10 voor" voor iets meer resolutie. De 4 hoek-LEDs vullen de 4 minuten tussen 5-minutenstappen. Redelijk complex, vaak met LED-strips voor eenvoudigere bouw.

Commerciële versies beschikbaar (450mm wandmodel ~€1000) met uitwisselbare frontpanelen.

Meest complex: 16×16 LED-matrix (256 LEDs). Volledige 1-minutenresolutie in woorden, plus ochtmiddag/avond/nacht. Temperatuur in woorden (warm, koud, etc.). Enorme displaymogelijkheden. Complex door aantal verbindingen. PCB's met SMD-componenten maken slimme behuizingen mogelijk, maar boven 500mm worden PCB's duur. Handmatig bouwen van de LED-matrix vereist ruimte – 500×500mm is een goed startpunt voor de grote kabelboom. Nog grotere wandvullende klokken zijn mogelijk met handmatige matrix.
Stap 2: Wijzigingen

Deze klok combineert Wouter Devinck hardware met de "Catalaanse" Pijuana-software. Geen custom PCB's – alleen kant-en-klaar modules en drie kleine veroboards voor voeding.
Hoofdwijzigingen:
- Geen custom PCB's, alleen goedkope kant-en-klaar modules.
- Hoofdbehuizing: 2× 14mm MDF-platen ipv 1× 18mm. Achterplaat 10mm kleiner op alle kanten behalve boven – klok lijkt 14mm dik.
- Wouter Devinck klok: 20mm diep (incl. 2mm glas). Deze klok: 34mm diep (incl. 4mm glas + 2mm stofafdichting). Door inset van achterplaat en glas lijkt het 14mm. Extra diepte laat handgemaakte LED-matrix en kabelboom toe, plus onderhoudsvriendelijke modules zonder SMD IC's op MAX7219-boards.
- Hoofddisplay direct op LEDs, geen PCB – elke displaygrootte mogelijk.
- TTP223 Touch-sensormodules ipv Azoteq IQS127D op hoofdbords.
- MAX7219-displaydriverboards gebruiken gemodificeerde LED-matrixboards (alle componenten al gemonteerd).
- Arduino Nano voor compacte besturing.
- PIR-sensormodule voor display-uit bij afwezigheid (uitschakelbaar).
- Trimweerstand voor automatische helderheidscalibratie, bereikbaar vanonder met platte schroevendraaier.
- Synchronisatie met masterkloksysteem elke minuut op 30 seconden. Zonder sync-puls vrijlopen op RTC. Sync-pulsen zichtbaar op display.
- Software gebaseerd op "Catalaanse" Pijuana-versie, vertaald naar Engels. Credits tonen softwareversie, mijn naam, bouwjaar.
- Temperatuur in woorden verwijderd, lineaire secondenweergave toegevoegd aan onderste rij van Woord-, Digitaal- & Analogeklok.
- Bij PIR in/uit: "PIR ON" of "PIR OFF" wordt kort getoond.
- DS3231 AT24C32 I2C Precision RTC-module. Lithium-ion oplaadbare accu verwijderd, niet-opladbare accu gebruikt (weerstand R5 verwijderd van module).
- 4mm floatglas met gepolijste randen ipv 2mm glas. Glas vastgemaakt met Chicago-bouten ipv lijm – deze fungeren ook als touchpads en glas is demontageerbaar.
- Twee stofafdichtingen: één op achterplaat, één achter het verwijderbare glas.
- In klokinstelmodus: rechter-onder knop reset seconden naar 0.
- Engelse woordwijzigingen voor natuurlijke uitspraak (regionaal verschillend, geen "correct", wel wat het beste klinkt):
- Temperatuurwoorden verwijderd, vervangen door sync-status, PIR ON/OFF, lineaire seconden.
- "MINUTES" → "MINUTE" bij 1 minuut over/voor.
- "A" toegevoegd voor "KWART" over/voor.
- Ontbrekende "ELF" toegevoegd (per Wouter Devinck's notities).
- 12:00 → "TWELVE OCLOCK IN THE AFTERNOON".
- 00:00 → "TWELVE OCLOCK AT NIGHT". Na middernacht altijd "IN THE MORNING".
- "O'CLOCK" → "OCLOCK" (zonder leesteken).
Stap 3: Behuizingontwerp

Mijn klok is dieper (34mm) dan Wouter's (21mm) door handgemaakte matrix. Om het minder bulkig te laten lijken:
- Achterplaat zwart, voorplaat wit – oog focust op smalle witte 14mm rand.
- Achterplaat 10mm korter aan onderzijde en zijkanten – versterkt illusie.
- 4mm glas 1-2mm korter dan voorplaat – verbergt glas.


Vanuit extreem zijhoek ziet mijn klok bulkier eruit. Maar naar voren toe verdwijnt de achterplaat uit zicht – alleen de smalle 14mm voorplaat zichtbaar. Mijn 34mm klok lijkt nu even slank als Wouter's.
Stap 4: Bediening

TTP223 touch-modules in de vier hoekjes van het display.

Knoppen hebben verschillende functies per modus (zie tabel).
Stap 5: Automatische zomer/wintertijd
Niet gebruikt.
Stap 6: Displaymodi - Klokken & Omgeving


Animatie 1: 4 modi – woordklok, digitale klok, temperatuur/vochtigheid, analoge klok.

Animatie 2: Opstartmodus scrollt versienummer, makernaam, kloknaam.
Stap 7: Displaymodi - Spellen
Drie klassieke spellen (code ongewijzigd van Catalaanse klok).

Conway's Game of Life: Oneindig 2D-rooster van cellen (levend/dood). Elke cel interageert met 8 buren. Regels: onderbevolking (<2 buren) → dood; 2-3 buren → leeft; overbevolking (>3) → dood; exact 3 buren bij dode cel → leven. Generaties lopen synchroon.

Simon: Geheugenspel – kopieer computerreeks. Dubbel tik op laatste invoer om beëindiging. Score bij falen.

Tetris: Sovjet puzzelspel (1984). Knoppenbesturing nog verbeteren.
Stap 8: Prototypen
Testen met originele DOT-matrix LEDs op MAX7219-boards.
Let op: deze tijdelijke wijziging is alleen nodig om code te testen op de meegeleverde DOT-matrix displays.
Je kunt software/woordinstellingen in miniatuur testen voordat je de full-size versie bouwt. Bedrading naar DOT-matrix LED moet aangepast worden aan software-aansluitingen.

Module bedrading voor mod. Buig pins 16, 15, 3, 4, 10, 11 90° (bovenste omhoog, onderste omlaag). Plaats LED-matrix in socket – deze pins zijn nu niet verbonden. Soldeer linkdraden van socket achterkant naar uitstekende matrixpins:
- LEDA → Pin 16
- LEDB → Pin 15
- LEDG → Pin 3
- LEDF → Pin 4
- LEDE → Pin 10
- LEDC → Pin 11


Met multimeter uitgebuzzd. Tabel toont waar softwarepinnummers afwijken van LED-pinnummers op displayboard.
Print miniatuur woorddisplay (62×62mm) op wit papier voor test.



Let op oriëntatie van displayboards ten opzichte van softwarelayout. Rotatie behouden als Wouter Devinck klok.

Kleine drukknop onder temp/vocht-sensor test 30s-synchronisatie. Touch-modules linksonder op breadboard. Weinig draden – meeste bedrading zit in displaymatrices. Ik testte veel woord/klok-ontwerpen op dit bord voordat ik de finale klok bouwde.
Stap 9: Geteste gemodificeerde modules

Testsketch laat elke LED van linksboven naar rechtsonder oplichten. 5 draden naar Nano en MAX7219, Nano via USB voeden. Sketch laden en laten lopen.

Elke module apart testen. Testsketch in bijgevoegd zip-bestand.
MAX7219_LED_Test.zip
Stap 10: Tijd-naar-woord mapping

Geen harde regels – stel woorden in zoals jij de tijd zou zeggen. Mijn wijzigingen ten opzichte van Wouter:
- "MINUTES" → "MINUTE" bij 1 minuut over/voor
- "A" voor "KWART" over/voor
- 12:00 → "TWELVE OCLOCK IN THE AFTERNOON"
- 00:00 → "TWELVE OCLOCK AT NIGHT"
- Na middernacht altijd "IN THE MORNING"
Makkelijk in software aan te passen.
Word%2Bto%2BTime%2BTranslations.xlsx
Stap 11: Voeding

Ik gebruik een gemeenschappelijke 12V-voeding voor diverse circuits in huis. Lokaal per circuit naar 5V met een 5V-module. Mijn voeding heeft 18 apart bezorgde 12V-circuits (2A zekering), 9 batterijgebufferd. Klokboards hebben eigen zekering.
Voor enkel deze circuit: elke geregelde 5V-voeding die de stroom kan leveren.

Voedingsboard op veroboard met MP1584 miniature voeding (12V→5V).


Twee extra voedingsboards op veroboard voor extra voedingspunten. Eén houdt de buzzer.
Stroomverbruik: Laag helderheid 30mA, vol helderheid 250mA (variërt met aantal LEDs). Zonnige dag: helderheid ~10 (2/3 van max). PIR aan → aanzienlijke reductie. Minimaal 500mA voeding aanbevolen. Hangt af van LED-type.
Stap 12: Module-interconnecties

Meeste modules direct op Arduino Nano. MAX7219-boards alleen via module 01 aan Nano, rest daisy-chained. Elke 8×8 LED-matrix op een MAX7219-module. Meeste bedrading: MAX7219 ↔ LED-matrices. Afstand Nano ↔ 1e MAX7219 en tussen MAX7219's zo kort mogelijk. Voeding aan beide uiteinden van daisy-chain (meeste stroom hier).
Stap 13: Bouwvolgorde
Volgorde na afloop prototypen en softwarewijzigingen.

- Vinyl transfer printen laten
- Glas snijden
- MDF-platen zagen (voor/achter)
- Gaten in voorplaat voor LEDs
- MDF schilderen
- Sensorgaten in glas
- Vinyl transfer op achterkant glas plakken
- Sensorgaten in MDF voorplaat
- Sensormodule-niches in voorplaat
- Achterplaat zagen + 4 toegangsgaten voor sensoren
- Melamine randstrips (wit voor, zwart achter)
- Achterplaat aan voorplaat schroeven
- Veroboards maken (1 voeding, 2 verdeling)
- 4× MAX7219 boards modificeren + bedrading naar LEDs (alleen MAX7219-kant voor nu)
- Alle modules en veroboards op achterkant voorplaat monteren
- 4 LED-matrices op voorplaat bouwen + 256 LEDs solderen
- Alle plus/minus voedingsdraden van voedings-veroboard en verdelingsboards
- Alle voedingsdraden aan modules
- Alle bedrading naar Nano, MAX7219, RTC, tempsensor, touch-sensors, buzzer
- Alle kabelbomen van gemodificeerde MAX7219-boards naar LED-matrices per bedradingstabel
- PIR-module op afstand aan klok + PIR-aansluiting
- 30s-sync aan masterklok (indien nodig)
- Glas frontpaneel monteren met Chicago-bouten + touch-sensors tegelijk
- Testen
Ongeveerlijke bouwtijden in tabel (variërt per vaardigheid/tools/ruimte). Tel ~40 uur extra voor prototypen/programmeren.
Stap 14: Vinyl-sticker

Ontworpen in Inkscape (gratis, professionele vectorsoftware, Windows/Mac/Linux, SVG-formaat). Origineel ontwerp van Wouter Devinck van GitHub, aangepast in Inkscape. Veel versies getest op miniatuur-prototype voor finale ontwerp.
Let op: Spiegelbeeld laten printen!
Geleverd door Regal Signs & Graphics: zwarte vinyl, spiegelgesneden, letters uitgeweed, met applicatietape, ~€27 incl. BTW. In veilige kartonnen buis bezorgd. Formaatproblemen opgelost via Illustrator EPS-export.
Mijn Inkscape-bestand: Brett11_print_ready.svg
Letters waren al uitgeweed – bespaart tijd. Sticker heeft plastic film aan voorkant, applicatiepapier achterkant. Normaal: film af, plakken, applicatiepapier af. Ik liet applicatiepapier zitten als diffuser voor LEDs. Overmatig papier afgeknipt voor plakken.

Plakken: YouTube-tutorials bekijken. Glas met geacitoneerd reinigen, stofvrij. Handschoenen aan. Glas besproeien met zeepwater. Langzaam plastic film aftrekken (scherpe hoek, letters blijven op transferpapier). Op nat glas aanbrengen – water laat schuiven. Creditcard van centrum naar buiten voor luchtbellen. Over Nacht laten drogen. Van achterkant vinyl over 4 montagegaten in glas wegknippen.
Glas

4mm floatglas, 500×500mm, randen gepolijst. Lokale glashandel €20. 5mm gaten in glas met 5mm glasboor. Aceton reinigen, handschoenen, zeepwater, film langzaam af, plakken, creditcard, drogen, gaten vrijknippen.
Stap 15: Hoofdborden deel 1

Hoofdbord: 2× 14mm MDF. Achterplaat 10mm kleiner op 3 zijden. Voorplaat witte randen, achterplaat zwart – visueel 14mm dik.

Origineel: 1× 18mm MDF met uitgefreeste achterkant. 2 platen = sneller, minder stof. Voorplaat 503×503mm (1,5mm overlap rondom glas voor bescherming).

Achterplaat met jigsaw uitgezaagd – 14mm componentruimte. Diepste PCB (MAX7219) 10mm. Achterplaat aan voorplaat lijmen/schroeven.
Voorplaat constructie
256 LEDs schijnen door 6,5mm gaten met 18mm verteergaten voor letters/cijfers.

Bord gemarkeerd voor boorposities midden van elk teken. 500mm display: vinyl gemeten, tekens 25mm uit elkaar, beginnend 62,5mm vanaf rand. Lijnen getrokken, snijpunten = boorpunten.

Bovenrand als datum, elke rij gemarkeerd. Herhaald voor kolommen met linkerrand als datum.

Snijpunten = middelpunt 6mm LED-gaten en 18mm verteergaten.


Automatische centrumpons (of nagel/schroef) op 256 snijpunten. Boor 256 LED-gaten (6mm) met ponsgaten als gids. Daarna 256 18mm verteergaten met 20mm verteerboor.

Verteerjig van afvalhout: gat voor boorfutje, teststuk MDF voor correcte diameter/diepte. Hoofdbord 256x boren met jig.


Bord afstrijken, MDF-primer, wit schilderen (verteergaten reflecteren licht). Zwarte rand om buitenrand (glas 1mm korter). 4× 5mm gaten in hoeken voor Chicago-bouten (houden glas, touch-sensors, touchpads). Bouten 3mm as, rubbertape om as voor glasbescherming.

Bord omdraaien, voorstnerboor voor niches touch-sensors (verspringend t.o.v. vorige gaten).
Wandbevestiging

2× metalen lijstophangbeugels, ingevloeid in frame. 2× 2" zinkschroeven met spanning voor stofafdichting.
Stap 16: Touch-sensor montage

Touch-sensormodules vastgezet met Chicago-bouten (fungeren als touchpads). 5mm gat in sensorpad voor bout. Sensorpad geïsoleerd door MDF + plastic ring.




Stap 17: Elektronische componenten & modules

ATmega328 pinout voor prototypen op Arduino Uno. Pin 07 (BST) niet gebruikt. Pin-nummers = Arduino IDE nummers.

LEDs

Koop LEDs van betrouwbare bron – branden uren per dag. Ik had LEDs die na weken faalden.
Mijn LED-specs: 5mm wit plat-top, pure consistente kleur, wijdestraal ultrahelder. Kleur: Wit, 256 stuks, ronde plat-top lens, kristalhelder, 13000 mcd, 3,2-3,8V, 20mA (typisch), 30mA (max), 120° kijkhoek.
DHT22 Temperatuur & Vochtigheidssensor

Goedkope digitale sensor. Capacitatieve vochtigheidssensor + thermistor. Data elke 2 seconden. Aansluiting: pin 1 → 3-5V, pin 2 → data, pin 3 → ground. Boven- en linkervent van DHT22 afgeklebt (geen inwendige temperatuur, geen stof).

DHT22 met rechter open kant dicht tegen achterdeksel. 2 kleine gaten in onderrand achterplaat voor luchtcirculatie.
Arduino NANO – specificaties (zie bron voor details).
TTP223 Touch-sensormodule

Module gebout aan voorpaneel via glasmontagebouten. Bout door 5mm gat in sensor. Bout geïsoleerd door plastic rings. 4 modules (elke hoek). LEDs op modules verwijderd (afbreken) voor stroombesparing.

DS3231 AT24C32 I2C Precision RTC-module
Module geleverd met Li-ion oplaadbare accu. Ik gebruik niet-opladbare accu → weerstand R5 verwijderd.




MAX7219 Displaymodule


MAX7219 LED-stroombepaling
Max stroom via enkele weerstand R1 op module. Waarde uit tabel. Module geleverd met 10kΩ – vervangen door passende weerstand voor je LEDs. Mijn LEDs: 3,2-3,8V @ 20mA (max 30mA). Voor lange levensduur 20mA → 22kΩ (geeft ~20mA bij piekhelderheid). Zie automatische helderheidsinstelling.

1088AS LED Dot Matrix display – voor prototypen, niet in eindproject.

LDR

LDR meet omgevingslicht: ~500Ω (helder) – 10MΩ (donker). Onder klok op achterplaat.


Naast LDR: gat voor toegang tot trimweerstand voor helderheidscalibratie.

Stap 18: Stofafdichtingen

Twee stofafdichtingen:
- Achterplaat: 2mm zacht schuimrubber, zelfklevend, 5mm gat tot rand. Onder spanning bij ophangen – afdichting muur.
- Voorplaat: zelfamalgameerende rubberstrip 5mm van rand. 4 kleine vierkante rubberstukjes rond gaten in glas tegen barsten bij aandraaien Chicago-bouten. Gaten in rubber met leerpons.


Stap 19: Schema
Nano-verbindingen (volledig formaat in hardware-tab).

MAX7219-verbindingen (4 modules + LED-matrices).





Let op: LED-displaymatrices zijn 90° tegen de klok in gedraaid t.o.v. elkaar, beginnend bij matrix 01. Matrix 01 input: Arduino CLK, DIN, LOAD. Output → input matrix 02, etc.
Stap 20: Bedrading – LED-matrices bouwen
Module-locaties

4 sensoren in niches achter achterplaat. Gaten in achterplaat voor toegang Chicago-bouten/sensorpads. 4 MAX7219-modules gesoldeerd, gecentreerd bovenin – korste datalinks. Nano links van MAX7219, RTC rechts. RTC-batterijhouder in voorplaat ingelaten. Veroboard voeding onderaan. 2 verdelingsborden bovenaan. Hoofd 5V 2A naar beide verdelingsborden. MAX7219-voeding via linkerbord, daisy-chain, uitgang 4e bord – 0V en 5V aan beide uiteinden.

LED-locaties: 4 matrices van 64 LEDs (1-4), corresponderend met MAX7219 1-4 (links naar rechts, achterkant = gespiegeld).

Elke matrix: 2 typen busbars per module. Kathode-bus 10mm hoog, anode-bus 2mm hoog. 8 kathode + 8 anode busbars per module. 16× 15mm paneelpennen in bord gehammert voor 10mm kathode-bus ondersteuning.

Pennen 5mm ingehammert (10mm metaalstaaf als maat) → 10mm ondersteuning. Pennen corresponderen met dikke delen bord (niet LED-niches aan voorkant).

0,9mm koperdraad gesoldeerd aan elk paar pennen = kathode-busbar. Let op rotatie per module en spiegeling (achterkant).

Anode-busbars (rood) op LED-anodes ~2mm van bord. Geen pennen nodig.

Stap 21: LEDs bedraden

Schema: kathode-busbars verticaal, anode-busbars horizontaal. 8mm verticale scheiding.


LEDs van achteren aangesloten. Posities gespiegeld en 90° geroteerd t.o.v. volgende module – complex. Tabel toont LED-posities (blauw) en busbar-matrixposities (zwart) zoals vanaf achterzijde zichtbaar.

LEDs in jig gebogen (constante positie, sneller). 4 buigen per LED (2 per been) = 1024 buigen totaal. Kathodebeen 90° t.o.v. anode.

Matrixrasters aangesloten op MAX7219-pinnen per lay-outtabel.

16 draden per module. 50-adrig 0,5mm kabel (laatste 14 kleuren gedupliceerd). Module 4: Sl/Vi aan begin gemist, aan eind toegevoegd.

Tabel 1: Module LED-matrix bedrading kleurcode.
Stap 22: MAX7219-modules modificeren

Voordat draden aangesloten kunnen worden, modules modificeren.

2 sets van 8 90°-pinconnectors solderen aan onderrand bestaande LED-matrixconnector.

Gemodificeerde module met 90° connectors aan onderkant oude connector. Draden naar LED-matrix op hoofdbord per kleurcodetabel.

Zijaanzicht: connectors gesoldeerd net boven PCB aan oude connectorpennen. Let op: bij geen SMD-componenten moeten 90° connectors eventueel ingekort worden (R1, C1, C2).
Automatische helderheidsinstelling
Klok past helderheid automatisch aan aan omgevingslicht.
Bij eerste installatie kalibreren op maximum lichtniveaus op locatie.

Mobiel/laptop via kabel aan mini-USB klok, seriële monitor openen (bijv. Slick USB 2 Serial Terminal op Android via OTG).

Na herstart: data op scherm. Let op light reading en bright. Schroefdraaier in toegangsgat naast lichtsensor. Draaien tot light reading = 600 (of waarde in brightness.cpp) en bright = 15. Nu max helderheid bij max omgevingslicht. Te ver draaien → light reading >600 maar bright blijft 15. Dimmer over heel bereik → light reading <600 bij max licht. Bij bright=15 max stroom naar LEDs (bepaald door R1/RSET op MAX7219, kies passend voor je LEDs).
Stap 23: Mini-USB poort bedraden

Mini-USB socket in rechterkant achterplaat voor programmeren/lichtniveau-controle. 25cm 90° rechterhoek mini-USB man-naar-vrouw verlengkabel, isolatie/mantel afgestript voor scherpe hoeken/ruimte.
Stap 24: PIR-gestuurde display-uitschakeling
Optioneel – Doppler-radar kan in plaats daarvan in de klok.
PIR ingeschakeld via woordklok-menu (linksonder PIR On, rechtsonder PIR Out) → display aan bij beweging. Geen beweging → display uit na ingestelde tijd. "PIR ON" / "PIR OFF" wordt getoond. PIR uit = display altijd aan.
PIR-module in gemodificeerde chrome schakelaardoos in gipswand. Doos bevat ook uitschakelaar voor klok. Module klein – kan in tiny behuizing. Werkt niet door glas – gat in glas nodig (grote gatfrees).


Lege chrome schakelaarplaat + inbouwdoos voor voedingsschakelaar + PIR. 2 gaten in plaat (schakelaar + PIR-lens). Centrumpons, voorboor, uitboeren, stapsnijder voor PIR-gat (wrijving).


12V + op schakelaar, 0V op aardschroef. 12V terug naar klok PSU veroboard via andere schakelaarcontact + aard. 5V van PSU naar PIR. 5V + PIR-signaal naar klok op PCB-header-sockets. Sync-kabel op header-pinnen → masterklok 30s-sync via enkele header-socket.

PIR heeft 2 trimweerstanden: gevoeligheid en activatieduur.
PIR Aan/Uit: In woordklok-modus: linksonder touch → PIR aan, rechtsonder → PIR uit. PIR uit = display permanent aan. Bij wijziging "PIR ON" of "PIR OFF" 5 seconden getoond. Bij opstart: PIR uit. Direct aanzetten → display gaat uit (PIR initialiseert ~1 minuut).
Stap 25: Doppler-radar optie

Doppler-radar (optioneel) ipv PIR. Ingeschakeld via zelfde menu. Checkt elke 15 minuten op beweging. Geen beweging → display uit tot herdetectie. "PIR ON"/"PIR OFF" weergave. In tegenstelling tot PIR: ziet door glas/plastic, in klokbehuizing achter glas/PVC-sticker. Bereik ~5m.



Stap 26: PIR/Doppler aan-uit besturing
Zelfde als stap 24: linksonder = aan, rechtsonder = uit. "PIR ON"/"PIR OFF" 5 sec getoond. Opstart = uit. Direct aanzetten → display uit (initialisatie ~1 min).


Stap 27: Automatische helderheid instellen
Zie stap 22. Kalibratie bij installatie: seriële monitor, schroevendraaier in toegangsgat, light reading = 600, bright = 15.


Stap 28: Klok instellen
In digitale klok-modus: linksonder touch → tijdinstelmodus.

Uurcijfers knipperen 2x/sec. Functies:
- Rechtsboven: uur/minuten omhoog
- Linksboven: uur/minuten omlaag
- Linksonder 1e druk: instelmodus, uren selecteren
- Linksonder 2e druk: minuten selecteren
- Linksonder 3e druk: instelmodus verlaten, tijd zetten
- Rechtsonder: seconden resetten naar 00
Stap 29: Synchronisatie
Met 30s-masterklok-synckabel: klok springt naar 30 seconden als afwijkend. Zonder masterklok: valt terug op onboard temperatuurgecompenseerde RTC (zeer nauwkeurig kwarts). Seconden ruw instellen (±10s) en wachten op sync buiten instelmodus.

Animatie: woordklok loopt voor. Elke 30s sync-puls van masterklok (op hele en halve minuut) synchroniseert op 30s. Klok negeert 0s-puls. Sync alleen bij 20s over/voor. Normaal: correctie <1s, "SYNC" zichtbaar zonder zichtbare secondencorrectie.
Stap 30: Software & wijzigingen
Software downloadbaar via software-tab. Modules:
- Brett_wordclock_v4_3.ino Hoofdprogramma (kortste code, -10% grootte). Thx srdevil voor seconden-display update.
- brightness.cpp/.h Automatische helderheid
- character.cpp/.h Tekendefinities
- credits.cpp/.h Credits
- display.cpp/.h Display & LED-functies
- life.cpp/.h Game of Life
- serial.cpp/.h Seriële poort setup-menu
- simon.cpp/.h Simon Says
- temphum.cpp/.h Temperatuur/vochtigheid
- tetris.cpp/.h Tetris
- time.cpp/.h Woordklok, digitale klok
- timeanalog.cpp/.h Analogeklok
- touchbuttons.cpp/.h Touchknoppen, modusschakeling
Derde-partij bibliotheken:
- Chronodot.cpp/.h (DS3231)
- DHT.cpp/.h (DHT22)
- LedControl.cpp/.h (MAX7219)
- stc.cpp/.h/platform.h (Simple Tetris Clone)
- pitches.h (Notenfrequenties Arduino)
Vergelijk mijn code met "Catalaanse code" voor begrip. Mijn wijzigingen gemarkeerd met //Brett.
Code wijzigen: Niet goed in coderen? Experimenteer om te begrijpen. Ik bewaar elke versie bij iedere wijziging – bij fout terug naar vorige versie. Versienummer in credit.h rond regel 47 bijhouden.
Kort handleiding voor woorden/weergave wijzigen:
WOORDEN staan in time.h

Regel 52: const byte w_the[3] PROGMEM = { 0, 0, 3 };
"THE" wordt gedefinieerd met LED-locaties { 0, 0, 3 } = eerste LED rij 0, 3 LEDs breed. Letters "THE" liggen hier → woord getoond. "TIME" = { 0, 4, 4 } (rij 0, 5e LED, 4 LEDs).
Wanneer woorden branden – in time.cpp

Regel 695+: regels voor woorden per tijd. Middernacht (00:00) → "THE TIME IS TWELVE OCLOCK AT NIGHT". "THE TIME IS" altijd (regel 687). Minuut=0, uur=0 → woord "TWELVE" + "OCLOCK" + "AT" + "NIGHT". Alle tijdcombinaties gedekt.
Analoge klok code-wijziging – verhoogde tijdresolutie
Srdevil stuurde code-wijziging: bij 18:00 wijzers omhoog/omlaag. Bij 18:59 wijst kleine wijzer nog steeds volledig naar beneden (lijkt 17:59). Aanpassing: na HH:15 beweegt kleine wijzer al naar volgende uur. Resolutie tussen HH:15 verhoogd. Code in reacties of hier.
Code
- Brett_wordclock_v4_5.zip Arduino – In Arduino IDE laden
Geen preview (alleen download).
GitHub
- Wouter Devinck
- Svcabre
- Mijn Word Clock – Schema's en code
Custom parts en behuizingen
Vinyl-sticker ontwerp in Inkscape (gratis download) – aanpasbaar.
brett11_print_ready_6bbpMTDyFa.svg
Schema's
Hoofdbord verbindingen + MAX7219 module 01-04 LED-verbindingen (5 afbeeldingen).
Productieproces
- Koekeklok: geschiedenis, vakmanschap en moderne evolutie
- Analoge Sensoren Meten op de Raspberry Pi met een Enkele GPIO-pin
- Bouw een retro Numitron-klok met Arduino: Eenvoudig, betrouwbaar en energiezuinig
- DIY Arduino Woordklok – Bouw een Elegant Real-Time Display
- Bouw een Arduino Real-Time Clock voor Islamitische Gebedstijden
- Arduino Temperatuurbewaking & Realtime Klok met 3.2" TFT-display
- Bouw een Italiaanse Woordklok met Arduino Nano, NeoPixel, LCD en RTC
- Bouw een betrouwbare wekker met DS1302 RTC en Arduino UNO
- Silicone 3D-printen: De Volgende Grens in Additieve Productie
- Productiekneppelpunten elimineren: 5 bewezen tools voor productie-efficiëntie
- Python timeit() – Uitvoeringstijd meten met praktische voorbeelden