Arduino - DHT11 - LCD

We leren hoe we een Arduino programmeren om temperatuur en luchtvochtigheid uit te lezen van de DHT11 module en deze weer te geven op een LCD met I2C-interface.

Hardware Benodigd

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

Als u nog niet bekend bent met de DHT11 sensor en LCD (pinout, werking, programmeren…), bekijk dan de volgende tutorials:

Bedradingsschema

Arduino DHT11 LCD Bedradingsschema

This image is created using Fritzing. Click to enlarge image

Arduino Code - DHT11 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-dht11-lcd */ #include <LiquidCrystal_I2C.h> #include <DHT.h> #define DHT11_PIN 2 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht11(DHT11_PIN, DHT11); void setup() { dht11.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 = dht11.readHumidity(); // read humidity float tempC = dht11.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, zoals gespecificeerd door de fabrikant DIYables

Snelle Stappen

  • Verbind de Arduino met de PC via de USB-kabel
  • Open de Arduino IDE, selecteer de juiste board en poort
  • Navigeer naar het Libraries-icoon in de linkerbalk van de Arduino IDE.
  • Zoek op “DHT” en vind de DHT sensor library van Adafruit
  • Klik op de Install-knop om deze library te installeren.
Arduino DHT sensor library
  • U wordt gevraagd om ook andere bibliotheek-afhankelijkheden te installeren
  • Klik op de Install All-knop om alle afhankelijkheden te installeren.
Arduino Adafruit Unified sensor library
  • Zoek op “LiquidCrystal I2C” en vind de LiquidCrystal_I2C library van Frank de Brabander
  • Klik op de Install-knop om de LiquidCrystal_I2C library te installeren.
Arduino LiquidCrystal I2C library
  • Kopieer de bovenstaande code en open deze in de Arduino IDE
  • Klik op de Upload-knop in de 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
Arduino DHT11 LCD Bedrading

This image is created using Fritzing. Click to enlarge image

Als het LCD niets weergeeft, zie dan Probleemoplossing voor 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 laat stap voor stap zien hoe u het hele proces uitvoert.

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