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

Voor 16:00 besteld = morgen in huis

Express voor 11:30 besteld = vanavond in huis*

14 dagen gratis terugsturen*

Logo Elektronica Voor Jou


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.

Informeer naar de mogelijkheden
We nemen z.s.m. contact met u op

VERSTUUR
close-link
Verzend mogelijkheden

Pakket
Doordeweeks voor 16:00 besteld is dezelfde dag verstuurd. (Levering dinsdag t/m zaterdag)Gratis vanaf €74,95

Brievenbus – Met track&trace
Doordeweeks voor 16:00 besteld is vandaag verstuurd. (Levering dinsdag t/m zaterdag)Gratis vanaf €74,95

Brievenbus – Zonder track&trace
Levertijd 1 – 3 werkdagen
Express levering
Doordeweeks voor 11:30 besteld = vanavond in huis – Voor 23:59 besteld = morgen in huis huis. (Levering maandag t/m vrijdag)
Gratis vanaf €124,95

Ophalen in Leusden
Haal je bestelling bij ons op: Fokkerstraat 12 - Leusden
close-link
De waardering van www.elektronicavoorjou.nl bij Webwinkel Keurmerk Klantbeoordelingen is 9.2/10 gebaseerd op 1030 reviews.