Arduino UNO R4 - DHT22 - OLED

In deze handleiding leren we hoe u de temperatuur en vochtigheid kunt controleren en weergeven met behulp van de DHT22 module op een OLED-scherm.

Arduino UNO R4 DHT22 temperature humidity sensor module OLED display

Over OLED display, DHT22 Temperatuur Vochtigheid Sensor

Leer over het OLED display en DHT22 temperatuur vochtigheidssensor, inclusief hun pinouts, hoe ze functioneren en programmeermethoden, in de onderstaande tutorials.

Bedradingsschema

Arduino UNO R4 DHT22 temperature humidity sensor module OLED Wiring Diagram

This image is created using Fritzing. Click to enlarge image

Zie De beste manier om Arduino Uno R4 en andere componenten van stroom te voorzien.

Arduino UNO R4 Code - DHT22 Sensor - OLED

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-dht22-temperature-humidity-sensor-oled */ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <DHT.h> #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define DHT22_PIN 2 // The Arduino UNO R4 pin connected to DHT22 sensor Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); // create SSD1306 display object connected to I2C DHT dht22(DHT22_PIN, DHT22); String temperature; String humidity; void setup() { Serial.begin(9600); // initialize OLED display with address 0x3C for 128x64 if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); while (true); } delay(2000); // wait for initializing oled.clearDisplay(); // clear display oled.setTextSize(3); // text size oled.setTextColor(WHITE); // text color oled.setCursor(0, 10); // position to display dht22.begin(); // initialize DHT22 the temperature and humidity sensor temperature.reserve(10); // to avoid fragmenting memory when using String humidity.reserve(10); // to avoid fragmenting memory when using String } void loop() { float humi = dht22.readHumidity(); // read humidity float tempC = dht22.readTemperature(); // read temperature // check if any reads failed if (isnan(humi) || isnan(tempC)) { temperature = "Failed"; humidity = "Failed"; } else { temperature = String(tempC, 1); // one decimal places temperature += char (247); // degree character temperature += "C"; humidity = String(humi, 1); // one decimal places humidity += "%"; Serial.print(tempC); // print to Serial Monitor Serial.print("°C | " ); // print to Serial Monitor Serial.print(humi); // print to Serial Monitor Serial.println("%"); // print to Serial Monitor } oledDisplayCenter(temperature, humidity); // display temperature and humidity on OLED } void oledDisplayCenter(String temperature, String humidity) { int16_t x1; int16_t y1; uint16_t width_T; uint16_t height_T; uint16_t width_H; uint16_t height_H; oled.getTextBounds(temperature, 0, 0, &x1, &y1, &width_T, &height_T); oled.getTextBounds(temperature, 0, 0, &x1, &y1, &width_H, &height_H); // display on horizontal and vertical center oled.clearDisplay(); // clear display oled.setCursor((SCREEN_WIDTH - width_T) / 2, SCREEN_HEIGHT/2 - height_T - 5); oled.println(temperature); // text to display oled.setCursor((SCREEN_WIDTH - width_H) / 2, SCREEN_HEIGHT/2 + 5); oled.println(humidity); // text to display oled.display(); }

Snelle Stappen

Volg deze instructies stap voor stap:

  • Als dit uw eerste keer is met de Arduino Uno R4 WiFi/Minima, raadpleeg dan de tutorial over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
  • Verbind het Arduino Uno R4 board met de DHT22 module en OLED display volgens het meegeleverde schema.
  • Verbind het Arduino Uno R4 board met uw computer via een USB-kabel.
  • Start de Arduino IDE op uw computer.
  • Selecteer het juiste Arduino Uno R4 board (bijv. Arduino Uno R4 WiFi) en COM-poort.
  • Ga naar het Libraries pictogram aan de linkerkant van de Arduino IDE.
  • Zoek naar "SSD1306" en zoek de SSD1306 bibliotheek van Adafruit.
  • Druk op de Install knop om de bibliotheek te installeren.
Arduino UNO R4 OLED library
  • U moet aanvullende bibliotheekafhankelijkheden installeren.
  • Klik op de Install All knop om alle vereiste bibliotheken te installeren.
Arduino UNO R4 Adafruit GFX sensor library
  • Zoek naar "DHT" en zoek naar de DHT sensor bibliotheek van Adafruit.
  • Klik op de Install knop om de bibliotheek te installeren.
Arduino UNO R4 DHT sensor library
  • U moet aanvullende bibliotheekafhankelijkheden installeren.
  • Klik op de Install All knop om alle bibliotheekafhankelijkheden te installeren.
Arduino UNO R4 Adafruit Unified sensor library
  • Kopieer de code en open deze in de Arduino IDE.
  • Druk op de Upload knop in de Arduino IDE om de code over te brengen naar uw Arduino UNO R4.
  • Plaats de sensor in warm en koud water, of houd deze in uw hand.
  • Controleer de resultaten op het OLED display en de Serial Monitor.

※ Notiz:

De code centreert de tekst automatisch horizontaal en verticaal op het OLED display.

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!