Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Température d'humidité Arduino DTH22 avec écran LCD I2C 16x2

Composants et fournitures

Arduino UNO
× 1
Capteur de température DHT22
× 1
Module LCD 16×2 blanc sur bleu avec module sac à dos I2C – 5V
× 1
Planche à pain sans soudure pleine grandeur
× 1
Batterie 9V (générique)
× 1
Clip de batterie Adafruit 9V avec prise 5.5mm/2,1mm
× 1
Câble USB-A vers Mini-USB
× 1
Câbles de raccordement mâle/femelle
× 1
Câbles de raccordement mâle/mâle
× 1

À propos de ce projet

Pendant deux ans mon fils (7 ans) a eu le désir d'avoir un serpent de compagnie. Finalement, il a acheté un couple de serpents avec un terrarium. Pour garder les serpents dans un environnement confortable pour eux, nous devons surveiller la température et l'humidité.

Nous avons donc acheté un capteur d'humidité/température analogique et avons découvert qu'il n'était pas si facile de maintenir les deux à un bon niveau. Alors que je mourais d'envie de démarrer un projet avec mon Arduino Uno nouvellement acheté, il m'a semblé une bonne idée d'utiliser un capteur d'humidité / température et de laisser l'Arduino automatiser la température et l'humidité dans le terrarium. Pour cette raison, j'ai acheté un capteur d'humidité / température DTH22 et un écran LCD I2C 16x2 et j'ai essayé.

Ce tutoriel est la base de ce projet. Il n'y a aucune automatisation dans ce tutoriel. Juste l'utilisation du DTH22 et d'un écran LCD I2C.

J'ai vu un autre tutoriel à cet effet, mais celui-ci utilisait un écran LCD sans I2C. Si vous n'avez pas connecté l'I2C à votre écran LCD, veuillez consulter ce tutoriel de ThothLoki

Matériel requis

  • Tout Arduino 5V (dans ce cas Arduino Uno R3)
  • Capteur d'humidité/température DTH22
  • Écran LCD 16x2 avec I2C monté dessus
  • Planche à pain
  • 6 fils de liaison mâle/mâle
  • 4 cavaliers mâles/femelles

Bibliothèques nécessaires

  • Adafruit_Sensor
  • DHT
  • NewliquidCrystal

Avant de commencer

J'aime l'écran LCD 16x2 avec un I2C monté car il vous évite les problèmes de toutes les broches qui pourraient ou non avoir besoin d'être connectées à l'Arduino. Vous n'avez besoin que de 4 cavaliers et c'est tout.

L'écran a une adresse I2C pour accepter des commandes ou envoyer des messages. L'inconvénient est que vous devez déterminer quelle adresse il utilise avant de pouvoir continuer. Je ne vais pas entrer dans les détails ici, mais sur le forum Arduino, vous pouvez tout lire à ce sujet.

Dans mon cas, notre appareil utilise l'adresse 0x3F , si votre appareil utilise également cette adresse, vous avez de la chance, vous pouvez simplement copier notre code.

Connectez la planche à pain à l'Arduino

Le capteur DHT22 ainsi que le LCD 1602 I2C utilisent une alimentation 5V. Par conséquent, j'ai connecté la broche 5V de mon Arduino à la rangée rouge + de la planche à pain et la masse de mon Arduino au bleu - sur la planche à pain. Comme je veux garder les couleurs synchronisées, sur mon schéma, j'utiliserai des câbles rouges pour le 5V et des câbles bleus pour la masse. Dans la vraie vie, je n'ai pas utilisé le bleu pour le sol, mais le blanc... j'ai trop joué avec l'électronique automobile, je suppose.

J'utiliserai un câble jaune pour les données, un câble orange pour le SDA et un câble gris pour le SCL. La lettre deux sera sur l'I2C.

Ajout du capteur DHT22

Regardons le brochage. Le capteur DHT22 (comme le DHT11) a quatre broches. Je place le capteur DHT22 sur la planche à pain avec l'avant vers l'extérieur. De cette façon, la première broche (alimentation 5V) est à droite (voir les schémas).

J'utilise un petit câble de démarrage rouge pour connecter le VCC 5V à la rangée 5V (+) sur la planche à pain. Et un petit câble de démarrage bleu pour connecter la terre à la rangée de terre (-) sur la planche à pain. J'ai pris un long câble jaune pour connecter la deuxième broche, la broche de données, à l'Arduino. Comme il s'agit de données numériques, je l'ai connecté au port de données 4 de l'Arduino. Dans d'autres exemples, vous verrez probablement des personnes utiliser le port 7, les deux fonctionneront. J'ai utilisé le port 4 car je prévoyais d'utiliser plus de ports de données et je voulais enregistrer le port 7 au cas où. Vous le verrez également dans les schémas.

Ajout du LCD 16x2 I2C

Le LCD 16x2 I2C dispose également de 4 broches. En regardant l'image ci-dessous, de gauche à droite :

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

Connectez la première broche (gauche) à la rangée de terre (-) sur la planche à pain. Connectez la deuxième broche au rouge de la rangée 5V (+) de la planche à pain. J'utilise un Arduino Uno donc qui a les connexions I2C sur A4 (SDA) et A5 (SCL). J'ai donc connecté la troisième broche au connecteur A4 et la quatrième broche au connecteur A5 de l'Arduino.

Le code

N'oubliez pas que pour l'écran, vous pouvez avoir une adresse différente pour vous connecter. Mon I2C utilise l'adresse 0x3F (voir partie 'Avant de commencer') alors attention que mon code est configuré pour cette adresse.

N'oubliez pas les bibliothèques nécessaires (Adafruit_Sensor, DHT, NewliquidCrystal). Téléchargez ces bibliothèques, décompressez-les et placez-les dans le répertoire des bibliothèques de votre projet.

Ensuite, téléchargez le code sur votre Arduino et vérifiez l'humidité et la température de votre terrarium (ou armoire serveur, ou réfrigérateur ou simplement votre salon).

Code

  • hygroThermo.ino
hygroThermo.inoC/C++
/* Comment utiliser le capteur DHT-22 avec Arduino uno Capteur de température et d'humidité Plus d'informations :http://www.ardumotive.com/how-to-use-dht-22-sensor-en.html Dev :Michalis Vasilakis // Date :1/7/2015 // www.ardumotive.com *///Libraries#include #include  #include #include //Constants#define DHTPIN 4 // à quelle broche nous sommes connectés#define DHTTYPE DHT22 // DHT 22 (AM2302)DHT dht(DHTPIN, DHTTYPE); //// Initialiser le capteur DHT pour un Arduino 16mhz normal // TOUJOURS UTILISER CECI AVEC LCD I2C et Adresse 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#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 ; //Stocke la valeur d'humiditéfloat temp; //Stocke la valeur de températurevoid setup(){ Serial.begin(9600); dht.begin(); lcd.begin (16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIF); lcd.setBacklight(HIGH);}boucle vide(){ delay(2000); //Lire les données et les stocker dans les variables hum et temp hum =dht.readHumidity(); temp =dht.readTemperature(); //Imprimer les valeurs de température et d'humidité sur le moniteur série Serial.print("Humidity:"); Serial.print(hum); 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((char)223); lcd.print("C"); lcd.setCursor(0,1) ; lcd.print("Hum :"); lcd.print(hum); lcd.print(" %"); retard (2000); //Délai 2 sec.}

Schémas

Schéma Fritzing schema_UcHE1qRu2t.fzz

Processus de fabrication

  1. Communication Arduino I2C avec Raspi 2 WIOT
  2. Panneau LCD avec Arduino pour Flight Simulator
  3. Capturer les gouttes d'eau avec Arduino
  4. Enregistreur de données de température et d'humidité
  5. Jouer avec Nextion Display
  6. Afficher une image sur un écran LCD TFT avec Arduino UNO !
  7. Température, humidité et pression BME280 sur l'affichage Nextion
  8. Oscilloscope DIY 10Hz-50kHz sur écran LCD 128x64
  9. Réveil simple avec DS1302 RTC