Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino UNO: Temperatur & Luftfeuchte mit DHT22 & 16×2 I²C LCD

Komponenten und Materialien

Arduino UNO R3 1×
DHT22 Temperatursensor 1×
16×2 LCD mit I²C-Backpack (Weiß auf Blau, 5 V) 1×
Steckbrett (Full Size) 1×
9 V-Batterie + Clip mit 5,5/2,1 mm Stecker 1×
USB-A auf Mini-USB Kabel 1×
Jumper-Kabel (M/M, M/F) je 1×

Projektbeschreibung

Auslöser war ein Terrarium für Schlangen meines Sohnes. Temperatur und Luftfeuchte müssen konstant gehalten werden. Ein analoges Hygrometer/Thermometer war ungenau – also wurde ein Arduino-basiertes System mit DHT22 und I²C-LCD gebaut. Dieses Tutorial zeigt die Grundlagen ohne Automatisierung.

Benötigte Bibliotheken

Vor dem Start

Ein I²C-LCD spart Pins (nur 4 Kabel: VCC, GND, SDA, SCL). Die I²C-Adresse muss bekannt sein – hier 0x3F. Falls Ihr Display eine andere Adresse nutzt, im Code anpassen.

Aufbau auf dem Steckbrett

5 V und GND vom Arduino auf die Power-Rails des Breadboards legen. DHT22: VCC an 5 V, GND an GND, Data-Pin an Digitalpin 4. LCD I²C: GND, VCC, SDA an A4, SCL an A5 (Uno).

Code

Der Code nutzt Adresse 0x3F. Bibliotheken in den Libraries-Ordner legen, dann hochladen.

/* DHT22 mit I²C LCD 16x2
   Basierend auf Beispiel von Michalis Vasilakis (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);

float hum, 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 Monitor
  Serial.print("Luftfeuchte: ");
  Serial.print(hum);
  Serial.print(" %, Temp: ");
  Serial.print(temp);
  Serial.println(" °C");

  // LCD
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(temp);
  lcd.print(" ");
  lcd.print((char)223); // Grad-Zeichen
  lcd.print("C");

  lcd.setCursor(0, 1);
  lcd.print("Feuchte: ");
  lcd.print(hum);
  lcd.print(" %");

  delay(2000);
}

Schaltplan

Fritzing-Schema (schema_UcHE1qRu2t.fzz) und Schaltplan als Bild verfügbar.

Herstellungsprozess

  1. Nahtlose Arduino–Raspberry Pi 2 I2C-Integration für IoT-Sensorprojekte
  2. Arduino Nano Flight Simulator 2020 Kontrollpanel – LCD & CDI Display
  3. Wassertropfen-Hochgeschwindigkeitsfotografie mit Arduino Nano – DIY Setup
  4. Arduino Temperatur- & Feuchtelogger mit DHT11 & Ethernet Shield
  5. Interaktives Nextion HMI Projekt mit Arduino Mega und Sensoren
  6. Bilder auf 1,17-Zoll-TFT-LCD mit Arduino UNO anzeigen
  7. BME280 Temperatur, Luftfeuchte & Druck auf Nextion Touchscreen anzeigen
  8. DIY-Oszilloskop mit Arduino Nano (10 Hz–50 kHz) und 128×64-LCD
  9. u-blox LEA-6H 02 GPS-Modul: Arduino & Python Integrationsanleitung
  10. Zuverlässigen Wecker mit DS1302 RTC und Arduino UNO bauen