Arduino Nano - DHT11

Deze tutorial legt uit hoe u met de Arduino Nano de temperatuur en luchtvochtigheid kunt uitlezen van de DHT11 sensor. In detail leert u:

Wij raden aan:

Hardware benodigd

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB kabel
1×DHT11 Temperatuur- en Vochtigheidssensor
1×10 kΩ weerstand
1×Breadboard (experimenteerprint)
1×Jumper Draden (man-man)
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Breakout Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Stromsplitter voor Arduino Nano

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 DHT11 Temperatuur- en Vochtigheidssensor

Pinout van de DHT11 Temperatuur- en Vochtigheidssensor

De DHT11 die op de markt verkrijgbaar is, komt in twee uitvoeringen: sensor en module.

De DHT11 sensor heeft vier pinnen:

  • GND pin: moet verbonden worden met GND (0V)
  • VCC pin: moet verbonden worden met VCC (5V)
  • DATA pin: wordt gebruikt voor communicatie tussen de sensor en de Arduino Nano
  • NC pin: niet nodig, deze pin kan genegeerd worden
DHT11 temperatuur- en vochtigheidssensor pinout

De DHT11 module heeft drie pinnen:

  • GND pin (-): moet verbonden worden met GND (0V)
  • VCC pin (+): moet verbonden worden met VCC (5V)
  • OUT pin: wordt gebruikt voor communicatie tussen de sensor en de Arduino Nano

※ Notiz:

De pinindeling van een module kan per fabrikant verschillen. Het is essentieel altijd de labels op de module zelf te controleren voordat u hem gebruikt. Neem hier goed de tijd voor!

Bedradingsschema

Arduino Nano - DHT11 Sensor Bedrading

Een weerstand met een waarde tussen 5 kΩ en 10 kΩ is noodzakelijk om de datalijn hoog te houden, zodat communicatie mogelijk is tussen de sensor en de Arduino Nano.

Arduino Nano DHT11 Temperatuur- en vochtigheidssensor bedrading

This image is created using Fritzing. Click to enlarge image

Arduino Nano - DHT11 Module Bedrading

De DHT11 sensor module heeft een ingebouwde weerstand, waardoor extra bedrading of solderen niet nodig is. Dit bespaart ons tijd en moeite.

Arduino Nano DHT11 Temperatuur- en vochtigheidsmodule bedrading

This image is created using Fritzing. Click to enlarge image

Hoe Programmeert u voor de DHT11 Temperatuursensor

  • De eerste stap is het includen van de library:
#include "DHT.h"
  • Geef de Arduino Nano pin op die verbonden is met de DHT11 sensor.
#define DHT_PIN 3 // Arduino Nano pin verbonden met DHT11 sensor
  • Specificeer het type sensor: DHT11
#define DHT_TYPE DHT11
  • Maak een DHT object aan.
DHT dht11(DHT_PIN, DHT_TYPE);
  • Start het instelproces van de sensor:
dht11.begin();
  • Lees de vochtigheid uit.
float humi = dht11.readHumidity();
  • Lees de temperatuur in Celsius uit.
float temperature_C = dht11.readTemperature();
  • Lees de temperatuur in Fahrenheit uit.
float temperature_F = dht11.readTemperature(true);

Arduino Nano Code voor DHT11

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

Snelle Stappen

  • Verbind een USB-kabel met de Arduino Nano en de PC.
  • Open de Arduino IDE, selecteer het juiste board en de poort.
  • Klik op het Libraries icoon in de linkerzijbalk van de Arduino IDE.
  • Zoek op “DHT” en vind de DHT sensor library van Adafruit.
  • Druk op de Installeren knop om de library te installeren.
Arduino Nano DHT11 sensor library
  • U krijgt mogelijk een melding om andere benodigde libraries te installeren.
  • Klik op de Alles Installeren knop om ze allemaal te installeren.
Arduino Nano Adafruit Unified sensor library
  • Kopieer de code voor uw sensor en open deze in de Arduino IDE.
  • Klik op de Uploaden knop in de Arduino IDE om de code te compileren en te uploaden naar de Arduino Nano.
  • Verander de temperatuur in de omgeving van de sensor.
  • Controleer de resultaten in de Seriële Monitor.
COM6
Send
Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F 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.

Extra Kennis

Laten we de DHT11 en DHT22 sensoren vergelijken.

Het gemeenschappelijke tussen DHT11 en DHT22:

  • De pinouts zijn hetzelfde.
  • De bedrading naar een Arduino Nano is identiek.
  • Het programmeren met behulp van een library is vergelijkbaar, met slechts één code-regel die verschilt.

De verschillen tussen DHT11 en DHT22

DHT11 DHT22
Prijs zeer goedkoop laag geprijsd
Temperatuurbereik 0°C tot 50°C -40°C tot 80°C
Temperatuurnauwkeurigheid ± 2°C ± 0.5°C
Vochtigheidsbereik 20% tot 80% 0% tot 100%
Vochtigheidsnauwkeurigheid 5% ± 2 tot 5%
Meetfrequentie 1Hz (één meting per seconde) 0.5Hz (één meting per 2 seconden)
Afmetingen 15.5mm x 12mm x 5.5mm 15.1mm x 25mm x 7.7mm

Het is duidelijk dat de DHT22 nauwkeuriger is dan de DHT11, een groter meetbereik heeft, maar ook duurder is.

※ 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!