Grondvochtigheid sensor module

Dit is een eenvoudige luchtvochtigheidssensor waarmee de luchtvochtigheid in de grond kan worden gemeten. Hierdoor is het mogelijk dat de Raspberry Pi een melding geeft als de plant water nodig heeft. Deze module heeft zowel de mogelijkheid tot digitale als analoge output, waarbij de digitale outputdrempel ingesteld kan worden door middel van een potentiometer.

Specificaties
– Spanning: 3.3-5V DC
– Digitale uitgang (drempelwaarde instelbaar): D0
– Analoge uitgang (directe uitgang van sensor): A0
– Aansluiting voor sensoroppervlak: + en –
– LED aanwezig die status van digitale uitgang aangeeft
– LED aanwezig die status van module(aan/uit) aangeeft
– Ingebouwde potentiometer om de gevoeligheid aan te passen
– LM393-chip aanwezig op module

Afstellen drempelwaarde
Om de sensor te kunnen gebruiken zullen we hem af moeten stellen. We doen dit door de sensor in de grond te steken en grond te geven totdat de grond voldoende water heeft.

• Verbind de Vcc en de GND van de sensor module respectievelijk met de 3,3V en de GND (ground) van de headerpinnen van de Raspberry Pi. Als het goed is brand ten minste een van de twee LED’s. Het kan ook zijn dat beide LED’s branden.
• Neem een kleine schroevendraaier en draai de potmeter zo dat de indicator LED net aanblijft. Met de klok mee draaien vergroot de gevoeligheid van de drempelwaarde.

Digitaal uit (D0)
LED uit = HOOG
LED aan = LAAG

Je kunt controleren of de sensor module goed ingesteld is doordat de sensor door de grond wat nat is. Als het goed is gaat nu de indicator LED aan. Is de grond en daarmee de sensor droog, dan gaat de LED weer uit.

Python script
Om de GPIO poort uit te lezen is maar een klein python script nodig. Open de editor nano en zet de code er in. Sla de code op onder bijv. uni.py. Je kunt de code opstarten met python uni.py. Met Ctrl-c stopt het script.

import RPi.GPIO as GPIO
import time

# BOARD = de fysieke GPIO pinnen gebruiken
GPIO.setmode(GPIO.BOARD)

# Pin 16 wordt gebruikt als ingang. De interne weerstand is nodig
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_UP)

p=1

while True:
    input_state = GPIO.input(16)
    if input_state == False:
        print ("Sensor detecteert GEEN activiteit")
        time.sleep(p)
    else:
        print ("Sensor detecteert WEL activiteit")
        time.sleep(p)

Na de start van het script: python uni.py zie je de onderstaande uitkomst. Als het voorwerp verder dan de ingestelde afstand afstaat geeft de module de melding: Sensor detecteert geen activiteit!

Have A Nice Day!