ID.nl logo
Hoe weet je dat je kerstboom dorst heeft? Laat 'm een appje sturen!
© ER - ID.nl
Huis

Hoe weet je dat je kerstboom dorst heeft? Laat 'm een appje sturen!

Sommigen zetten hun kerstboom al in november neer, en als het dan eenmaal kerst is, begint hij te verdrogen. Een standaard die ook als waterbak dient, kan dat voorkomen. Desondanks blijkt al snel dat kerstbomen binnenshuis opvallend dorstig zijn. En wie checkt het water nog als de boel onder een knus sneeuwkleedje ligt? Vandaar dit doe-het-zelf-idee voor knutselaars die een frisse groene kerstboom willen!

🎄 In dit artikel leggen we je uit hoe je zelf een kerstboomalarm kunt knutselen. Een heerlijke kerstvakantie-uitdaging voor de gevorderde knutselaar. Het resultaat? Je krijgt een appje wanneer je boom water nodig heeft!

🎄 Boodschappenlijstje (bijvoorbeeld bij Conrad.nl)🎄 Overige benodigdheden
NodeMCU-module (€ 9,-)Soldeerbout
2x Trekontlasting M10, 2 stuks (€ 2,-)Soldeertin
Printplaatje 80 × 50 mm (€ 3,30)Zijkniptang
Kunststof behuizing 85 × 56 × 39 mm (€ 4,25)Schroevendraaier
Schroefterminal 4-polig (€ 0,40)Boormachine
Netadapter 5 V, 1 A (€ 6,-)Vijl
Rode led (€ 0,10)Secondelijm
Groene led (€ 0,10)Eén-aderig snoer (30 cm)
Weerstand 100 ohm, 2 stuks (€ 0,10)Twee-aderig snoer (1 meter)
Weerstand 10 kilo-ohm (€ 0,05)multimeter (optioneel)
Optioneel, bijvoorbeeld bij AliExpress of eBay:
Watersensor (‘soil moisture sensor’) zonder elektronica (€ 0,50). Als alternatief kun je ook de gestripte uiteinden van het twee-aderige snoer gebruiken, die je een beetje uit elkaar buigt.
Totale kosten: ca. € 25,–

Hardware en software

Dit project kenmerkt zich door zijn eenvoud in hardware en behuizing. Je hebt een netadapter, een compacte behuizing met trekontlasting, een NodeMCU-module, twee leds, drie weerstanden en een printplaatje nodig om alles aan elkaar te solderen. Ideaal voor beginnende soldeerliefhebbers.

De groene led signaleert voldoende water, terwijl de rode oplicht bij een te laag niveau, zoals ingesteld in de code. De schakeling werkt op een simpele 5 volt-netadapter met minimaal 1 ampère. Een usb-adapter is ook mogelijk; vergeet dan niet een geschikte usb-kabel. Alles past in een compacte kunststof behuizing, die je natuurlijk ook zelf kunt maken of hergebruiken. Trekontlastingen beschermen de voedings- en sondekabels tegen losraken bij onbedoelde kracht.

In de rest van deze handleiding worden 'NodeMCU' en 'ESP-module' afwisselend gebruikt. NodeMCU is een populair ontwikkelbordje met een ESP-chip erop, en tegenwoordig zijn er diverse NodeMCU/ESP-modules beschikbaar.

Een compacte en eenvoudige behuizing van kunststof volstaat voor dit project. De eerste trekontlasting is al gemonteerd en de gaten voor beide leds zijn al geboord.

Ontwikkelomgeving installeren

De ESP-module is het gemakkelijkst te programmeren met de Arduino-ontwikkelomgeving (Arduino IDE). Deze kun je downloaden via www.tiny.cc/arduinosoft. Kies bij voorkeur de traditionele installer en niet de Windows-app. Dat maakt het beheren van bibliotheken en ontwikkelbordjes een stuk eenvoudiger.

Omdat Arduino IDE niet primair voor deze module is bedoeld, zul je nog wat extra onderdelen moeten installeren. Klik daarvoor op Bestand / Voorkeuren en voer op het tabblad Instellingen bij Additionele Board Beheer URLs deze url in:

https://arduino.esp8266.com/stable/package_esp8266com_index.json

Kies nu Hulpmiddelen / Board: / Board Beheer… en typ esp8266. Klik op Installeren en selecteer vervolgens de module via Hulpmiddelen / Board / NodeMCU 1.0 (ESP-12E Module). Sluit de ESP-module aan via een usb-kabel en selecteer in Arduino IDE de juiste poort (Hulpmiddelen / Poort, kies de com-poort met het hoogste nummer). Als alles goed is gegaan, is je opstelling nu klaar om met programmeren te beginnen.

Herkent je systeem het ontwikkelbordje niet, dan download je via www.tiny.cc/espdriver een stuurprogramma voor de seriële interface (let op: deze link gaat gelijk het bestand CP210x_Universal_Windows_Driver.zip downloaden).

Installeer de nieuwste versie van de ESP-module.

Aanpassen code

Het kant-en-klare programma hebben wij al voor je klaargezet; je kunt het hier downloaden. Sla het bestand Kerstboom_app.zip en pak het uit naar een willekeurige map. Open het bestand Kerstboom_app.ino (door op het bestand te dubbelklikken, opent het automatisch in Arduino IDE, zie ook kader ‘Ontwikkelomgeving installeren’).

Vul bij ssid en password respectievelijk de naam en het wachtwoord van je draadloze netwerk in.

Het versturen van appjes wordt verzorgd door de dienst CallMeBot. CallMeBot biedt overigens ook de mogelijkheid om berichten te versturen via Signal en Telegram, dit artikel gaat uit van WhatsApp. De benodigde API-sleutel vraag je aan door het nummer +34 644 975 414 aan je contacten toe te voegen en in WhatsApp het bericht I allow callmebot to send me messages te sturen naar je nieuwe contact. Binnen enkele minuten ontvang je de benodigde API-sleutel, die je samen met je telefoonnummer (let op de internationale notatie) invult als constanten in de code bij respectievelijk apikey en telefoon.

Voer je gegevens in bovenaan de code.

Toelichting code

De code begint met het insluiten van de bibliotheek ESP8266WiFi.h. Deze handelt de verbinding met het draadloze netwerk af: dankzij dit programma is de module met enkele regels code met het netwerk te verbinden. Daaronder declareer je enkele constanten en variabelen, waarvan de belangrijkste in bovenstaande alinea’s al zijn besproken. In setup() worden de pinnen gedefinieerd, de leds uitgezet en de seriële monitor geactiveerd.

Verwerken van de gegevens

De functie loop() draait continu en vormt het hart van het programma. Om te beginnen wordt de wifi-module uitgeschakeld, omdat die erg stoort op de analoge ingang. Dan wordt pin D1 op HIGH gezet, en de waarde op de analoge pin bepaald en bewaard in de variabele meting. Zodra dat klaar is, gaat D1 weer op LOW. Door dit te doen, loopt er slechts zeer kortstondig stroom door het water. Dat is belangrijk om de watersensor te ontzien: bij een constante stroom zou de anode (de kant waarop de +5 volt staat) snel corroderen.

De code werkt met twee waarden, vastgelegd in de constanten ondergrens en veilige_waarde. De waarden van deze twee liggen iets uit elkaar, zodat kleine schommelingen in de meting geen invloed hebben bij het bepalen of het nat of droog is.

Is het resultaat van de meting kleiner dan of gelijk aan ondergrens, dan gaat of blijft de rode led aan en de groene uit. Als de booleaanse variabele alarmverzonden de waarde onwaar heeft, wordt ook de functie alarm() uitgevoerd.

Droogtealarm

De functie alarm() begint met het opzetten van de wifi-verbinding. Als dat is gelukt, wordt via de API-call een appje verstuurd met de melding, waarna de variabele alarmverzonden op waar wordt gezet. Dit voorkomt dat er bij elke volgende meetronde een app uitgaat. Pas wanneer de meetwaarde boven de veilige waarde uitkomt, wordt alarmverzonden weer op onwaar gezet en staat alles weer klaar voor een nieuw alarmronde. De rode led gaat of blijft dan uit en de groene aan. De variabele pulsdelay (de wachttijd tussen twee metingen) wordt nu vijf minuten in plaats van een seconde.

De kerstboom heeft uren nodig om het water te verbruiken en niet te vaak meten beperkt de eerdergenoemde corrosie. Bij geconstateerde droogte wordt de wachttijd weer een seconde. Doordat er in die situatie geen water tussen de elektroden aanwezig is, speelt corrosie dan nauwelijks een rol. Als je de kerstboom water geeft, weet je ook zonder het waterniveau te zien wanneer je kunt stoppen.

De watersensor corrodeert niet, door slechts af en toe kort te meten.

Software uploaden en testen

Als het bestand kerstboom_app.ino naar wens is aangepast in de Arduino-ontwikkelomgeving en de NodeMCU-module is aangesloten op zowel je pc als op de watersensor, kan het uploaden beginnen. Open de seriële monitor met Ctrl+Shift+M en upload het programma met Ctrl+U.

Nadat het uploaden is voltooid, volgt de meetwaarde en de melding Droogtealarm!. De module maakt nu verbinding met het draadloze netwerk en voert de API-call uit. Het antwoord van de server verschijnt en als het goed is, ontvang je binnen enkele seconden een appje met de tekst Kerstboom heeft dorst!. De rode led brandt en de melding Droogtealarm! herhaalt zich vervolgens elke seconde.

Door de sensor (of de gestripte uiteinden van het twee-aderige snoer) tegen een natte doek te houden of gedeeltelijk onder te dompelen in een kopje water, zie je de meetwaarde oplopen, de rode led doven en de groene aan gaan. De melding Voldoende water staat nu in de seriële monitor en het programma wacht nu vijf minuten tot de volgende meting. Eventueel kun je de hoogte van ondergrens en veilige_waarde nog aanpassen in de code. Tot nu toe alles in orde? Mooi.

Voorbereiding

Boor om te beginnen drie gaten in de behuizing: twee van 5 millimeter voor de leds en twee van 10 millimeter voor de trekontlasting. Als je kleinere gaten boort, kun je die later met een vijl op maat maken. Bevestig vervolgens de trekontlastingen en check of de leds erin passen. Gebruik secondelijm om de leds stevig in de behuizing te lijmen. Soldeer nu ook de snoertjes aan de leds en de watersensor, zodat je deze later eenvoudig aan de printplaat kunt koppelen.

De behuizing met trekontlasting en met de leds erin vastgelijmd.

Bouwen van de schakeling

Zoals al opgemerkt, is de hardware van dit project beperkt. De NodeMCU-module, de drie weerstanden en de schroefterminal komen op het printplaatje. Boor om te beginnen gaten van 5 millimeter op de hoeken van de printplaat, zodat deze over de schroefgaten van de behuizing vallen.

Door de componenten slim te plaatsen, zijn ze onderling te verbinden met soldeer. Houd er rekening mee dat (afhankelijk van de baantjes op de printplaat) de module dwars in de behuizing kan komen te zitten en er is dan maar weinig marge! Plaats daarom eerst de module op de printplaat en kijk of het in de behuizing past voor je verdergaat. Fixeer dan de module door aan de onderkant de pinnen op elke hoek een stukje naar buiten te buigen, bijvoorbeeld met het platte uiteinde van een schroevendraaier. Plaats daarna de weerstanden van 100 ohm in de buurt van de pinnen D5 en D6 en de weerstand van 10 kilo-ohm bij pin A0.

De bestukte printplaat en de gedeeltelijk gesoldeerde printplaat in de behuizing.

Zet tot slot de schroefterminal aan de andere kant van de module. Ook de weerstanden en de schroefterminal blijven het best op hun plek zitten als je de pootjes een stukje ombuigt. Knip nu met een kniptang alle pootjes (ook die van de module) af op een lengte van ongeveer twee millimeter en soldeer de te verbinden onderdelen en pinnen aan elkaar. Soldeer ook de vier hoekpinnen van de module, waarvan er overigens slechts één wordt verbonden met de schroefterminal. Zie voor tips over solderen onze uitgebreide handleiding.

De schakeling is door zijn eenvoud heel geschikt voor wie met solderen begint. Tip: klik op de afbeelding; hij opent dan in een groter scherm.

Aansluiten

De afwerking is nu eenvoudiger dan ooit, want dankzij de kant-en-klare behuizing zit alles al op z’n plek. Wat rest is het aansluiten van de netadapter, de watersensor en de leds. Knip om te beginnen de ronde stekker van de kabel af. Gebruik je een usb-netadapter, dan knip je van de usb-kabel de micro-usb-connector af. Strip de afzonderlijke draadjes over een lengte van ongeveer een halve centimeter en vertin de uiteinden.

Als je een multimeter hebt, kun je de polariteit (plus en min) van de aansluitingen controleren. Heb je die niet, dan kun je kijken of er een opdruk op (een van) de draden staat. Een andere mogelijkheid is het aansluiten van een led met aan één van de pootjes een weerstand van 220 ohm. Sluit een van de adapterdraadjes aan op de weerstand en het andere draadje op het vrije pootje van de led. Het draadje dat is verbonden met het lange pootje van de led, is de plus. Markeer deze draad. Steek de vertinde uiteinden van buitenaf door de trekontlasting en zet ze vast in de schroefterminal op de printplaat, waarbij de plusdraad op VIN komt en de mindraad op GND.

Soldeer van het twee-aderige snoer elke draad aan één van de pinnen van de watersensor. Verbind de watersensor met de twee overgebleven aansluitingen van de schroefterminal, die je op de printplaat hebt verbonden met de pinnen A0 en D1 van de NodeMCU-module.

Sluit als laatste de leds aan met stukjes draad, waarvan je de uiteinden vertint. Verbind de kathodes (korte pootjes) van beide leds met GND, de anode (lange pootje) van de groene led sluit je aan op de weerstand bij pin D5 en de anode van de rode led op de weerstand bij D6.

De gestripte en vertinde uiteinden van het adaptersnoer.

Ingebruikname

Bevestig de watersensor in de voet met de kerstboom, zodat de twee pennen straks half in het water zullen hangen. Het bevestigen kan even een klusje zijn: duct-tape werkt voor bijna elke klus, maar een constructie met boutjes is wellicht iets robuuster. Let daarbij wel op dat je niet per ongeluk elektrisch verbinding maakt tussen de elektroden van de sensor!

De schakeling en het programma zijn al getest, dus kan de adapter in het stopcontact. Er is nu geen seriële monitor, dus je ziet aanvankelijk niets gebeuren. Binnen enkele seconden moet de rode led gaan branden. En binnen enkele seconden moet je een appje krijgen. Als dat niet gebeurt, is er waarschijnlijk een probleem met de wifi en zul je de schakeling wat dichterbij een accesspoint moeten zetten.

Geef de kerstboom water en zodra dat boven de sensor uitkomt, moet de rode led uitgaan en de groene gaan branden. Alvast een groene Kerst gewenst!

Het kerstboomalarm in bedrijf.

🌼 Ook handig ná de feestdagen

Als de kerstboom weer de deur uit is, kun je de schakeling natuurlijk ook prima gebruiken voor bloemen en planten. Daarvoor zul je eventueel de constanten ondergrens en veilige waarde moeten veranderen, een kwestie van experimenteren. Behalve deze voor de hand liggend toepassing, is de schakeling met het gedeeltelijk omdraaien van de code ook inzetbaar als lekkage-alarm. De functie alarm() voer je dan juist uit als de waarde te hoog is in plaats van te laag. Afgezien van wat tekstuele aanpassingen hoef je daarvoor niet heel veel te wijzigen. Een logische plek is dan bijvoorbeeld onder de wasmachine.

▼ Volgende artikel
Black Friday bij Simyo: hoge kortingen én tot 40 euro cashback via CashbackXL
Huis

Black Friday bij Simyo: hoge kortingen én tot 40 euro cashback via CashbackXL

Wie deze Black Friday écht wil besparen op zijn mobiele abonnement, komt al snel uit bij de combinatie Simyo en CashbackXL. Want waar de meeste providers één losse korting aanbieden, stapel je hier twee voordelen op elkaar: scherpe Black Friday-prijzen én een royale cashback. Zo wordt mobiel internetten ineens verrassend goedkoop, zonder dat je hoeft in te leveren op snelheid of flexibiliteit.

Black Friday is hét moment om je mobiele abonnement eens goed onder de loep te nemen. Dit jaar pakt Simyo extra groot uit met tot 75 procent korting op alle internetbundels, en wie via CashbackXL bestelt, krijgt daarbovenop tot 40 euro cashback. Een combinatie die de sowieso al betaalbare provider tijdelijk nóg aantrekkelijker maakt.

Tot 75 procent korting op databundels

Tijdens de Black Friday-periode verlaagt Simyo de prijzen van al zijn databundels van 2 tot 30 GB. Bij een tweejarig contract geldt de korting 12 maanden, bij een eenjarig contract 6 maanden. Na deze periode betaal je weer de standaardprijs (die gelukkig ook vrij laag is). Omdat Simyo zijn bundels maandelijks laat aanpassen, profiteer je gedurende je volledige kortingsperiode ook als je van bundel wisselt.

De actietarieven liggen opvallend laag. Zo kost de databundel van 30 GB tijdelijk 1,50 euro in plaats van 7 euro, en betaal je voor 2 GB tijdelijk slechts 50 cent per maand. Wie veel belt, kan voor 1 euro extra per maand onbeperkt bellen toevoegen. Klanten met KPN-thuisinternet krijgen via Simyo Compleet bovendien 10 GB extra data per maand cadeau.

Extra besparen via CashbackXL

Wie deze Black Friday-kortingen wil combineren met cashback, moet via CashbackXL doorklikken naar Simyo. Afhankelijk van je keuze ontvang je:

  • 40 euro cashback bij een nieuw tweejarig sim-only-abonnement

  • 30 euro cashback bij een eenjarig sim-only of een abonnement met telefoon

  • 25 euro cashback bij een verlenging

  • 2,50 tot 20 euro cashback bij prepaid-opwaarderingen

De spelregels

CashbackXL werkt eenvoudig, maar er zijn een paar belangrijke regels om rekening mee te houden. Wie deze stappen volgt, krijgt zijn cashback vrijwel altijd zonder problemen uitgekeerd.

Zoals we hierboven al hebben gemeld, moet je via CashbackXL doorklikken naar Simyo en in dezelfde sessie je bestelling afronden. Dat betekent: niet tussendoor de pagina sluiten of later terugkomen via een andere link. Daarnaast moeten cookies geaccepteerd worden en mag er géén adblocker actief zijn, omdat die de benodigde tracking tegenhouden.

Ook belangrijk: gebruik géén andere kortingscodes tijdens je bestelling, want die kunnen ervoor zorgen dat je cashback wordt afgekeurd. De cashback wordt volgens CashbackXL meestal binnen tien minuten bevestigd, en de daadwerkelijke uitbetaling volgt doorgaans binnen twee maanden. Houd er verder rekening mee dat er geen cashback wordt uitgekeerd bij abonnementen waarvan het maandbedrag onder de 5 euro ligt.

Waarom Simyo?

Simyo maakt gebruik van het 5G-netwerk van KPN, met snelheden tot 300 Mbit/s. Daarbij kun je elke maand je bundels aanpassen en optioneel een dataplafond instellen, zodat internet automatisch stopt wanneer je bundel op is. Je zit dus niet alleen voordelig, maar ook flexibel en veilig.

Volgens CashbackXL loopt de complete Black Friday-actie, inclusief cashback, door tot en met 7 december 2025. Daarna vervallen zowel de extra hoge kortingen op de databundels als de verhoogde cashback-bedragen. Wees er dus snel bij!

▼ Volgende artikel
Tweede ronde voor toptech: ontdek onze nieuwe Vinted-pagina
Huis

Tweede ronde voor toptech: ontdek onze nieuwe Vinted-pagina

Op ID.nl en op het TikTok-kanaal Power Unlimited Tech zie je geregeld tests van de nieuwste gadgets en apparaten. Daarnaast worden op Review.nl (dat ook bij ons moederbedrijf hoort) allerlei producten getest door gewone consumenten. Alles wat na afloop terugkomt, krijgt een tweede kans bij ons. Correctie: bij júllie. Want de Pu Tech Tweedehands-Vintedstore is nú geopend!

View post on TikTok

🧪Wat Review.nl precies doet

Review.nl is ons platform waar consumenten nieuwe producten testen. Want die kijken toch anders naar producten dan professionele reviewers. Hoe iets bevalt in de praktijk, in het dagelijks leven, ook bij langer gebruik: dat is wat veel mensen willen weten voordat ze zelf naar de (web)winkel lopen.

Vaak willen deze consumentenreviewers het product dat ze getest hebben overnemen, omdat ze eigenlijk niet meer zonder kunnen. Maar soms komen er ook spullen terug, bijvoorbeeld omdat testers al iets vergelijkbaars hebben. Die producten zijn vaak maar een paar weken gebruikt. Zo goed als nieuw dus – en daarom verdienen ze een tweede leven.

🎯Tweede ronde op Vinted

De beste exemplaren bieden we nu aan via onze nieuwe Vinted-pagina. Daar vind je tweedekans elektronica die er nog prima uitziet, maar niet meer als nieuw verkocht wordt. Denk aan smartwatches, koptelefoons, muizen en toetsenborden. Het aanbod wordt regelmatig aangevuld, dus het loont om af en toe even te kijken.

Toptechtweedehands!

Check de Pu Tech Tweedehands-Vintedstore