Maak een woordklok

Je hebt hem bij DJO vast wel eens zien staan: de woordklok / wordclock. Deze geeft “in woorden” de huidige tijd weer. Via WiFi en NTP (Network time protocol) haalt hij zelf de tijd op. Er zijn veel verschillende versies van deze klok. Deze (DJO) versie gebruikt alleen multiplex van 4 mm waarmee we de letters uit het hout laseren met de lasersnijder. Hierdoor is de klok vrij eenvoudig te maken.

Onderdelen

Wat heb je allemaal nodig om er 1 te maken?

  • Een WeMos D1 mini: Deze stuurt de ledstrip aan en zorgt voor Wifi en het ophalen van de tijd via internet. Je kunt hier ook een willekeurig ander ESP8266 gebaseerd bordje gebruiken, of een ESP32, zolang het maar niet breder/langer is dan een WeMos D1 Mini.
  • Een stuk multiplex hout van 60×40 cm, 4 mm dik
  • Een adresseerbare ledstrip van 60 leds/meter (WS2811b). Je hebt 94 leds nodig
  • Een vel bakpapier (voor achter de letters)
  • Geïsoleerd dun draad om de diverse stukken ledstrip te verbinden. Liefst met solide kern, dat soldeert makkelijker en blijft beter zitten.

Hoe maak je deze klok?

Stap 1: Snij met de lasersnijder het hout en de letters. Je hebt dan de ‘kast’ en het voorpaneel met de letters erin uitgesneden. Gebruik hiervoor de SVG bestanden uit de ZIP onderaan dit artikel.

Stap 2: Zet de kast in elkaar en monteer alle “schotjes” in de kast, zodat de positie van de letters en de vakjes waar de leds komen zichtbaar is.

Stap 3: Teken met een potlood de randen van alle vakjes die nu ontstaan op de bodemplaat. Je hebt dan een raster op de plaat die je kunt gebruiken om de positie van de led-strips te bepalen.

Stap 4: Knip de ledstrip in 10 stukken van 10 leds. Zorg dat je in het midden van de contactjes knipt, zodat je aan beide kanten nog kunt solderen.

Stap 5: Plak de led-strips op de bodemplaat en gebruik het raster dat je met potlood hebt getekend om de positie te bepalen. De leds moeten mooi in het midden van elk vakje komen. Let op: de ledstrip moeten in een “S” vorm worden aangesloten, ook rekening houden met de richting van het data signaal (het kleine pijltje op de ledstrip). Je begint rechts onderaan bij de letter ‘R’, met de pijltjes naar links, daarna de 2e strip erboven met de pijltjes naar rechts. Daarna de derde strip weer naar links. Zo ontstaat een ‘zigzag’ patroon van led-strips.

Stap 6: Soldeer de 3 “output” pins van elke ledstrip nu aan de “input” pins van de strip erboven met korte stukjes draad. Begin linksonder aan de linkerkant van ledstrip 1, naar de linkerkant van ledstrip 2. Je maakt 3 korte “bochtjes” van draad. De + aan de +, – aan de – en data aan data. Je werkt dus van beneden naar boven. Let op dat de pijltjes op de led-strips allemaal de richting van de draadjes volgen en je dus 1 lange “slang” van leds krijgt in een zigzag patroon.

De binnenkant van de woordklok (De 4 minuten leds zijn hier niet gebruikt)

Stap 7: Knip een kort stukje ledstrip van 4 ledjes en plak dit onderaan waar de 4 gaatjes voor de minuten-leds zitten. Let ook weer op de vakjes die je met potlood hebt gemaakt. Soldeer nu draadjes van de rechterkant van deze korte strip aan de rechterkant van de onderste ledstrip. Let ook hier weer op de pijltjes: ze moeten naar rechts wijzen. Soldeer 3 losse draadjes aan de linkerkant (de input). Hier sluiten we straks de WeMos op aan.

Stap 8: Maak nu linksonder ruimte voor de WeMos door 1 houten ‘schotje’ weg te halen (zagen). Je houdt nu een ruimte van 2 aaneengesloten vakjes over om de WeMos in te stoppen. Als je meer ruimte nodig hebt, maak er dan 3 vakjes van. Soldeer nu de losse draadjes van de onderste ledstrip aan de WeMos. De + van de strip aan de 5V van de WeMos, de – van de strip aan de ‘GND’, en data aan pin D2 van de WeMos. Zorg dat de WeMos met de USB aansluiting naar de buitenkant van de kast ligt.

Stap 9: Boor een gaatje in de zijkant op de plek waar de USB aansluiting van de WeMos zit. Hier kun je straks de USB stekker doorheen steken om de WeMos te flashen en om de klok van stroom te voorzien.

Stap 10: Tijd om te testen: Flash de software in de WeMos (zie hieronder) en maak verbinding met een Wifi netwerk. Controleer of alle leds het doen en of ze de juiste vakjes laten branden.

Stap 11: Als alles werkt kun je de WeMos vastmaken aan het hout. Dit kan op verschillende manieren, maar het makkelijkst is om te lijmen met bijvoorbeeld hot-glue. Zorg dat de ‘chip’ wel vrij blijft zodat deze niet te heet wordt. Alternatief is om te schroeven, er zitten al gaatjes in de WeMos.

Stap 12: Knip een stuk bakpapier uit dat iets kleiner is dan de bovenplaat van de klok. Het vel moet zo groot zijn dat alle letter en de 4 minuten-leds bedekt zijn, maar dat het wel binnen de kast past. Leg dit vel over de vakjes heen. Lijm nu de kast permanent in elkaar met houtlijm. Het bakpapier komt onder de bovenplaat te zitten om het licht mooi diffuus en gelijkmatig te maken.

Flashen van de software en WiFi instellen

Het flashen van de software is een beetje lastig omdat je voor de WeMos een board library moet installeren en daarnaast nog een aantal Arduino libraries voor o.a. de Wifi-stack, NTP, enzovoorts. Het werkt als volgt:

Stap 1: Onder “preferences” in de Arduino IDE zit een text-vakje dat “Additional Board Manger URL’s” heet. Plak hierin de volgende link: http://arduino.esp8266.com/stable/package_esp8266com_index.json

Stap 2: Ga nu naar de Tools > Board > “Board Manager…” en zoek naar ESP8266 en installeer deze. Hiermee worden de compiler en system-libs voor de WeMos geïnstalleerd.

Stap 3: Select nu onder Tools -> Board -> ESP8266 board de “ESP8266 Generic”. Je kunt ook de LOLIN WeMos D1 Mini kiezen als het niet met de generic werkt.

Stap 4: Installeer nu de benodigde C++ libraries om de code te kunnen compileren vanuit de Tools > “Manage Libraries…”:

  • FastLED (van Daniel Garcia)
  • WifiManager (van tzapu)
  • TimeLib (van Michael Margolis)

Hierna zou de sketch moeten compileren en kun je hem via USB uploaden naar de WeMos. Zodra deze is opgestart genereert de WeMos een WiFi Acces-point dat ‘Wemos-<nummer>’ heet. Maak hiermee verbinding met je telefoon of een laptop. Zodra je een browser opent zie je de configuratie pagina van de WifiManager op de WeMos. Kies je WiFi netwerk en vul het password in en klik op ‘connect’. De WeMos slaat de gegevens op in EEPROM en zal de volgende keer automatisch met WiFi verbinden.

Benodigde bestanden

Voor het laseren heb je SVG bestanden nodig met het ontwerp van de kast en de letters. Voor de WeMos heb je code die de led-strips aanstuurt en via internet de tijd ophaalt. Al deze bestanden kun hier downloaden: