Weerstation deel 1

Hier komt deel 1 van de beschrijving voor het bouwen van een weerstation met een Arduino

Bouw je eigen weerstation: deel 1

Het meten van de temperatuur en de luchtvochtigheid
Om de temperatuur en luchtvochtigheid te meten gebruiken we een opnemer (ook wel sensor genoemd) DHT22. Op de volgende plaatjes een afbeelding de DHT22.

Het aansluiten van de DHT22 op de Arduino:
Vcc   –>  5 volt van de Arduino
GND –>  ground van de Arduino
Data –>  pen 9 van de Arduino
Note: Bij een losse DHT22 moet er een weerstand van 4700 Ohm tussen Vcc en data worden opgenomen; bij een printje is dat niet nodig omdat de weerstand al op het printje is gemonteerd.


Het schema en de proefopstelling

Het programma

Het Arduino programma zal de temperatuur en luchtvochtigheid meten en daarna deze waarden via de seriële monitor op het scherm van de computer laten zien.

Om met de sensor DHT22 te kunnen werken moet eerst de bibliotheek van deze sensor aan de Arduino bibliotheek worden toegevoegd. Toevoegen gaat als volgt:  -> IDE menu  -> Schets -> Bibliotheek gebruiken -> Bibliotheek beheren -> DHT22 in zoekvenster schrijven en nu laten zoeken -> DHT sensor library  by ADAfruit kiezen -> installeren (indien melding: Adafruit Unified Sensor -> Install all)

Nu kunnen we in ons Arduino programma de DHT22 sensor gebruiken.

In het programma maken we ook kennis met variabelen van het type ‘float’.  Dit zijn getallen met een komma; bijvoorbeeld 23,4. Dit is nodig omdat we de temperatuur en de luchtvochtigheid heel precies willen meten.

De code

// sketch weerstation 1a.
// meten van de relatieve luchtvochtigheid en temperatuur met een DHT22 sensor.
// de meetwaarden wordt naar de seriële monitor gestuurd.
#include <DHT.h>;                   // DHT sensor bibliotheek toevoegen
// DHT22 type van de sensor en pen 9 voor data
DHT sensor_dht(9, DHT22);                  // onze sensor heet nu: sensor_dht

float temperatuur, vochtigheid; // 2 variabelen om de meetwaarden op te slaan

void setup()
{
sensor_dht.begin(); // start de sensor om metingen te doen
Serial.begin(9600); // start de seriële monitor
}

void loop()
{
delay(2000); // wacht 2 seconden
//lees de sensor (temperatuur en de vochtigheid) uit en bewaar die in de variabelen
temperatuur = sensor_dht.readTemperature();
vochtigheid = sensor_dht.readHumidity();
// stuur de gemeten waarde naar de seriële monitor
Serial.print(“Luchtvochtigheid: “);
Serial.print(vochtigheid);
Serial.print(” %, Temperatuur: “);
Serial.print(temperatuur);
Serial.println(” Celsius”);
}