Arduino - DHT22

In deze tutorial leert u:

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×DHT22 Temperatuur en Luchtvochtigheid Sensor Module
1×10 kΩ weerstand
1×Breadboard (experimenteerprint)
1×Jumper wires (verbindingsdraden)
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over de DHT22 Temperatuur- en Luchtvochtigheidssensor

DHT22
Temperatuurbereik -40°C tot 80°C
Temperatuur nauwkeurigheid ± 0,5°C
Luchtvochtigheidsbereik 0% tot 100%
Luchtvochtigheidsnauwkeurigheid ± 2 tot 5%
Meetfrequentie 0,5Hz (1x per 2 seconden)
Bedrijfsspanning 3 tot 5V

Pinout

De DHT22 heeft twee vormen: sensor en module.

DHT22 temperatuur- en luchtvochtigheidssensor pinout

De DHT22 sensor heeft vier pinnen:

  • GND pin: moet verbonden worden met GND (0V)
  • VCC pin: moet verbonden worden met VCC (5V of 3,3V)
  • DATA pin: deze pin wordt gebruikt voor communicatie tussen sensor en Arduino
  • NC pin: niet verbonden, deze pin kunt u negeren

De DHT22 module heeft drie pinnen:

  • GND pin: moet verbonden worden met GND (0V)
  • VCC pin: moet verbonden worden met VCC (5V of 3,3V)
  • DATA pin: deze pin wordt gebruikt voor communicatie tussen sensor en Arduino

Sommige fabrikanten leveren de DHT22 sensor in een modulevorm met drie pinnen: GND, VCC en DATA (of afwisselend: -, +, en OUT pinnen).

Bedradingsschema

In de sensorvorm is een weerstand van 5K tot 10K Ohm noodzakelijk om de datalijn hoog te houden en communicatie tussen de DHT22 sensor en Arduino mogelijk te maken.

Arduino - DHT22 Sensor Bedrading

Arduino DHT22 temperatuur- en luchtvochtigheidssensor bedrading

This image is created using Fritzing. Click to enlarge image

Arduino - DHT22 Module Bedrading

De meeste DHT22 sensormodules hebben een ingebouwde weerstand, dus die hoeft u niet zelf toe te voegen. Dit bespaart u wat bedrading of soldeerwerk.

Arduino DHT22 temperatuur- en luchtvochtigheid module bedrading

This image is created using Fritzing. Click to enlarge image

Hoe Programmeert u de DHT22 Temperatuursensor

De programmering voor beide sensoren is vergelijkbaar. Er is slechts één regel code die verschilt.

  • Voeg de bibliotheek toe:
#include "DHT.h"
  • Definieer de Arduino pin verbonden met de DHT sensor:
#define DHT22_PIN 2
  • Declareer het DHT22 object
DHT dht22(DHT22_PIN, DHT22);
  • Initialiseer de sensor:
dht22.begin();
  • Lees de luchtvochtigheid uit:
float humi = dht22.readHumidity();
  • Lees de temperatuur in Celsius uit:
float tempC = dht22.readTemperature();
  • Lees de temperatuur in Fahrenheit uit:
float tempF = dht22.readTemperature(true);

Arduino Code - DHT22

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-dht22 */ #include "DHT.h" #define DHT22_PIN 2 DHT dht22(DHT22_PIN, DHT22); void setup() { Serial.begin(9600); dht22.begin(); // initialize the DHT22 sensor } void loop() { // wait a few seconds between measurements. delay(2000); // read humidity float humi = dht22.readHumidity(); // read temperature as Celsius float tempC = dht22.readTemperature(); // read temperature as Fahrenheit float tempF = dht22.readTemperature(true); // check if any reads failed if (isnan(humi) || isnan(tempC) || isnan(tempF)) { Serial.println("Failed to read from DHT22 sensor!"); } else { Serial.print("DHT22# Humidity: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(tempC); Serial.print("°C ~ "); Serial.print(tempF); Serial.println("°F"); } }

Snel aan de slag

  • Verbind de Arduino met de pc via de USB-kabel
  • Open de Arduino IDE, selecteer het juiste board en de juiste poort
  • Klik in de linkerzijbalk van de Arduino IDE op het icoon Libraries
  • Zoek op “DHT” en vind de DHT sensor bibliotheek van Adafruit
  • Klik op de Installeren knop om de bibliotheek te installeren
Arduino DHT sensorbibliotheek
  • Er wordt gevraagd om enkele andere library afhankelijkheden te installeren
  • Klik op Alles installeren om alle afhankelijkheden te installeren
Arduino Adafruit Unified sensor library
  • Kopieer de hierboven vermelde code passend bij uw sensor en open deze in de Arduino IDE
  • Klik op de Upload knop in de Arduino IDE om de code naar uw Arduino te uploaden
  • Maak de omgeving rond de sensor warmer of kouder
  • Bekijk het resultaat in de Serial Monitor
COM6
Send
DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F DHT22# Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F DHT22# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!