Tiny Internet Clock: Bouw een kleine klok met WiFi
Tiny Internet Clock: Bouw een kleine klok met WiFi

Bij twijfel: een klok. Het maakt niet uit of je van plan bent om een oude tablet te recyclen of om nauwkeurige weerrapporten te krijgen, een klok is een ideaal project om de doe-het-zelfkriebel te bevredigen. Met dat in gedachten hebben we onlangs Tiny Internet Clock ontdekt, gepubliceerd door 'gokux' op Instructables. Alles wat je nodig hebt is een klein OLED-scherm, een module op basis van de ESP32 of ESP8266, en de juiste dosis 3D-printwerk.

Arduino, Raspberry Pi, microcontrollers, 3D-printen... het is ongetwijfeld een van de beste momenten om je voeten nat te maken in de wateren van DIY. Er zijn zelfs veel online projecten die niet eens een soldeerbout vereisen, en die een uitstekende kans bieden voor alle gebruikers. De Tiny Internet Clock van 'gokux' is zo'n project, maar als je toegang hebt tot een 3D-printer en bereid bent om een paar soldeerpunten op de verbindingen te zetten, kun je een zeer compacte en eenvoudige wifi-klok krijgen.

Een klok met WiFi bouwen

Tiny Internet Clock: Bouw een kleine klok met WiFi
… als je er even over nadenkt, is zelfs de behuizing optioneel.

Vanuit technisch oogpunt heb je maar drie dingen nodig: een compatibele ESP32- of ESP8266-module (hier wordt de Seeed Studio Xiao gebruikt), een OLED-scherm SSD1306 met een formaat van 128 x 32 pixels, en een energiebron. 'gokux' besloot het ontwerp maximaal te vereenvoudigen en zijn Xiao te voeden met een USB-C-kabel, maar het is geen slecht idee om een TP4056-module en een kleine batterij toe te voegen om 'het koord door te knippen'. Toch kunnen we niet over draagbaarheid spreken, omdat de wifi-inloggegevens in de Arduino-code zijn ingebakken (details hieronder).

Tiny Internet Clock: Bouw een kleine klok met WiFi
Twee kabels voor stroom, en twee voor data.
Tiny Internet Clock: Bouw een kleine klok met WiFi
Alles klaar om te starten...

'gokux' was ook zo vriendelijk om de bestanden te delen om de behuizing van de Tiny Internet Clock te printen, bestaande uit drie onderdelen die zelfs op de meest eenvoudige printers perfect zouden moeten passen. Verreweg het intimiderende deel van het project is het laden van de Arduino-code in de ESP32, maar eigenlijk zijn we alleen geïnteresseerd in vier parameters:

  • const char* ssid = "SSID"; Hier moeten we "SSID" vervangen door de daadwerkelijke SSID van het wifi-netwerk (tussen aanhalingstekens).
  • const char* password = "Password"; Hetzelfde, maar dan schrijven we het wachtwoord.
  • int GMTOffset = 19080; Hier komt de negatieve of positieve offset van onze tijdzone, in seconden.
  • int daylightOffset = 0; Vergelijkbaar met de vorige, maar we voeren de offset voor zomertijd in (indien nodig).

De enige extra codelijn die ik wil benadrukken is:

configTime(GMTOffset, daylightOffset, "0.in.pool.ntp.org","time.nist.gov");

De server 0.in.pool.ntp.org behoort toe aan India, en misschien is het handiger om een lokale NTP te gebruiken.

Met alle code geladen, is de rest een kwestie van het controleren van de fysieke verbindingen tussen de ESP32 en het scherm, het inschakelen, en wachten tot het synchroniseert. Probeer het maar!

Officiële site: Klik hier