Projet de capteur de température et d'humidité Arduino DHT11
January 7, 2025
Projet de capteur de température et d'humidité Arduino DHT11
La ligne de capteurs DHT (DHT11/22) est l'une des plus couramment utilisées dans de nombreux projets électroniques, allant des stations météorologiques domestiques aux systèmes d'automatisation d'usine,en raison de sa simplicité et de sa compacité comme capteur de température/humiditéBien que le plus précis et le plus cher DHT22 puisse être remplacé (avec quelques changements dans le code), le module de capteur DHT11 sera utilisé dans ce projet.le capteur DHT11 qui sera utilisé dans ce projet n'est pas la version autonome du capteur à 4 broches mais plutôt, un module à 3 broches qui a un condensateur et une résistance de traction intégrés, éliminant ainsi le besoin de composants supplémentaires lors de la construction de ce circuit.le module de capteur DHT11 peut être directement connecté à une broche numérique qui traite et alimente les données en série du capteur au microcontrôleur, pour que nous le lisons.
Dans cetteProjet de PCBA bricolage, les données de température et d'humidité du capteur DHT11 seront affichées sur un écran OLED (diode électroluminescente organique) de 128 × 64 pouces pour que nous puissions les lire de manière visible.Un avantage de l'utilisation d'un écran OLED i2c par rapport à d'autres types d'affichage est qu'il ne nécessite qu'une connexion à 4 fils à la carte Arduino et avec une grande variété de bibliothèquesUne caractéristique remarquable d'un écran OLED est sa clarté, sa netteté et la qualité visuelle des textes, des figures et des images qu'il peut afficher.
Dans l'ensemble, il s'agit d'un projet de circuit assez simple qui convient aux débutants absolus car il ne nécessite que quelques composants et quelques compétences de base en codage.,Ce projet peut certainement être amélioré et mis à niveau pour ajouter plus de fonctionnalités telles que la communication sans fil (RF, LoRa,Les circuits imprimés BluetoothPour réaliser ce projet, la Commission a mis en place une série de programmes de recherche et de développement (PIC) visant à améliorer l'efficacité de la technologie de l'information et de la communication.vous devrez acheter des composants:
Arduino Nano (les autres cartes compatibles avec Arduino fonctionneront)
Cable USB (compatible avec la carte Arduino)
Tableau à pain
Les fils de saut à l'élastique masculin (7)
0Affichage OLED i2c de.96′′ 128×64
Module de capteur DHT11
Le câblage
Pour ce projet, FS Technology utilise un Arduino Nano, ce qui nécessite l'utilisation d'un panneau.Cependant, si un Arduino Uno est utilisé à la place, les fils jumpers peuvent être directement branchés sur les broches de la carte, éliminant ainsi le besoin de la carte à pain.le câblage du module de capteur DHT11 et de l'écran OLED à la carte Arduino reste cohérentEn outre, le schéma de câblage du circuit de capteur de température et d'humidité DHT11 est fourni ci-dessous.
Module de capteur DHT11: connectez la broche de signal (S) du capteur à D2, la broche positive (+) à +5v et la broche négative (-) à GND.
OLED: connectez SDA (données série) à A4, SCL/SCK (horloge série) à A5, VDD/VCC (tension d'alimentation) à +5v et GND à GND.
Vous pouvez connecter votre carte Arduino à l'ordinateur via le câble USB.
DHTle(Le code de référence est le code DHTPIN, DHTTYPE);
n'est pas validemise en place(){
le.démarrer();
affichage.démarrer(Les données sont fournies par les autorités compétentes de l'État membre.3C);
affichage.Affichage clair();
}
n'est pas valideboucle(){
affichage.Affichage clair();
affichage.- Je ne sais pas.(1);
affichage.définirTextColor(SSD1306_BLANC);
affichage.- Je ne sais pas.(0,15);
affichage.imprimer(La température:);
affichage.- Je ne sais pas.(80,15);
affichage.imprimer(le.LectureTempérature(i);
affichage.- Je ne sais pas.(110,15);
affichage.imprimer(¢ C ¢);
affichage.- Je ne sais pas.(0,35);
affichage.imprimer(- L'humidité);
affichage.- Je ne sais pas.(80,35);
affichage.imprimer(le.L'humidité(i);
affichage.- Je ne sais pas.(110,35);
affichage.imprimer(%);
affichage.affichage();
retard(2000);
À propos du code.
L'un des avantages de travailler avec un écran OLED i2c est la quantité incroyable de support disponible en ligne, sous forme de bibliothèques open source,qui peut grandement aider à la programmation de l'affichage de l' Arduino IDEDans ce projet, the Adafruit SSD1306 and GFX libraries are the main two libraries that are utilized to interface the OLED display with the Arduino and since all the setup information is already configured in the library filesSi vous n'avez pas téléchargé et installé ces bibliothèques sur votre IDE, vous pouvez utiliser les commandes de base de l'appareil.vous pouvez rencontrer des erreurs de compilation donc s'il vous plaît assurez-vous que vous avez les dernières versions de bibliothèque installées dans l' Arduino IDE.
Le code commence par définir les bibliothèques nécessaires à la configuration de l'écran OLED: Wire, Adafruit SSD1306 et Adafruit GFX.
Dans le deuxième bloc, plusieurs paramètres relatifs à l'écran OLED sont définis, notamment la largeur et la hauteur de l'écran (128 x 64 pixels) et la broche de réinitialisation OLED (A4).
Ensuite, les bibliothèques requises pour que le capteur DHT11 interagisse avec l'Arduino sont définies, ce qui spécifie la bibliothèque DHT en particulier.La broche numérique à laquelle le capteur DHT est connecté sur la carte Arduino (broche numérique 2 D2) est également définie à côté du modèle particulier du capteur DHT que nous utilisons, le capteur DHT11.
Maintenant, la section de configuration vide est introduite, l'une des deux fonctions essentielles dans chaque code Arduino.début ((()) ainsi que l'affichage OLED et avant de passer à la section de boucle vide, l'affichage OLED est dégagé de tout visuel précédent (display.clearDisplay()).
En termes de section de boucle vide, la partie principale du code qui se répète continuellement (dans une boucle) tant qu'il y a de l'énergie à la carte Arduino,il se compose principalement de fonctions spécifiques aux OLED qui définissent d'abord la taille du texte, couleur de texte et curseur (où nous voulons que le texte soit imprimé sur l'OLED).qui est principalement l'information de température (en degrés Celsius) et d'humidité (%) qui est lue par le capteur DHT11En utilisant ces commandes simples qui ont été produites à partir des bibliothèques définies, nous sommes en mesure d'imprimer facilement n'importe quelle information sur l'écran.
Avec la fonction de retard à la toute fin du code, il est configuré pour mettre à jour l'écran OLED toutes les 2000 millisecondes avec les dernières données lues par le capteur.vous pouvez modifier ce calendrier en fonction de la fréquence à laquelle vous souhaitez recevoir des informations à jour directement du capteur.
Résumé
Avec une compréhension fondamentale de ce projet et des principes de base impliqués dans l'interface d'un capteur à un écran OLED,Il y a certainement une multitude de façons dont ce projet peut être mis à niveau et amélioré.Le plus souvent, une configuration comme celle-ci peut être intégrée dans un projet de station météo beaucoup plus grand en ajoutant éventuellement plus de capteurs, un écran plus grand, des capacités sans fil, un boîtier, etc.Comme le démontre ce projet, juste en vous familiarisant avec certaines des bibliothèques Arduino qui sont disponibles à utiliser, il devient alors relativement facile de coder votre propre station météo.Un projet futur peut impliquer la transmission sans fil de ces données météorologiques d'une carte de microcontrôleur à une autre afin de surveiller un environnement distant ou de contrôler centralement un système autonome.Néanmoins, des projets comme celui-ci sont excellents pour introduire l'électronique de loisir à un débutant absolu et peuvent très bien également être destinés à un plus expérimenté.Fabricant de PCBAqui voudraient peut-être explorer d'autres aspects de l'électronique.