Slimme Plantenwateringssysteem met Arduino Nano
Onderdelen en benodigdheden
![]() |
Arduino Nano R3 | × | 1 |
![]() |
Adafruit Standard LCD - 16x2 Wit op Blauw | × | 1 |
| Mini waterpomp | × | 1 | |
![]() |
Rotary Encoder met Push-Button | × | 1 |
| L298N IC (H-brug) | × | 1 | |
![]() |
Fotoweerstand (LDR) | × | 1 |
![]() |
Algemene NPN Transistor | × | 1 |
![]() |
Weerstand 10k Ω | × | 1 |
![]() |
Potentiometer 10k Ω | × | 1 |
![]() |
Condensator 10 µF | × | 1 |
![]() |
Condensator 1000 µF | × | 1 |
![]() |
Condensator 470 µF | × | 1 |
![]() |
Condensator 100 nF | × | 7 |
| 1N4001 Diode | × | 8 | |
| RCA socket | × | 1 | |
| Bodemvochtigheidssensor | × | 1 | |
| Schroefklemblok | × | 3 | |
| AMS1117-ADJ (spanningsregelaar) | × | 1 | |
| Weerstand 2k Ω | × | 1 | |
| Weerstand 680 Ω | × | 1 | |
| Voeding DC 9V 3A | × | 1 |
Benodigde tools
![]() |
Soldeerbout (standaard) |
Apps en online diensten
![]() |
Arduino IDE |
Over dit project
Nog een plantenwateringsysteem
Er zijn talloze projecten en tutorials over bodemvochtigheidssensoren. In dit project worden briljante ideeën van het internet gecombineerd met een uitgewerkte softwaremodule tot een complete thuissysteem-controller. Soms lijkt de oplossing voor de hand liggend, tot je de details bekijkt. Laten we die details onderzoeken.
Hoofdfuncties van de controller
- Twee planten ondersteund: twee onafhankelijke kanalen; elk kanaal kan uitgeschakeld worden.
- Instelbare pomptijden: per kanaal: hoelang pompen vooruit en achteruit (in tientallen seconden).
- Handmatige modus: plant wateren door op de knop te drukken.
- Vochtigheidscontrole na wateren: kanaal wordt uitgeschakeld als de vochtigheid niet stijgt.
- Lichtsensor: voorkomt wateren 's nachts.
- Menu-systeem: configuratie via rotary encoder, opgeslagen in EEPROM.
De bodemvochtigheid meten
Hoe meet je bodemvochtigheid nauwkeurig? Je kunt een sensor bestellen, in de plant steken en de weerstand meten. Helaas waren in mijn geval de weerstand van "droge" en "natte" planten zeer dichtbij elkaar (300 kΩ vs 500 kΩ), moeilijk te onderscheiden. Het probleem: zuiver water geleidt niet; de mineralen in het water wel. De gemeten weerstand hangt dus af van de mineralen, niet van het watergehalte.
De oplossing: capaciteit meten in plaats van weerstand. Water heeft een hoge dielectrische constante; de capaciteit van "natte" grond is een miljoen keer groter dan "droge" grond (200 µF vs 200 pF).
Hoe meet je de capaciteit?
Er zijn complexe methodes (Arduino als condensatormeter), maar een eenvoudigere manier gebruikt slechts twee analoge pinnen en geeft voldoende accurate resultaten om "droog" van "nat" te scheiden. Omdat de ruwe metingen een groot bereik hebben, wordt in de code de natuurlijke logaritme van de capaciteitsmetingen gebruikt om het bereik te comprimeren.
Waarom een H-brug?
Een enkele MOSFET leek voldoende voor de waterpomp. Maar als het waterpeil in de bron hoger is dan de plant, loopt het water na stoppen van de pomp door (sifoneffect). Oplossing: pomp kort omgekeerd draaien. Bij een DC-motor wissel je de polen. Daarvoor heb je een H-brug nodig. De L298N is een goede keuze. De pompen gebruiken 9V/3A, dus een koelrib en een stroombegrenzende weerstand (1Ω 5W) zijn nodig. De L298N kan twee motoren aansturen, dus twee planten tegelijk.
Het menu-systeem van de controller
Bediening via rotary encoder. Na opstart verschijnt het hoofsscherm:
- Bovenste regel: huidige sensorwaarden van beide kanalen (of
xxxxals uitgeschakeld). - Onderste regel: droogte-limieten.

Handmatig wateren: korte druk op de encoder → handmatig scherm.
Instellen: lange druk (~1 sec) op hooftscherm → setup menu:
- Linker kanaal
- Rechter kanaal
- Display achterlicht helderheid (of auto)
- Display helderheid 's nachts
Per kanaal:
- Kanaal in/uitschakelen
- Droogte-limiet (natuurlijke log van sensorcapaciteit; actuele waarden op hooftscherm)
- Pomptijd vooruit (tientallen seconden)
- Pomptijd achteruit (tientallen seconden)
- Parameters testen (voordat opslaan in EEPROM)
De hardware
De controller is gebouwd op twee 3x7 cm dubbelzijdige printplaten:
- Motor driver PCB: L298N, diodes, schroefklemmen voor voeding en pompen, connectoren voor sensoren. Ook AMS1117-ADJ voor 5V naar L298N en Arduino (handig tijdens debuggen; je kunt ook de onboard regelaar van de Arduino gebruiken).
- Control PCB: Arduino Nano, connectoren voor rotary encoder en fotoweerstand, socket voor LCD-display.
Code
WateringSystem – broncode op GitHub:
https://github.com/sfrwmaker/WateringSystem/blob/master/WateringSystem.ino
Schema's
Productieproces
- Geautomatiseerd Plantenwatersysteem met Raspberry Pi & Webdashboard
- Slim Hotel- & Thuismonitoringssysteem met Cloud-gebaseerde Geautomatiseerde Besturing
- Slimme Plantenalarmer – DIY Sensor voor Optimale Hydratatie
- DIY ADXL335 Aardbevingendetector – Laag-vermogen 3-as Versnellingsmeter Project
- Arduino-gestuurd automatische plantenwateringssysteem
- Slim plantenmonitoringssysteem met AWS IoT
- Alexa-ingeschakelde Arduino Thuiscontroller: Slimme Automatisering Made Simple
- Slimme plantenmonitoring met Windows 10 IoT, Arduino Due en Raspberry Pi
- Slimme luchtzuiverer met Arduino Yun, Sharp Plasmacluster en AWS IoT
- Zelfbouw Zonnetracker Zonne-energiesysteem met Arduino UNO
- Arduino Beveiligingssysteem: Slimme Bewegingsdetectie & Alarm












