Arduino - DHT22 - LCD

We leren hoe u de Arduino programmeert om temperatuur en luchtvochtigheid te lezen van de DHT22 module en deze weer te geven op een LCD I2C.

Hardware benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×LCD I2C
1×DHT22 Temperatuur- en Luchtvochtigheidssensor Module
1×Jumper draden
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 DHT22 en LCD

Als u nog niet bekend bent met de DHT22 sensor en het LCD (pinout, werking, programmeren ...), leer er meer over in de volgende tutorials:

Bedradingsschema

Arduino DHT22 LCD Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Arduino Code - DHT22 Sensor - LCD I2C

/* * 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-lcd */ #include <LiquidCrystal_I2C.h> #include <DHT.h> #define DHT22_PIN 2 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht22(DHT22_PIN, DHT22); void setup() { dht22.begin(); // initialize the sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { delay(2000); // wait a few seconds between measurements float humi = dht22.readHumidity(); // read humidity float tempC = dht22.readTemperature(); // read temperature lcd.clear(); // check if any reads failed if (isnan(humi) || isnan(tempC)) { lcd.setCursor(0, 0); lcd.print("Failed"); } else { lcd.setCursor(0, 0); // start to print at the first row lcd.print("Temp: "); lcd.print(tempC); // print the temperature lcd.print((char)223); // print ° character lcd.print("C"); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Humi: "); lcd.print(humi); // print the humidity lcd.print("%"); } }

※ Notiz:

Het I2C-adres van het LCD kan variëren afhankelijk van de fabrikant. In de code gebruiken we 0x27, dat gespecificeerd is door de fabrikant DIYables

Snelle Stappen

  • Verbind de Arduino met de pc via USB-kabel
  • Open de Arduino IDE, selecteer het juiste board en de juiste poort
  • Ga naar het icoon Libraries in de linkerzijbalk van de Arduino IDE.
  • Zoek op “DHT” en vind de DHT sensor bibliotheek van Adafruit
  • Klik op de Installeren knop om de bibliotheek te installeren.
Arduino DHT sensor bibliotheek
  • U wordt gevraagd om ook andere bibliotheekafhankelijkheden te installeren
  • Klik op Alles installeren voor alle benodigde bibliotheken.
Arduino Adafruit Unified sensor bibliotheek
  • Zoek op “LiquidCrystal I2C” en vind de LiquidCrystal_I2C bibliotheek door Frank de Brabander
  • Klik op de Installeren knop om de LiquidCrystal_I2C bibliotheek te installeren.
Arduino LiquidCrystal I2C bibliotheek
  • Kopieer de bovenstaande code en open deze met Arduino IDE
  • Klik op de Upload knop in Arduino IDE om de code naar de Arduino te uploaden
  • Maak de omgeving rond de sensor warmer of kouder
  • Bekijk het resultaat op het LCD

Als het LCD niets weergeeft, bekijk dan Probleemoplossing bij LCD I2C

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.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u stap voor stap.

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