Gratis verzending vanaf €74,95 NL (€99,95 BE/DE)

Voor 16:00 besteld = morgen in huis

Express voor 13:00 besteld = vanavond in huis*

14 dagen gratis terugsturen*


Land

Raspberry Pi project: Weerstation

Bij dit Raspberry Pi project gaan we een weerstation maken. We maken hierbij gebruik van de DHT11. Dit is een Temperatuur en vochtigheid sensor. De Temperatuur wordt aangegeven in graden Celsius (°C) en de luchtvochtigheid in percentages (%).

Deze handleiding behandeld: 

  • Niveau – Gemiddeld 55% 55%
  • Tijdsduur  30 min 35% 35%
  • Kosten – €70,30 50% 50%

Stap 2: Bibliotheken installeren

Om te beginnen moeten we eerst een aantal bibliotheken installeren. Deze bibliotheken hebben we nodig voor het uitlezen van de DHT11 sensor. De bibliotheken installeren we met behulp van de terminal.

Allereerst installeren we de bibliotheek “Adafruit_CircuitPython_DHT”:

sudo pip3 install Adafruit_CircuitPython_DHT

Vervolgens installeren we de bibliotheek “libgpiod2”:

sudo apt install libgpiod2

Stap 3: Aansluiten

Wanneer de benodigde bibliotheken zijn geïnstalleerd, kunnen we doorgaan met het maken van het aansluitcircuit en de python code. De DHT11 sluiten we direct aan op de Raspberry Pi. De ground van de DHT11 sluiten we aan op de GND van de Raspberry Pi (blauwe draad). De voeding van de sensor sluiten we aan op de 3.3V van de Raspberry Pi (rode draad). Het data-signaal sluiten we aan op de GPIO pin 13 van de Raspberry Pi.

Stap 4: Programmeren

 1 import time
 2 import board
 3 import adafruit_dht
 4
 5 # Initialiseer de DHT11 met GPIO pin 13:
 6 dhtDevice = adafruit_dht.DHT11(board.D13)
 7

In de Python code importeren we bovenin eerst de benodigde bibliotheken. Vervolgens schrijven we in de code dat het signaal van de DHT11 op de digitale pin 13 van de Raspberry Pi is aangesloten.

  8 while True:
 9    try:
10        # Druk de waarden (temperatuur en luchtvochtigheid) af ​​naar de seriële poort
11        temperature_c = dhtDevice.temperature
12        humidity = dhtDevice.humidity
13        print(
14            “Temperatuur: {:.1f} *C    Luchtvochtigheid: {}% “.format(
15                temperature_c, humidity
16            )
17        )
18
19    except RuntimeError as error:
20        # Errors komen vrij vaak voor, DHT’s zijn moeilijk te lezen, blijf gewoon doorgaan
21        print(error.args[0])
22        time.sleep(2.0)
23        continue
24    except Exception as error:
25        dhtDevice.exit()
26        raise error
27
28    time.sleep(2.0)

Nu maken we een oneindige loop, waarbij steeds de temperatuur en de luchtvochtigheid wordt afgedrukt. In de loop gebruiken we de try…except functie. Dit omdat er bij de DHT sensoren altijd moeilijk te lezen zijn, waardoor er soms errors optreden. Met het try-blok kun je een codeblok op fouten testen. En met het except-blok kun je de fout afhandelen. Wanneer er geen fouten optreden, leest het try-blok de temperatuur en de vochtigheid uit. Vervolgens worden deze gegevens afgedrukt naar de seriële poort, waardoor je deze waardes uit kunt lezen op je beeldscherm.

Voor wie de volledige code wilt kopiëren staat dit hieronder. We raden je echter aan om het over te schrijven, omdat ja daar veel meer van leert. 

import time
import board
import adafruit_dht

# Initialiseer de DHT11 met GPIO pin 13:
dhtDevice = adafruit_dht.DHT11(board.D13)

while True:
    try:
        # Druk de waarden (temperatuur en luchtvochtigheid) af ​​naar de seriële poort
        temperature_c = dhtDevice.temperature
        humidity = dhtDevice.humidity
        print(
            “Temperatuur: {:.1f} *C    Luchtvochtigheid: {}% “.format(
                temperature_c, humidity
            )
        )

    except RuntimeError as error:
        # Errors komen vrij vaak voor, DHT’s zijn moeilijk te lezen, blijf gewoon doorgaan
        print(error.args[0])
        time.sleep(2.0)
        continue
    except Exception as error:
        dhtDevice.exit()
        raise error

    time.sleep(2.0)

Stap 5: Resultaat

Wanneer je alles goed aangesloten en geprogrammeerd hebt, kun je op “Run” klikken, om de code te starten. Wanneer je de code start, zie je dat de gemeten temperatuur en de luchtvochtigheid afgedrukt wordt in de “Shell”.

Nu weet je hoe je een weerstation kan maken met behulp van de Raspberry Pi.

De waardering van www.elektronicavoorjou.nl bij WebwinkelKeur Reviews is 9.3/10 gebaseerd op 4783 reviews.