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

Arduino DTH22 Feuchtigkeitstemperatur mit LCD I2C 16x2 Display

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
DHT22-Temperatursensor
× 1
Weiß auf blauem 16×2-LCD-Modul mit I2C-Rucksackmodul – 5V
× 1
Lötfreies Steckbrett in voller Größe
× 1
9-V-Batterie (generisch)
× 1
Adafruit 9V Batterieclip mit 5,5mm/2,1mm Stecker
× 1
USB-A-auf-Mini-USB-Kabel
× 1
Überbrückungsdrähte männlich/weiblich
× 1
Überbrückungsdrähte männlich/männlich
× 1

Über dieses Projekt

Mein Sohn (7) hatte zwei Jahre lang den Wunsch, eine Haustierschlange zu haben. Schließlich kaufte er ein paar Schlangen mit einem Terrarium. Um die Schlangen in einer für sie angenehmen Umgebung zu halten, müssen wir die Temperatur und die Luftfeuchtigkeit überwachen.

Also kauften wir einen analogen Feuchte-/Temperatursensor und stellten fest, dass es gar nicht so einfach war, beides auf einem guten Niveau zu halten. Da ich unbedingt ein Projekt mit meinem neu gekauften Arduino Uno starten wollte, schien es eine gute Idee, einen Feuchtigkeits- / Temperatursensor zu verwenden und den Arduino die Temperatur und Feuchtigkeit im Terrarium automatisieren zu lassen. Dafür habe ich mir einen DTH22 Feuchte-/Temperatursensor und ein LCD I2C 16x2 Display gekauft und probiert.

Dieses Tutorial ist die Grundlage dieses Projekts. In diesem Tutorial gibt es keinerlei Automatisierung. Allein die Verwendung des DTH22 und eines LCD-I2C-Displays.

Ich habe zu diesem Zweck ein anderes Tutorial gesehen, aber dieses verwendete ein LCD ohne I2C. Wenn Sie das I2C nicht an Ihr LCD angeschlossen haben, schauen Sie sich bitte dieses Tutorial von ThothLoki an

Erforderliche Hardware

  • Jeder 5V Arduino (in diesem Fall Arduino Uno R3)
  • DTH22 Feuchtigkeits-/Temperatursensor
  • LCD-16x2-Display mit daran montiertem I2C
  • Breadboard
  • 6 Überbrückungsdrähte männlich/männlich
  • 4 Überbrückungskabel männlich/weiblich

Benötigte Bibliotheken

  • Adafruit_Sensor
  • DHT
  • NewliquidCrystal

Bevor wir beginnen

Ich mag das LCD 16x2 mit einem montierten I2C, weil es Ihnen die Mühe aller Pins erspart, die möglicherweise mit dem Arduino verbunden werden müssen oder nicht. Sie brauchen nur 4 Jumperdrähte und das wars.

Das Display verfügt über eine I2C-Adresse, um Befehle anzunehmen oder Nachrichten zu senden. Der Nachteil ist, dass Sie herausfinden müssen, welche Adresse verwendet wird, bevor Sie fortfahren können. Ich werde hier nicht auf die Details eingehen, aber im Arduino-Forum kann man alles darüber lesen.

In meinem Fall verwendet unser Gerät die 0x3F-Adresse , wenn Ihr Gerät auch diese Adresse verwendet, können Sie einfach unseren Code kopieren.

Verbinden Sie das Steckbrett mit dem Arduino

Sowohl der DHT22 Sensor als auch das LCD 1602 I2C verwenden eine 5V Stromversorgung. Daher habe ich den 5V-Pin meines Arduino mit der roten + Reihe auf dem Steckbrett und den Boden meines Arduino mit dem blauen - auf dem Steckbrett verbunden. Da ich die Farben synchron halten möchte, verwende ich in meinem Schema rote Kabel für 5V und blaue Kabel für Masse. Im wirklichen Leben habe ich nicht Blau für den Boden verwendet, sondern Weiß ... habe wohl zu viel mit der Autoelektronik gespielt.

Ich verwende ein gelbes Kabel für Data, ein oranges Kabel für SDA und ein graues Kabel für SCL. Der Buchstabe zwei wird auf dem I2C sein.

Hinzufügen des DHT22-Sensors

Werfen wir einen Blick auf die Pinbelegung. Der DHT22-Sensor (wie der DHT11) hat vier Pins. Ich platziere den DHT22-Sensor mit der Vorderseite nach außen auf dem Steckbrett. Auf diese Weise befindet sich der erste Pin (5V Power) auf der rechten Seite (siehe Schaltpläne).

Ich verwende ein kleines rotes Überbrückungskabel, um die 5V VCC mit der 5V (+) Reihe auf dem Steckbrett zu verbinden. Und ein kleines blaues Überbrückungskabel, um die Masse mit der Masse (-) Reihe auf dem Steckbrett zu verbinden. Ich nahm ein langes gelbes Kabel, um den zweiten Pin, den Datenpin, mit dem Arduino zu verbinden. Da es sich um digitale Daten handelt, habe ich diese an den Datenport 4 des Arduino angeschlossen. In anderen Beispielen werden Sie wahrscheinlich Leute sehen, die Port 7 verwenden, beide funktionieren. Ich habe Port 4 verwendet, weil ich davon ausgegangen bin, dass ich mehr Datenports verwenden werde und Port 7 für alle Fälle sparen wollte. Sie werden dies auch in den Schemas sehen.

Hinzufügen des LCD 16x2 I2C

Das LCD 16x2 I2C hat auch 4 Pins. Betrachten Sie das Bild unten, von links nach rechts:

  • Boden
  • VCC (5V)
  • SDA
  • SCL

Verbinden Sie den ersten (linken) Stift mit der Masse (-) Reihe auf dem Steckbrett. Verbinden Sie den zweiten Pin mit roter 5V (+) Reihe des Steckbretts. Ich verwende ein Arduino Uno, das die I2C-Anschlüsse auf A4 (SDA) und A5 (SCL) hat. Also habe ich den dritten Pin mit dem A4 und den vierten Pin mit dem A5-Anschluss des Arduino verbunden.

Der Code

Denken Sie daran, dass Sie auf dem Bildschirm eine andere Adresse haben können, mit der Sie eine Verbindung herstellen können. Mein I2C verwendet die Adresse 0x3F (siehe Abschnitt 'Bevor wir beginnen'), also beachten Sie, dass mein Code für diese Adresse eingerichtet ist.

Denken Sie an die benötigten Bibliotheken (Adafruit_Sensor, DHT, NewliquidCrystal). Laden Sie diese Bibliotheken herunter, entpacken Sie sie und legen Sie diese in das Bibliotheksverzeichnis Ihres Projekts.

Laden Sie dann den Code auf Ihren Arduino hoch und überprüfen Sie die Luftfeuchtigkeit und Temperatur Ihres Terrariums (oder Serverschranks oder Kühlschranks oder einfach nur Ihres Wohnzimmers).

Code

  • hygroThermo.ino
hygroThermo.inoC/C++
/* Verwendung des DHT-22-Sensors mit Arduino uno Temperatur- und Feuchtigkeitssensor Weitere Informationen:http://www.ardumotive.com/how-to-use-dht-22-sensor-en.html Entwickler:Michalis Vasilakis // Datum:07.01.2015 // www.ardumotive.com *///Libraries#include #include  #include #include //Konstanten#define DHTPIN 4 // mit welchem ​​Pin wir verbunden sind#define DHTTYPE DHT22 // DHT 22 (AM2302)DHT dht(DHTPIN, DHTTYPE); //// DHT-Sensor für normales 16-MHz-Arduino initialisieren // IMMER MIT LCD I2C und Adresse verwenden 0x3F#define I2C_ADDR 0x3F#define BACKLIGHT_PIN 3#define En_pin 2#define Rw_pin 1#define Rs_pin 0#define D4_pin 4 5 .define D5_ #define D6_pin 6#define D7_pin 7LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); //Variablesint chk;float hum; // Speichert den Feuchtigkeitswertfloat temp; // Speichert Temperaturwertvoid setup () { Serial.begin (9600); dht.begin(); lcd.begin(16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight (HIGH);}void loop () { delay (2000); // Daten lesen und in den Variablen hum und temp hum speichern =dht.readHumidity (); temp =dht.readTemperature(); // Temperatur- und Feuchtigkeitswerte auf seriellen Monitor ausgeben Serial.print ( "Feuchte:"); Serial.print (brummen); 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 ((Zeichen)223); lcd.print("C"); lcd.setCursor(0,1); lcd.print("Summen:"); lcd.print (brummen); lcd.print(" %"); Verzögerung (2000); //Verzögerung 2 Sek.}

Schaltpläne

Schema Fritzing schema_UcHE1qRu2t.fzz

Herstellungsprozess

  1. Arduino I2C-Kommunikation mit Raspi 2 WIOT
  2. LCD-Panel mit Arduino für Flugsimulator
  3. Einfangen der Wassertropfen mit Arduino
  4. Temperatur- und Feuchtigkeitsdatenlogger
  5. Mit Nextion Display spielen
  6. Anzeige eines Bildes auf einem LCD-TFT-Bildschirm mit Arduino UNO!
  7. BME280 Temperatur, Luftfeuchtigkeit und Druck auf dem Nextion-Display
  8. DIY 10Hz-50kHz Oszilloskop auf 128x64 LCD-Display
  9. u-blox LEA-6H 02 GPS-Modul mit Arduino und Python
  10. Einfacher Wecker mit DS1302 RTC