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
Waar voor je geld: 5 betaalbare pc-monitors met interne speakers
© Stocks Marketing
Huis

Waar voor je geld: 5 betaalbare pc-monitors met interne speakers

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we binnen een bepaald thema naar zulke deals. Zoek je een betaalbaar pc-scherm dat zowel beeld als geluid afspeelt? Vandaag hebben we vijf interessante modellen voor je gespot.

Samsung M5 M50D (LS27DM502EUXEN)

Met de Samsung M5 M50D koop je een pc-monitor en smart-tv ineen. Zodra je dit 27inch-model met wifi verbindt, heb je toegang tot het Tizen-smartplatform. Voor het streamen van Netflix-series en YouTube-filmpjes is het dus niet per se nodig om een verbonden computer te gebruiken. Navigeer met de bijgesloten afstandsbediening door het app-aanbod en kijk naar videocontent in Full-HD-kwaliteit. Verder komen voor streamingdoeleinden de twee geïntegreerde speakers goed van pas.

Zet de M5 M50D via de bijgesloten voet op het bureau of gebruik een los verkrijgbare VESA-monitorbeugel. Voor verbinding met een pc of laptop telt de achterzijde twee HDMI-poorten. Daarvan ondersteunt één poort de techniek ARC (Audio Return Channel), zodat je het audiosignaal naar een verbonden soundbar of receiver kunt doorsturen. Met behulp van twee usb-poorten verbind je zo nodig ook nog randapparaten. Een leuk extraatje is dat je via deze monitor andere slimme Samsung-apparaten in je woning kunt bedienen. Dat werkt via het SmartThings-platform. Dit product is ook in een groter schermdiagonaal van 32 inch te koop.

Philips 271V8LAB/00

De Philips 271V8LAB/00 biedt aantrekkelijke specificaties tegen een scherpe prijs. Zo telt het 27inch-scherm 1920 × 1080 pixels, waardoor je video's in Full-HD-kwaliteit kunt bewonderen. Bovendien is de vernieuwingsfrequentie van 100 hertz dik in orde. Films, series en animaties verschijnen dus vloeiend in beeld. In dit scherm zijn twee kleine speakers verwerkt. Dat is nuttig voor het geval er geen luidsprekers op de computer zijn aangesloten.

Onderaan de behuizing vind je een HDMI-poort. Je kunt daarop zo'n beetje elke pc of laptop aansluiten. Gebruik gewoon de bijgesloten HDMI-kabel. Voor het verbinden van een oude computer is er ook nog een VGA-ingang voorhanden. Een pluspunt is de matte coating. Hierdoor ervaar je in sterk verlichte ruimtes minder hinder van lichtweerkaatsingen. Er is ook een instelling voor het reduceren van blauw licht. Dat is minder vermoeiend voor de ogen. Je zet de 271V8LAB/00 via de bijgesloten standaard neer of monteert hem op een geschikte VESA-monitorbeugel. Dit betaalbare scherm kun je uitsluitend verticaal kantelen.

AOC 24B3HMA2

Op zoek naar een goedkope compacte pc-monitor met interne speakers? Dan kom je vermoedelijk al gauw uit bij de AOC 24B3HMA2. De schermdiagonaal van exact 23,8 inch leent zich goed voor kantoortaken. Dankzij een respectabele resolutie van 1920 × 1080 pixels ogen de programma's scherp. Voor bewegende beelden is de vernieuwingsfrequentie van 100 hertz een pluspunt. Er is daardoor minder sprake van haperingen.  

Zoals je van dit degelijke kantoorproduct mag verwachten, heeft het scherm een matte coating. Zo kun je overdags bij veel omgevingslicht evengoed nog comfortabel werken. Werk je graag in de late uurtjes? Dankzij de zogenoemde Low Blue Light-modus verminder je het blauwe licht, zodat je het 's avonds langer volhoudt. Via de bijgesloten HDMI-kabel verbind je de 24B3HMA2 met een pc of laptop. Als alternatief voor de twee geïntegreerde speakers kun je ook nog een koptelefoon aansluiten. Gebruik hiervoor de 3,5mm-audiouitgang aan de onderzijde.

Lees ook: Tips en tools voor het gebruik van je monitor

Iiyama ProLite XUB3493WQSU-B5

Kan het jou niet groot genoeg? In plaats van twee afzonderlijke monitors plaats je net zo makkelijk de Iiyama ProLite XUB3493WQSU-B5 op het bureau. Met een schermdiagonaal van 34 inch open je probleemloos twee vensters naast elkaar. Werk bijvoorbeeld aan een tekst, terwijl je ondertussen op internet naar informatie zoekt. Via twee HDMI-poorten en een DisPlayPort-aansluiting verbind je tot maximaal drie systemen met dit scherm. Voor de weergave van geluid bevat de behuizing twee speakertjes.

De ProLite XUB3493WQSU-B5 is een ideale partner voor liefhebbers van videostreaming en beeldbewerking. Met een royale resolutie van 3440 × 1440 pixels blijven er geen details achterwege. Bovendien staat het aanwezige ips-paneel bekend om zijn levendige kleuren. De fabrikant heeft ook aan een goede werkhouding van zijn gebruikers gedacht. Je past de hoogte van het scherm namelijk eenvoudig aan: je hebt vijftien centimeter 'speling'. Daarnaast kun je de monitor kantelen en draaien. Ondanks het riante formaat kun je de ProLite XUB3493WQSU-B5 optioneel aan een capabele VESA-beugel bevestigen.

ASUS TUF Gaming VG328H1B

Wanneer je op de pc weleens een spelletje speelt, is de betaalbare ASUS TUF Gaming VG328H1B een interessante optie. Met een hoge vernieuwingsfrequentie van 165 hertz weet je zeker dat de snelste gameanimaties vloeiend voorbijrazen. Dankzij een royale beelddiagonaal van 31,5 inch en resolutie van 1920 × 1080 pixels zie je geen teamgenoot of tegenstander over het hoofd. Voor de fanatiekste gamers is de rappe reactietijd van slechts één milliseconde gunstig. Zo reageer je vrijwel meteen op de gameplay en ben je vijanden te vlug af.

Uiteraard leent de TUF Gaming VG328H1B zich ook goed voor kantoortaken. Met behulp van HDMI sluit je elke hedendaagse pc aan. Je kunt zowel overdags als 's avonds werken, want het scherm heeft een matte afwerking. Opvallend is verder de lichte kromming van 1500R. Daardoor sluit het scherm beter aan bij je gezichtsveld. Tot slot kan deze pc-monitor draaien en kantelen.

▼ Volgende artikel
POCO introduceert nieuwe F7 smartphone-serie met krachtige prestaties
Huis

POCO introduceert nieuwe F7 smartphone-serie met krachtige prestaties

POCO heeft twee nieuwe smartphones uitgebracht: de F7 Ultra en F7 Pro. Deze toestellen richten zich op gebruikers die veel waarde hechten aan snelheid en efficiëntie, zonder daarvoor de hoofdprijs te betalen.

De F7 Ultra is voorzien van de Snapdragon 8 Elite processor, die zorgt voor betere prestaties en minder energieverbruik dan voorgaande modellen. Het toestel heeft ook een speciale grafische chip die de beeldkwaliteit verbetert bij games en video's. De F7 Pro werkt met de Snapdragon 8 Gen 3 processor en draait op Xiaomi HyperOS 2. Beide telefoons hebben een goed koelsysteem waardoor ze niet snel oververhit raken, zelfs bij intensief gebruik.

©POCO

Qua batterijduur biedt de F7 Ultra een 5.300mAh batterij die in 34 minuten volledig opgeladen kan worden met de snellaadtechnologie. Je kunt deze telefoon ook draadloos opladen. De F7 Pro heeft een nog grotere batterij van 6.000mAh. Door speciale technologie behouden de batterijen van beide toestellen lang hun capaciteit, zelfs na veelvuldig opladen.

Fotografie en heldere schermen

Voor fotografie heeft de F7 Ultra drie camera's, waaronder een 50 megapixel hoofdcamera, een telelens en een 32 megapixel groothoeklens. De F7 Pro heeft een 50 megapixel hoofdcamera en een 8 megapixel groothoeklens. Beide telefoons maken gebruik van slimme beeldverwerking voor betere foto's.

De schermen van beide smartphones zijn erg helder (tot 3200 nits) en hebben technologie die zorgt voor minder vermoeidheid van de ogen. Ze zijn ook water- en stofbestendig volgens de IP68-norm en voorzien van krasbestendig glas.

©POCO

Prijzen en verkrijgbaarheid

De POCO F7 Ultra is te koop in geel en zwart in twee varianten: 12GB+256GB voor 779,90 euro en 16GB+512GB voor 849,90 euro.

De POCO F7 Pro is verkrijgbaar in zwart, zilver en blauw, eveneens in twee versies: 12GB+256GB voor 599,90 euro en 12GB+512GB voor 649,90 euro.