Arduino UNO: DHT22 Temperatuur & Vochtigheid Sensor met 16x2 I2C LCD Display
Onderdelen en Benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino UNO | 1 |
| DHT22 Temperatuur/Vochtigheidssensor | 1 |
| 16x2 LCD Module met I2C Backpack (5V, wit op blauw) | 1 |
| Solderloos Breadboard (volledige grootte) | 1 |
| 9V batterij | 1 |
| 9V batterijclip met 5,5mm/2,1mm stekker | 1 |
| USB-A naar Mini-USB kabel | 1 |
| Male/Female jumper-draden | 1 set |
| Male/Male jumper-draden | 1 set |
Over dit Project
Mijn zoon (7) wilde al twee jaar een slang. Uiteindelijk kocht hij er twee met een terrarium. Om de slangen comfortabel te houden, moesten we temperatuur en vochtigheid monitoren.
Een analoog sensor bleek onbetrouwbaar. Met mijn nieuwe Arduino UNO leek automatisatie met een DHT22-sensor en I2C LCD-display een leuk project. Deze tutorial is de basis: alleen uitlezen en tonen, nog geen automatisering.
Ik zag een andere tutorial zonder I2C – als je geen I2C hebt, bekijk dan die tutorial.
Benodigde Hardware
- Elke 5V Arduino (hier Arduino Uno R3)
- DHT22 vochtigheid/temperatuursensor
- LCD 16x2 display met I2C backpack
- Breadboard
- 6 male/male jumper-draden
- 4 male/female jumper-draden
Nodige Bibliotheken
- Adafruit_Sensor
- DHT
- NewliquidCrystal
Voordat we Beginnen
Een I2C-display bespaart pinnen: je hebt slechts 4 draden nodig. Het display heeft een I2C-adres. In mijn geval is dat 0x3F. Als jouw display hetzelfde adres heeft, kun je de code direct gebruiken. Anders moet je het adres aanpassen (op het Arduino-forum vind je hoe je dit uitvindt).
Breadboard Aansluiten op Arduino
Zowel DHT22 als LCD 1602 I2C werken op 5V. Ik verbond de 5V-pin van de Arduino met de rode +-rij op het breadboard en GND met de blauwe --rij. Voor consistentie gebruik ik rode draden voor 5V en blauwe voor ground (in de praktijk gebruikte ik wit voor ground – te veel auto-elektronica ervaring).
- Geel: Data (DHT22)
- Oranje: SDA (I2C)
- Grijs: SCL (I2C)
DHT22 Sensor Toevoegen
De DHT22 heeft 4 pinnen. Ik plaats hem met de front naar buiten, dus pin 1 (VCC) rechts. Rode draad naar +-rij, blauwe naar --rij. Gele draad van pin 2 (data) naar Arduino digitale pin 4 (andere pinnen zoals 7 werken ook).
LCD 16x2 I2C Toevoegen
Van links naar rechts: GND, VCC (5V), SDA, SCL.
- Pin 1 (GND) → --rij breadboard
- Pin 2 (VCC) → +-rij breadboard
- Pin 3 (SDA) → Arduino A4
- Pin 4 (SCL) → Arduino A5
De Code
Let op: mijn I2C-adres is 0x3F. Pas dit aan indien nodig. Download de bibliotheken, pak uit en plaats in de libraries-map van je project. Upload de code en meet vochtigheid/temperatuur van je terrarium, serverkast, koelkast of woonkamer.
Complete Code (hygroThermo.ino)
/* DHT-22 sensor met Arduino Uno
Meer info: https://www.ardumotive.com/how-to-use-dht-22-sensor-en.html
Dev: Michalis Vasilakis // Datum: 1/7/2015 // www.ardumotive.com
*/
#include <DHT.h>
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
#define I2C_ADDR 0x3F
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin);
int chk;
float hum;
float temp;
void setup() {
Serial.begin(9600);
dht.begin();
lcd.begin(16, 2);
lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
lcd.setBacklight(HIGH);
}
void loop() {
delay(2000);
hum = dht.readHumidity();
temp = dht.readTemperature();
Serial.print("Vochtigheid: ");
Serial.print(hum);
Serial.print(" %, Temp: ");
Serial.print(temp);
Serial.println(" Celsius");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp);
lcd.print(" ");
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Vocht: ");
lcd.print(hum);
lcd.print(" %");
delay(2000);
}
Productieproces
- Naadloze Arduino‑Raspberry Pi 2 I2C-integratie voor IoT-sensorprojecten
- Arduino Nano Flight Simulator 2020 Bedieningspaneel – LCD & CDI Display
- Waterdruppels vastleggen met Arduino Nano – DIY High-Speed Fotografie
- Arduino temperatuur- en vochtigheidslogger met DHT11 en Ethernet Shield
- Interactief Nextion HMI-weerstation met Arduino Mega en sensoren
- Afbeeldingen Weergeven op een 1,17-inch TFT LCD met Arduino UNO
- BME280 Temperatuur, Vochtigheid & Druk Weergeven op Nextion Touchscreen
- Zelfbouw Arduino Nano Oscilloscoop (10 Hz – 50 kHz) met 128×64 LCD
- u-blox LEA‑6H GPS Module: Arduino & Python Integratie Handleiding
- Temperatuur en Vochtigheid met DHT11 op Blynk - Stap-voor-Stap Arduino Tutorial
- Bouw een betrouwbare wekker met DS1302 RTC en Arduino UNO