ID.nl logo
DIY Kerstboomalarm - Kerstboom vraagt zelf om water
© Reshift Digital
Zekerheid & gemak

DIY Kerstboomalarm - Kerstboom vraagt zelf om water

Nog niet eerder stonden de kerstbomen al zo vroeg; tegen de tijd dat het Kerst is, dreigen ze al te verdrogen. Als ze op een kruis staan is daar weinig aan te doen, maar een kerstboom doet het veel beter in een voet die tevens dienstdoet als waterbak. Maar het blijkt dat die bomen binnen erg dorstig zijn, en wie controleert het water nog nadat er eenmaal zo’n gezellig sneeuwkleedje overheen ligt? Precies, daarom een last-minuteproject voor alle knutselaars die geen zin hebben in een kale kerstboom!

Boodschappenlijstje

Bijvoorbeeld bij Martoparts.nl

  • 1 NodeMCU-module (€ 10,-)Bijvoorbeeld bij Conrad.nl
  • 2 Trekontlasting M10 (€ 2,-)
  • 1 Printplaatje 80 × 50 mm (€ 3,30)
  • 1 Kunststof behuizing 85 × 56 × 39 mm (€ 4,25)
  • 1 Schroefterminal 4-polig (€ 0,40)
  • 1 Netadapter 5 V, 1 A (€ 6,-)
  • 1 Rode led (€ 0,10)
  • 1 Groene led (€ 0,10)
  • 2 Weerstanden 100 ohm (€ 0,10)
  • 1 Weerstand 10 kilo-ohm (€ 0,05) Optioneel, bijvoorbeeld bij AliExpress of eBay
  • Watersensor (‘soil moisture sensor’) zonder elektronica (€ 0,50 Als alternatief kun je ook de gestripte uiteinden van het dubbelpolige snoer gebruiken, die je een beetje uit elkaar buigt. Overige benodigdheden: soldeerbout en soldeertin, zijkniptang, schroevendraaier, boormachine, vijl, secondelijm, enkelpolig snoer (30 cm), dubbelpolig snoer (1 meter) multimeter (optioneel). Totale kosten: ca. € 26,–

Qua hardware en behuizing blinkt dit project uit in eenvoud. Er is een netadapter nodig, een compacte behuizing en een trekontlasting, een NodeMCU-module, twee leds, drie weerstanden en een printplaatje om de boel op te solderen. Dit is dan ook een zeer geschikte schakeling voor wie net met solderen begint.

De groene led geeft aan dat er voldoende water is; de rode led brandt bij het bereiken van de in de code bepaalde ondergrens. De schakeling wordt gevoed door een eenvoudige netadapter van 5 volt, minimaal 1 ampère. Dat kan er ook één met usb-aansluiting zijn, in dat geval heb je nog wel een passende usb-kabel nodig. Het geheel is ondergebracht in een compacte kunststoffen behuizing, waarvoor je vanzelfsprekend ook zelf iets kunt maken of hergebruiken. De trekontlastingen voorkomen dat de voedingskabel en de sondekabel worden losgetrokken als er onbedoeld kracht op komt te staan.

©PXimport

Ontwikkelomgeving installeren

De ESP-module is het gemakkelijkst te programmeren met de Arduino-ontwikkelomgeving (IDE). Deze kun je downloaden via www.tiny.cc/arduinosoft. Omdat deze IDE niet primair voor deze module is bedoeld, zul je nog wat extra benodigde onderdelen moeten installeren. Klik daarvoor op Bestand / Voorkeuren en voer op het tabblad Instellingen bij Additionele Board Beheer URLs de url http://arduino.esp8266.com/stable/package_esp8266com_index.json in. Kies nu Hulpmiddelen / Board: / Board Beheer… en typ esp. Let nu goed op: installeer versie 2.4.2, vanwege incompatibiliteit van de bibliotheek sendemail.h met nieuwere versies! Selecteer 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.

©PXimport

Aanpassen code

Het kant-en-klare programma kun je downloaden vanaf https://storage.googleapis.com/pdm-assets/media/files/Kerstboom_mail.zip. Download het bestand Kerstalarm.zip en pak het uit naar een willekeurige map. Open het bestand Kerstboom_mail.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.

Voor het versturen van mail heb je een mailserver nodig. Die zou je kunnen installeren op de module, maar daarmee loop je vrijwel zeker tegen problemen aan. Spamfilters wantrouwen mail van onbekende bronnen en berichten die rechtstreeks vanaf de module zijn verstuurd, zullen bij de meeste ontvangers niet aankomen. Dit probleem is te omzeilen door (gratis) gebruik te maken van een provider, zoals Mailjet.

Ga naar https://www.mailjet.com en maak een nieuw account aan door te klikken op Sign up for free. Om je nieuwe account te kunnen gebruiken, moet je je mailadres bevestigen door te klikken op de knop of op de link in de bevestigingsmail.

Log in bij Mailjet en klik bovenaan op Transactional / SMTP. Onder Credentials zie je Username en Password, beide zijn nodig in je programma. Neem de tekenreeks onder User over bij server_login op de plek van USERNAME (tussen de dubbele aanhalingstekens). De tekenreeks onder Password komt op de regel bij server_password op de plek van PASSWORD. De smtp-server (in-v3.mailjet.com) en het poortnummer (587) zijn al ingevuld. Vul op de plaats van AFZENDER@DOMEIN.NL het mailadres in dat je gebruikt voor je Mailjet-account.

©PXimport

Mail versturen via Gmail

Het versturen van mail kan ook via Gmail. Om de smtp-server te kunnen gebruiken, zul je de accountbeveiliging moeten verlagen. Klik op het pictogram van je account en dan op Je Google-account beheren / Beveiliging en schakel Toegang door minder veilige apps in. In het programma gebruik je je eigen afzenderadres en bijbehorend wachtwoord, smtp.gmail.com bij server_host en poort 465 bij server_port.

©PXimport

🎄 Download het kant-en-klare programma door hier te klikken.

Toelichting code

De code begint met het insluiten van twee bibliotheken: ESP8266WiFi.h en sendemail.h. De eerste handelt de verbinding met het draadloze netwerk af; dankzij dit programma is de module met enkele regels code met het netwerk te verbinden. De tweede bibliotheek regelt de verbinding met de mailserver, waardoor het programma berichten kan versturen.

We declareren enkele constanten en variabelen, waarvan de belangrijkste in bovenstaande alinea’s al zijn besproken. In setup() worden de pinnen gedefinieerd, de leds uitgezet en maakt de module verbinding met de wifi.

Verwerken van de gegevens

De functie loop() draait continu en vormt het hart van het programma. Hier 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 onwaar is, wordt ook de functie alarm() uitgevoerd. Daarin wordt een mailtje verstuurd met de melding, waarna alarmverzonden op waar wordt gezet. Dit voorkomt dat er bij elke meetronde een mail 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 genoemde corrosie. Andersom gaat veel sneller. Als je de kerstboom water geeft, is een vertraging van maximaal een seconde werkbaar. Doordat er in die situatie geen water tussen de elektroden aanwezig is, speelt corrosie dan nauwelijks een rol.

©PXimport

Probeer eens de cursus Hardware Programmeren van onze Tech Academy.

Software uploaden en testen

Als het bestand kerstboom_mail.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, zie je als het goed is hoe de module eerst verbinding maakt met het draadloze netwerk. Dan volgt de meetwaarde en de melding ‘Droogtealarm!’ en als het goed is de melding ‘Mail met droogtealarm verstuurd.’ erachteraan. De rode led brandt en de melding ‘Droogtealarm!’ herhaalt zich vervolgens elke seconde. Hopelijk heb je de verstuurde mail inmiddels ontvangen.

Door de sensor 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.

Om te testen kun je tijdelijk een natte doek of kopje water gebruiken

-

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. Kleiner kan ook, met een vijl maak je dan de gaten op maat. Monteer de trekontlastingen en controleer of de leds passen. Lijm ze met secondelijm vast in de behuizing. Soldeer ook alvast de snoertjes aan de leds, en de watersensor zodat je die straks met de printplaat kunt verbinden.

©PXimport

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 gaat passen 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. 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 de uitgebreide handleiding via www.tiny.cc/pcmsolderen.

©PXimport

©PXimport

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

©PXimport

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 dubbelpolige 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.

©PXimport

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 minuten moet je een mailtje 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!

©PXimport

▼ Volgende artikel
Roamingkosten verdwijnen op Noordzee: geen hoge en onverwachte rekeningen meer
© Marc Venema
Huis

Roamingkosten verdwijnen op Noordzee: geen hoge en onverwachte rekeningen meer

Reizigers die de oversteek maken op de Noordzee naar Groot Brittannië of Noorwegen kennen het probleem: je moet je roaming uitzetten omdat je anders onbedeoeld verbinding maakt met een dure maritieme provider. Dat is binnenkort verleden tijd, want door een samenwerking met Tampnet betaal je - net als in Nederland - gewoon de normale kosten voor het gebruik van je mobiele data en gesprekken.

Mobiele provider KPN heeft aangeven dat klanten vanaf 1 november 2025 geen extra roamingkosten meer betalen als ze gebruik maken van mobiel internet en telefonie tijdens bijvoorbeeld een overtocht met een ferry naar Groot Brittannië. Door een samenwerking met maritiem provider Tempnet worden er geen exorbitante prijzen meer gerekend als je met je smartphone op internet surft. Ook klanten van Youfone en Simyo vallen onder deze nieuwe regeling.

Odido volgt in januari

Ook Odido heeft eerder al bekend gemaakt dat de roamingkosten voor klanten van deze provider, waar ook klanten van Ben en Simpel onder vallen, verdwijnen en ook deze klanten dus niet meer betalen dan in Nederland. Bij Odido verdwijnen de roamingkosten per 1 januari 2026.

Het is nog niet bekend wanneer andere provider zoals Vodafone roamingkosten zullen aanschaffen voor reizigers op de Noordzee, maar de verwachting is dat ook dit rond de jaarwisseling zal worden doorgevoerd.

Voorheen hoge kosten

Wanneer reizigers op het oude maritieme netwerk verbinding maakten met internet, konden de kosten extreem hoog oplopen. Bij Odido kon je bijvoorbeeld bundels afkopen voor 3 euro voor 25MB of of 25 euro voor 500MB, bedragen waar je dus behoorlijk diep in de buidel voor moet tasten.

▼ Volgende artikel
Nieuw van OPPO: Find X9 en X9 Pro met Hasselblad-telelens en accu van ruim 7000 mAh
© OPPO
Huis

Nieuw van OPPO: Find X9 en X9 Pro met Hasselblad-telelens en accu van ruim 7000 mAh

OPPO brengt zijn nieuwste vlaggenschepen, de Find X9 en Find X9 Pro, wereldwijd op de markt. De nieuwe toestellen combineren krachtige camera's, hoge accucapaciteit en de nieuwste versie van OPPO's besturingssysteem ColorOS.

De Find X9-serie richt zich vooral op fotografie, met camera's die in samenwerking met Hasselblad zijn ontwikkeld. De Find X9 beschikt over drie 50MP-camera's: een hoofdcamera met een Sony LYT808-sensor, een ultragroothoek met autofocus en een periscoop-telelens. De Find X9 Pro gaat een stap verder met een aangepaste Sony LYT828-hoofdsensor en een 200MP-telelens met 3x optische zoom. Deze laatste kan dankzij de hoge resolutie digitaal inzoomen tot ruim 13x zonder zichtbaar kwaliteitsverlies.

Beide toestellen maken gebruik van OPPO's nieuwe LUMO Image Engine, die foto's sneller en energiezuiniger verwerkt. De camera kiest automatisch de juiste resolutie (50, 25 of 12 megapixel) afhankelijk van de lichtomstandigheden. Ook nieuw zijn 4K Motion Photos, waarbij korte videofragmenten met hoge resolutie kunnen worden vastgelegd en elk frame als losse foto kan worden opgeslagen.

©OPPO

Wat is de LUMO Image Engine?

De LUMO Image Engine is OPPO's nieuwe systeem voor beeldverwerking. Het combineert rekenkracht en kunstmatige intelligentie om foto's sneller te verwerken en natuurlijker te laten ogen. De engine past onder meer de belichting en kleurweergave aan en vermindert ruis in situaties met weinig licht, terwijl het stroomverbruik van de chip wordt verlaagd.

Grote accu's

De Find X9-serie valt ook op door zijn grote batterijcapaciteit. De Find X9 heeft een 7025mAh-accu, de Pro-versie zelfs 7500mAh – groter dan in eerdere OPPO-flagships. Beide modellen ondersteunen 80W snelladen via de kabel, 50W draadloos laden en 10W omgekeerd opladen, waarmee je andere apparaten – zoals oordopjes of een smartwatch – draadloos kunt bijladen. De toestellen zijn voorzien van OPPO's derde generatie silicium-koolstofbatterij, die volgens de fabrikant na vijf jaar nog 80 procent van de oorspronkelijke capaciteit behoudt.

Prestaties en koeling

Binnenin draait de Find X9-serie op de MediaTek Dimensity 9500-chip, gebouwd op een 3nm-proces. De nieuwe chipset belooft betere prestaties en een lager energieverbruik. OPPO's eigen Trinity Engine moet zorgen voor stabiele prestaties, ook bij langdurig gamen of zware taken.

Scherm en ontwerp

Het ontwerp is grotendeels vlak, met smalle randen van 1,15 millimeter en een helder 120Hz-scherm dat tot 3600 nits piekhelderheid haalt. Beide toestellen hebben een IP69-classificatie, wat bescherming biedt tegen stof, water en hoge temperaturen. De Find X9 verschijnt in Titanium Grey en Space Black, terwijl de Pro-uitvoering verkrijgbaar is in Silk White en Titanium Charcoal.

De toestellen draaien op ColorOS 16, dat onder meer verbeterde animaties, slimme AI-functies en uitgebreidere koppeling met Windows- en Mac-computers biedt.

©OPPO

Beschikbaarheid en prijs

De adviesprijs van de OPPO Find X9 (12GB/512GB) is 999 euro, die van de Find X9 Pro (16GB/512GB) is 1.299 euro. Beide modellen zijn per direct verkrijgbaar.