You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/nl/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md

5.2 KiB

Meet bodemvocht - Raspberry Pi

In dit deel van de les voeg je een capacitieve bodemvochtsensor toe aan je Raspberry Pi en lees je waarden ervan uit.

Hardware

De Raspberry Pi heeft een capacitieve bodemvochtsensor nodig.

De sensor die je gaat gebruiken is een Capacitieve Bodemvochtsensor, die bodemvocht meet door de capaciteit van de bodem te detecteren, een eigenschap die verandert naarmate het bodemvocht verandert. Naarmate het bodemvocht toeneemt, daalt de spanning.

Dit is een analoge sensor, dus hij gebruikt een analoge pin en de 10-bit ADC in de Grove Base Hat op de Pi om de spanning om te zetten in een digitaal signaal van 1-1.023. Dit wordt vervolgens via I²C verzonden via de GPIO-pinnen op de Pi.

Verbind de bodemvochtsensor

De Grove bodemvochtsensor kan worden aangesloten op de Raspberry Pi.

Taak - verbind de bodemvochtsensor

Verbind de bodemvochtsensor.

Een grove bodemvochtsensor

  1. Steek één uiteinde van een Grove-kabel in de aansluiting op de bodemvochtsensor. Hij past maar op één manier.

  2. Met de Raspberry Pi uitgeschakeld, verbind je het andere uiteinde van de Grove-kabel met de analoge aansluiting gemarkeerd A0 op de Grove Base Hat die op de Pi is bevestigd. Deze aansluiting is de tweede van rechts, op de rij aansluitingen naast de GPIO-pinnen.

De grove bodemvochtsensor aangesloten op de A0-aansluiting

  1. Steek de bodemvochtsensor in de grond. Hij heeft een 'hoogste positie lijn' - een witte lijn over de sensor. Steek de sensor tot aan, maar niet voorbij deze lijn.

De grove bodemvochtsensor in de grond

Programmeer de bodemvochtsensor

De Raspberry Pi kan nu worden geprogrammeerd om de aangesloten bodemvochtsensor te gebruiken.

Taak - programmeer de bodemvochtsensor

Programmeer het apparaat.

  1. Zet de Pi aan en wacht tot hij is opgestart.

  2. Start VS Code, direct op de Pi of via de Remote SSH-extensie.

    ⚠️ Je kunt de instructies voor het instellen en starten van VS Code in nightlight - les 1 indien nodig raadplegen.

  3. Maak vanuit de terminal een nieuwe map in de home-directory van de pi-gebruiker genaamd soil-moisture-sensor. Maak een bestand in deze map genaamd app.py.

  4. Open deze map in VS Code.

  5. Voeg de volgende code toe aan het bestand app.py om enkele vereiste bibliotheken te importeren:

    import time
    from grove.adc import ADC
    

    De import time-verklaring importeert de time-module die later in deze opdracht zal worden gebruikt.

    De from grove.adc import ADC-verklaring importeert de ADC uit de Grove Python-bibliotheken. Deze bibliotheek bevat code om te communiceren met de analoog-naar-digitaal-converter op de Pi Base Hat en spanningen van analoge sensoren uit te lezen.

  6. Voeg de volgende code hieronder toe om een instantie van de ADC-klasse te maken:

    adc = ADC()
    
  7. Voeg een oneindige lus toe die leest van deze ADC op de A0-pin en het resultaat naar de console schrijft. Deze lus kan vervolgens 10 seconden pauzeren tussen de metingen.

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  8. Voer de Python-app uit. Je zult de bodemvochtmetingen in de console zien verschijnen. Voeg wat water toe aan de grond of verwijder de sensor uit de grond en zie de waarde veranderen.

    pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py 
    Soil moisture: 615
    Soil moisture: 612
    Soil moisture: 498
    Soil moisture: 493
    Soil moisture: 490
    Soil Moisture: 388
    

    In het voorbeeldoutput hierboven kun je zien dat de spanning daalt wanneer er water wordt toegevoegd.

💁 Je kunt deze code vinden in de code/pi map.

😀 Je programma voor de bodemvochtsensor is een succes!


Disclaimer:
Dit document is vertaald met behulp van de AI-vertalingsservice Co-op Translator. Hoewel we ons best doen voor nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in zijn oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.