Woordklok (wordclock) bouwkit van workshop

In 2016, 2017 en 2019 heeft Bitlair (hackerspace Amersfoort) samen met DJO Amersfoort een workshop georganiseerd voor het bouwen van een wordclock. Dit is een klok die de tijd als woorden weergeeft. De tijd wordt gesynchroniseerd met een NTP op internet via WiFi. De tijd wordt afgerond op 5 minuten weergegeven. De tussenliggende minuten worden met 4 stippen aangevuld. Alles is ingebouwd in een fotolijst van Ikea.

De voorzijde met letters is gewoon wit papier, extra dekkend zwart geprint in een laserprinter (meerdere malen over elkaar heen). In de laatste versies wordt gebruik gemaakt van professioneel bedrukte vellen.

De verlichting van de woorden wordt gedaan met RGB LED-strip.

Ik heb de klok samen met Robbert thuis gebouwd. Ik kon toen niet aanwezig zijn tijdens de workshops helaas.

Controller en Arduino firmware:

Alle tekst van hieronder gaat nog over de eerste versies. Later is een update gemaakt van de software. Zodra een firmware openbaar is gemaakt, zal ik dat hier vermelden. Maar houd ook eventueel https://github.com/bitlair/wordclock even in de gaten.

Als controller wordt een ESP8266 gebruikt op een praktische WEMOS D1 mini PCB. Dit heet ook wel een NodeMCU. Hier zit namelijk ook gelijk een USB naar UART serial converter op, dus is programmeren erg makkelijk. De ESP8266 kan in de Arduino IDE geprogrammeerd worden, nadat je de ESP boards toegevoegd hebt. De huidige Arduino software laat alleen maar groene letters zien, ondanks de RGB LED-strips. Dit is met de nodige kennis aan te passen. Dat wil ik in de toekomst ook nog eens doen. Bijvoorbeeld dat je een rainbow mode hebt met verschillende kleuren.

Arduino firmware met NL woorden: https://github.com/niekproductions/word-clock – of gebruik deze downloadlink, maar let op de versieverschillen:

Word Clock Arduino code
Word Clock Arduino code
word-clock-master.zip
6.0 KiB
123 Downloads
Details...

Het enige wat ik in de software aangepast had, is de NTP server (naar time.nist.gov). Dat is een kwestie van testen, maar is denk ik niet nodig om te veranderen. Na uploaden van de code gaat de ESP zich tijdelijk als WiFi AP gedragen en kun je het netwerk wordclock-xxxxxx met je telefoon of laptop verbinden. In de Arduino serial monitor staat de tijdelijke WiFi naam ook vermeld. Door met de webbrowser naar 192.168.4.1 te gaan (dat gaat bij de nieuwere firmware versies vanzelf), komt er een configuratiepagina beschikbaar. Daar kan je WiFi netwerk van thuis gekozen worden, inclusief het wachtwoord. Daarna verdwijnt het tijdelijke WiFi netwerk en zal de klok proberen te verbinden met je eigen netwerk. Vrij snel daarna komt de tijd zichtbaar als woorden.

 

Schema Wordclock:

LDR
Optioneel kan een LDR aangesloten worden op een analoge ingang (A0) in een spanningsdeler-configuratie (zie schema). Het voordeel is dan, dat de LED-strips gedimd zullen worden zodra er weinig omgevingslicht is. Hiermee voorkom je bleeding door het zwarte deel van de letters en het feit dat de klok te vel is in de avond/nachturen. Ook handig als de klok in een slaapkamer hangt bijvoorbeeld.

 

LED-strip montage
De strips werden op papier geplakt en onderling verbonden met korte draadjes. Dat was het meeste werk, want je moet nogal wat draadjes strippen en solderen.

Robbert is druk aan het plakken
Ik heb de draadjes geknipt, gestript en gesoldeerd

Er was één modificatie voor de onderste vier stippen: daar moest een 1N4007 diode in serie van de voedingslijn komen, om een klein spanningsverschil te maken. Ik weet niet precies wat daar de reden van was. Maar die zie je zitten op bovenstaande foto (onder het krimpkousje rechtsonder).

(dit was in de nieuwe versie ook niet meer nodig)

Schotjes
Om overstraling van naburige woorden te voorkomen, moeten er schotjes geplaatst worden in de fotolijst. Oorspronkelijk werd dit met karton en hotglue gedaan en dat werkt prima. Alleen Bitlair zou Bitlair niet zijn als dat niet mooier kon. Dus is met de lasercutter een mooi systeem gesneden en dat werkt nog beter!

Optionele voedingsbeveiliging
Als je een USB voeding gebruikt, dan kan er weinig misgaan; de spanning is over het algemeen netjes 5V en de polariteit (+ en -) kan niet eenvoudig verkeerd aangesloten worden. Indien je een adapter gebruikt, check dan goed of deze 5V uitgangsspanning heeft. De Wemos controller zal niet snel stuk gaan van een te hoge ingangsspanning vanwege zijn eigen onboard spanningsregelaar, maar voor de LEDstrips moet je wel wat oppassen. Eventueel kun je de volgende beveiliging aanbrengen aan de voedingsingang. Dit is dus normaal gesproken niet nodig voor een goede werking. Maar ik ben zelf wel voorstander van iets van een zekering in ieder elektrisch apparaat, dus dat is ook meteen meegenomen met dit schemaatje.

Kosten en beschikbaarheid
De kosten waren ongeveer €45,- inclusief de 5V voeding (USB lader van telefoon).

Wegens groot succes van de afgelopen workshops, is de kans groot dat er wel weer een workshop georganiseerd zal gaan worden in de nabije toekomst. Stuur gerust een bericht naar workshop@djoamersfoort.nl. zodat je direct op de lijst van geïnteresseerden gezet kan worden.

48 gedachten over “Woordklok (wordclock) bouwkit van workshop”

  1. Geweldige uitleg enorm bedankt daarvoor!

    Bij mij werkt hij na lang klungelen met de software.
    Hij is bij mij Rood, dus ik heb RGB rood nu 255 gegeven en dan doet hij het perfect groen ??
    En ik moet om de boel werkend te krijgen pin 2 selecteren voor uitgang in arduino software.
    En aansluiten op 4.
    Zou het kunnen zijn dat ik het verkeerde boardje selecteer in Arduino?
    Ik heb gekocht een mini V2 NodeMcu 4M bytes Lua WIFI ESP8266 by WeMos D1 Development Board.
    En selecteer Wmos mini D1 R1 9 Er 2 staat er niet)
    Als je zin heb graag een antwoord :-)
    groet
    leo

    Beantwoorden
    • Hoi Leo,
      Leuk dat je de klok ook hebt gebouwd!
      Wat gek dat bij jou de kleur niet veranderd. Heb je dus het volgende?
      #define R_VALUE 255
      #define G_VALUE 0
      #define B_VALUE 0

      Dat verschil tussen pin 2 en 4 is een bekende. Kun je misschien het volgende board selecteren: “NodeMCU 1.0 (ESP-12 module)”
      Wellicht gaat dat beter. Volgens mij zit die in de ESP8266 library die je handmatig toe moet voegen. Wat je denk ik al eens gedaan had om de Wemos te kunnen gebruiken.

      Ik ben benieuwd!
      Gr. Tjalling

      Beantwoorden
  2. Hoi Tjalling.
    Ja klopt ik heb rood 255 staan en dan is hij groen :-)
    Ook na dat ik NodeMCU 1.0 (ESP-12 module) hebt geselecteerd.
    En poort 4 aangesloten en 2 geselecteerd in software.
    Maar werkt verder perfect ik denk dat het in de strip zit zou kunnen toch?
    Ik heb een grote aluminium plaat besteld met de tekst 2x zo groot eruit gelasert en wil hem ook 2x zo groot maken :-)
    Het is een te gek bouwproject!
    Groet
    leo

    Beantwoorden
  3. Hallo Tjalling

    Ik heb nu het goede board geselecteerd.
    Maakt niet uit rood blijft groen en visa versa :-)
    Aangesloten op pin 4 en 2 geselecteerd in de software.
    Misschien is de strip niet goed en draait hij de kleuren om.
    Wat maakt het uit het werkt perfect nu, ik ga er nu 1 bouwen 2x zo groot:-)
    Groet
    en dank Leo

    Beantwoorden
    • Wauw Leo, ik ben echt heel benieuwd naar je resultaat straks! Dat is wel gaaf, zo’n aluplaat! En inderdaad gek van die strip. Wat je zegt, misschien zijn er wel verschillende versies. Heel veel succes verder met bouwen!

      O ja, op Bitlair zijn ze alweer ver gevorderd om een nieuwe workshop te organiseren. Een aantal zaken zijn samengevoegd op één PCB, zodat je geen zwevende onderdelen meer hebt aan de Wemos. Mocht je een tijdens die workshop langs willen komen (of überhaupt daar buiten), wees welkom. Ook al heb je hem al gebouwd dan denk ik, misschien vind je het gewoon leuk om gelijkgestemden te spreken. Als je wil, kan ik je een seintje geven als het gepland wordt. Het zal weer in Amersfoort zijn.

      Beantwoorden
  4. Wat een gaaf project! Ik heb ook interesse in de workshop. Hoe en waar kan ik me aanmelden? Wat zijn de kosten voor de workshop? Alvast bedankt voor je reactie.

    Beantwoorden
  5. Supervet! Ik heb hem ook gebouwd. Ik ben niet zo handig met Arduino software, maar ik ben van plan me er wel verder in te verdiepen.

    Heb wel inmiddels de software zo aangepast dat ik die via een webinterface kan updaten.

    Ik zou hem graag verder uitbreiden met
    – kleur kiezen via een web-interface
    – na elke vijf minuten een kort ‘rainbow’-effect of iets dergelijks, alleen over de leds met de ‘nieuwe’ tijdsaanduiding

    Beantwoorden
    • oh nice! Ik weet dat ze bij Bitlair ook bezig zijn om de software te verbeteren. Die webinterface heb ik ook bij hun voorbij horen komen. Ik heb die behoefte ook al eens aangegeven. Bijvoorbeeld een kleur die correspondeert met het tijdstip van de dag. Bijvoorbeeld blauwig in de morgen en rood in de avond. Alleen zwart in de nacht is geen goed idee :)

      Als je je code zou willen delen tzt, dan zou dat top zijn!

      Beantwoorden
  6. Hoi ik ben zaterdag bij de workshop geweest was super gezellig en kei leuke opzet ,alleen zit ik met het probleem dat ik niet de instellingen kan veranderen krijg wel de woordklok code op de wifi als ik dan verder ga naar mijn eigen ssid en ww gaat het niet verder weet niet wat ik fout doe heb jeroen al mail gestuurd maar nog geen reactie gehad voor de rest zeer goede reactie gehad al op de klok hoop dat iemand mij kan helpen zodat ik de instellingen ook kan aanpassen

    alvast bedankt gr piet

    Beantwoorden
    • Hallo Piet, leuk om te horen dat de workshop goed bevallen is! Ik kreeg ook al een mailtje van Philip, met hetzelfde probleem. Ik zal daarom mijn reactie aan hem ook hier even plaatsen:

      Het volgende heb ik begrepen van Krijn en Jeroen:

      Het probleem om de klok te vinden in je netwerk, nadat deze is ingesteld, is iets wat helaas niet meer opgelost kon worden met de huidige firmware. Het was de bedoeling, dat de klok te bereiken was via een makkelijk in te voeren adres in je webbrowser. Nadat deze functie toegevoegd was, liep de klok te vaak vast. Dus die functie is er nu nog even uitgelaten. De tijdelijk oplossing is nu, om het IP adres te achterhalen van je klok en deze in de adresbalk van de browser te typen.

      Dit kan vaak gevonden worden door in je router in te loggen. Of gebruik een app op je smartphone, zoals Fing. Start Fing en wacht totdat hij een lijst met apparaten laat zien die op je netwerk zitten. Zoek in de lijst naar een Generic apparaat met daarachter het merk Espressif. Schrijf dat IP adres op en voer deze in op de adresbalk van je browser. Indien er wel Generic apparaten gevonden worden, maar er is niet één met Espressif, probeer dan alle IP adressen van Generic apparaten stuk voor stuk in te voeren in je browser adresbalk. Grote kans dat je dan een keer de juiste vindt!

      Ik weet niet meer zeker of er een login gevraagd werd, maar probeer dan wordclock als gebruikersnaam en ook als wachtwoord.

      Ik ben benieuwd of dit gaat werken voor nu! Laat het anders even weten en anders kan ik adviseren om toch even in contact te komen met Jeroen of Krijn.

      Beantwoorden
  7. het is geluk om erin te komen ,het ip adres is erg instabiel het lukt niet iedere keer om wat te veranderen maar voor zover kan ik er wel mee leven bedankt voor de reactie en succes met bitlair

    gr Piet

    als er nog een update komt of een volgende workshop zou ik hier van graag op de hoogte gehouden willen worden .

    Beantwoorden
    • Dag Peter, momenteel is er nog geen nieuwe workshop gepland. Gezien de populariteit is dit wel de verwachting dat dit weer eens gaat gebeuren. De organisatie levert geen losse bouwkits, maar alle software en bouwbeschrijvingen staan wel online bij Bitlair.

      Beantwoorden
  8. Tjalling,

    Gaaf project! Ik heb via de mail reeds mezelf opgegeven voor als er weer een keer een workshop wordt gehouden, maar ik kon het niet laten ook hier even te reageren! Hoop wat te horen van je!

    Beantwoorden
  9. Gaaf project!

    Hoe lang en breed zijn de ribben van de dwarsbalken? Ik kan de SVG niet direct laten snijden en wil hem omzetten naar dxf.

    Alvast bedankt,

    Christopher

    Beantwoorden
  10. Hallo!
    Super project!
    Zelf ben ik ook bezig een woordklok te maken op originele grote. Alleen ben ik zelf niet zo ervaren in het programmeren. En jullie software is precies wat ik nodig heb!

    Echter heb ik een probleempje wat betreft het uploaden.
    Ik krijg een error, en heb het opgelost zoals hier besproken:
    https://github.com/bitlair/wordclock/issues/2
    Daarna lukt het uploaden wel, zonder error’s. Echter als ik dan verbonden ben met de wemos en naar het IP adres ga zoals aangegeven in de seriële monitor krijg ik error “404: Not Found”

    Kopie van de seriële monitor:
    11:39:41.558 -> BITLAIR Wordclock, v0.1
    11:39:42.199 -> ESP ID: 221945
    11:39:42.199 -> Configuration consists of 580 bytes
    11:39:42.199 -> Loading configuration from EEPROM
    11:39:42.199 -> EEPROM checksum not valid, got 255, expected 187
    11:39:42.199 -> Loading default configuration
    11:39:42.199 -> Activating access point for configuration
    11:39:42.199 -> 192.168.4.1
    11:39:42.199 -> Retrieving time from NTP server nl.pool.ntp.org
    11:39:42.199 -> Unable to retrieve NTP server IP
    11:39:43.836 -> 8 network(s) found
    11:40:11.613 -> handleFileRead: /
    11:40:11.660 -> File Not Found: /index.html
    11:40:46.057 -> 8 network(s) found
    11:41:48.224 -> 10 network(s) found
    11:42:50.456 -> 8 network(s) found
    11:43:52.632 -> 9 network(s) found
    11:44:54.855 -> 8 network(s) found
    11:45:57.024 -> 6 network(s) found
    11:46:12.946 -> handleFileRead: /index.htm
    11:46:12.993 -> File Not Found: /index.htm
    11:46:13.133 -> handleFileRead: /favicon.ico
    11:46:13.180 -> File Not Found: /favicon.ico
    11:46:17.447 -> handleFileRead: /index.html
    11:46:17.541 -> File Not Found: /index.html
    11:46:17.541 -> handleFileRead: /favicon.ico
    11:46:17.635 -> File Not Found: /favicon.ico

    Enig idee waar het fout gaat?

    MVG,
    Mark

    Beantwoorden
    • Hallo Mark,

      Ik heb momenteel geen antwoord voor je, omdat ik de developer niet ben. Net als jij ben ik een bouwer van het project. Wij hadden toen nog andere firmware, zonder enige kleuren verloop over de dag etc. Ik moet nog steeds mijn klok eens updaten, dus dan ga ik wellicht ook tegen deze foutmeldingen aanlopen. Het lijkt erop, dat bij jou nog een aantal files geüpload moeten worden naar de storage of hoe ze dat ook alweer noemen (de flash opslag waar je de html code etc in opslaat). Ik zag je ontbrekende files in een los segment staan op Github: https://github.com/bitlair/wordclock/tree/master/html/public
      Misschien staat er in de readme files hoe je dat kan uploaden of plaatsen.
      Sorry dat ik voor nu nog geen concreet antwoord heb. Maar ik volg je op de voet met het updaten van mijn klok. En als dat mis gaat, dan kan ik altijd nog even met de persoon praten bij Bitlair die deze versie geplaatst heeft (mailen eerder nu Bitlair even dicht is vanwege Corona).

      Beantwoorden
  11. Hallo,

    Schitterend project, een woordklok!

    Ik kwam via Google op deze pagina terecht. Ik ben zelf al een tijdje de trotse eigenaar van m’n eigen woordklok, waarvan het kloppend hart een Arduino Nano is (https://www.spookjuh.nl/work-in-progress-woordklok/). De tijd hiervan kan ik door middel van een app op m’n telefoon goed zetten.

    Nu ben ik een hele tijd geleden begonnen aan een nieuwe klok: https://www.spookjuh.nl/woordklok-2-0/. Bij deze klok zit een Wemos D1 mini onder de motorkap, omdat ook mijn idee was om de tijd regelmatig via een NTP server goed te zetten. De RTC’s die ik gebruik zijn namelijk niet zo heel erg betrouwbaar. Ook wil ik via de ingebouwde webserver instellingen aan kunnen passen. Maar ik loop tegen het probleem aan dat de Wemos zichzelf regelmatig opnieuw opstart. Heeft u toevallig enig idee wat ik hieraan zou kunnen doen? Software-matig heb ik al van alles geprobeerd maar dat mocht helaas niet baten. Ook een 1000uF condensator over de ingangsspanning loste dit probleem niet op.

    Uit pure frustratie ben ik nu begonnen om de software te herschrijven voor een Arduino Nano. Die zet ik dan aan de ene kant van de RTC, en dan wil ik aan de andere kant van de RTC een Wemos plaatsen om alsnog de tijd te kunnen updaten via internet.
    Het idee is dat deze 3.0 versie een grote rechthoekige variant wordt, die ook als “gewone” digitale klok kan dienen.

    Mocht u voor wat betreft het elke keer herstarten van m’n Wemos tips hebben, dan hoor ik dat graag.

    Groet, Casper.

    Beantwoorden
    • Hoi Casper,

      Ik heb de software niet ontwikkeld, dus daar kan ik je niet bij helpen. Wel had ik van Bitlair begrepen dat zij ook wat hadden met iets met dat de DNS automatisch werd toegekend zodra je met de AP van de klok verbond in de eerste instantie. Misschien kun je in die functie wat vinden? Zij hebben dat in elk geval uit moeten schakelen destijds, want dat bleef niet stabiel. Verder kan ik er helaas niks over vertellen. Succes!

      Beantwoorden
  12. Hallo,
    Ik ben al een tijdje met de Arduino aan het spelen en ik kwam dit project tegen.
    Gelijk enthousiast en het plan om er ook een te bouwen.
    Nadat ik de code gedownload heb kwam ik het volgende probleem tegen.
    Tijdens de compiling geeft hij fouten aan in de libary’s.
    De libary’s die in de code staan kan ik, op 1 of 2 na, nergens vinden.

    #include “FastLED.h”
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include

    Waar kan ik deze vinden, of ben ik verkeerd bezig en snap ik het niet.

    Groeten,
    Rob Weustink

    Beantwoorden
    • Hallo Corné, ik organiseer niet de workshop, maar ben er vaak wel bij betrokken als vrijwilliger. Ik kan je een mailtje sturen zodra de workshop weer georganiseerd gaat worden. Ik heb nu nog geen indicatie van wanneer dat zal gebeuren. Er wordt al wel weer over gesproken.

      Beantwoorden
  13. Leuk artikel! Ik vroeg mij af of ik de NodeMcu v2 Lua ESP-12E WIFI Development Board i.p.v. een Wemos kan gebruiken, of moet ik dan eea aan script/codering aanpassen?

    Beantwoorden

Laat een reactie achter op Leo Garstman Reactie annuleren