Table des matières:

Capteur de température et d'humidité Arduino : 7 étapes
Capteur de température et d'humidité Arduino : 7 étapes

Vidéo: Capteur de température et d'humidité Arduino : 7 étapes

Vidéo: Capteur de température et d'humidité Arduino : 7 étapes
Vidéo: DHT11 Temperature & Humidity sensor with Arduino - Tutorial 2024, Juillet
Anonim

Par ThundertronicsSuivez plus par l'auteur:

Convertisseur analogique-numérique (CAN) PIC16F877A
Convertisseur analogique-numérique (CAN) PIC16F877A
Convertisseur analogique-numérique (CAN) PIC16F877A
Convertisseur analogique-numérique (CAN) PIC16F877A
Interface LCD avec microcontrôleur PIC16F877A
Interface LCD avec microcontrôleur PIC16F877A
Interface LCD avec microcontrôleur PIC16F877A
Interface LCD avec microcontrôleur PIC16F877A
Alimentation de banc modulaire bricolage
Alimentation de banc modulaire bricolage
Alimentation de banc modulaire bricolage
Alimentation de banc modulaire bricolage

Dans ce tutoriel, je vais expliquer la fabrication d'un capteur de température et d'humidité à l'aide de la mini carte Arduino pro avec capteur DHT11 (ou DHT22).

Étape 1: Regardez la vidéo

Il est important de voir la vidéo avant de passer à l'étape suivante. La vidéo explique tout et montre comment c'est fait. Cependant, dans cet article, j'écrirai plus de données et de détails techniques.

www.youtube.com/watch?v=56LKl7Xd770

Étape 2: Pièces nécessaires

Les pièces nécessaires à ce projet sont:

1- Mini carte Arduino pro (ou n'importe quel Arduino).

2- Capteur de température et d'humidité DHT11 (ou DHT22).

3- Écran LCD 16x2.

4- Une enceinte de votre choix, de préférence la même que celle utilisée dans la vidéo.

5- Potentiomètre 10K.

6- Bornes à vis.

7- Résistances de valeurs différentes.

Batterie 8-9v.

tandis que les outils nécessaires sont:

1- perceuse à main comme une Dremil.

2- mèches différentes pour la perceuse, puisque nous utiliserons des mèches de lissage et des mèches de coupe.

3- des mains secourables.

plus, les outils électroniques habituels tels que le multimètre et ainsi de suite.

Étape 3: Conception schématique

Conception schématique
Conception schématique

Dans ce projet, j'ai choisi de lui faire un PCB au lieu de le câbler moi-même. J'ai donc utilisé l'outil en ligne EasyEDA pour le travail, ce qui a été une expérience agréable.

Voici la page du projet sur le site easyEDA:

L'explication du schéma est la suivante:

1- J'ai utilisé un adaptateur ICSP 6 broches pour programmer l'Arduino pro mini car il n'en est pas livré avec un à bord. c'est J2 au schéma.

2- R2 est de 100 Ohms et règle la luminosité de l'écran LCD. Fondamentalement, vous pouvez mettre plus de résistance que 100R si vous voulez que le rétroéclairage de l'écran LCD soit plus faible. Ou mieux encore, procurez-vous un potentiomètre pour agir comme une résistance série variable.

3- JP1 est juste un connecteur qui a une belle empreinte PCB. Je n'ai jamais mis de borne réelle mais j'ai plutôt soudé les fils. Fais comme tu veux.

4- U2 est les bornes de connexion de la batterie. Ici, je préfère un joli bornier à vis pour obtenir une connexion ferme. Vous pouvez souder les fils, mais assurez-vous de mettre suffisamment de soudure pour que la connexion soit suffisamment solide pour résister aux secousses.

5- LCD1 est le composant LCD d'easyEDA. Il a la connexion de base à Arduino pro mini. Assurez-vous que les broches ici sont identiques à celles du logiciel.

6- RV1 est un potentiomètre 10K pour régler le contraste LCD. Il ne doit être utilisé qu'une seule fois et c'est lors de la première mise sous tension de l'écran LCD.

Étape 4: Conception de PCB

Conception de circuits imprimés
Conception de circuits imprimés
Conception de circuits imprimés
Conception de circuits imprimés

Après avoir terminé la conception schématique et compris ce que tout signifie, il est maintenant temps de créer un PCB pour cela.

Vous devez appuyer sur "Convertir en PCB" dans EasyEDA pour créer le PCB dans l'éditeur de PCB. Ensuite, commencez à placer les pièces et à effectuer le routage comme d'habitude. Je suggère de ne jamais utiliser le routeur automatique.

J'ai utilisé beaucoup de vias pour passer de la couche supérieure à la couche inférieure car l'espace est si petit.

Étape 5: Fabriquer le PCB

Maintenant, la conception du PCB est terminée. Nous avons tout vérifié et aucun problème n'a été trouvé. Nous devons envoyer les fichiers de conception (les gerbers) à l'entreprise de fabrication de PCB de notre choix afin qu'elle puisse le faire pour nous.

Mon entreprise de prédilection est JLCPCB. Ils sont les meilleurs pour de tels projets et prototypages et ils n'offrent que 2 $ de prix pour 10 pièces entières de votre conception !

Alors, maintenant, nous cliquons (….) et choisissons JLCPCB. Nous sommes dirigés vers le site Web de JLCPCB car ils sont partenaires d'EasyEDA. Maintenant, remplissez tout et passez la commande. Attendez maintenant que les PCB arrivent.

Il convient de mentionner que JLCPCB est non seulement associé à EasyEDA, mais également à un grand magasin de composants ! L'avantage ici est que la commande de circuits imprimés et la commande de composants soient expédiées ensemble ! Oui, pas besoin d'attendre que 2 colis arrivent séparément, mais au lieu de cela, ils sont combinés en un seul colis. Je recommande fortement d'utiliser ceci.

Étape 6: Assemblage

Nous avons les PCB seuls avec tout maintenant. Il est temps de tout assembler.

Tout d'abord, nous devons souder l'électronique selon le schéma. C'est une tâche facile pour ce projet.

Après avoir terminé la soudure, découpez maintenant les trous nécessaires dans le boîtier en plastique, puis fixez le PCB avec les autres composants bien à l'intérieur à l'aide d'un pistolet à colle chaude.

Vous devez maintenant utiliser le potentiomètre pour régler le contraste de l'écran LCD, tout en choisissant la valve de résistance requise pour la luminosité, j'ai choisi 100R.

Étape 7: Coder

Le code de ce projet est joint à cette étape et l'explication est la suivante:

// inclure le code de la bibliothèque: #include #include "DHT.h" // définir la broche DHT #define DHTPIN 2

Incluez les bibliothèques nécessaires et définissez la broche 2 d'Arduino pro mini comme broche de données pour le capteur. Assurez-vous d'installer ces bibliothèques si vous ne les avez pas.

// initialise la bibliothèque avec les numéros des broches de l'interface LiquidCrystal lcd(9, 8, 7, 6, 5, 4); #définir DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE);

Initialisez maintenant la bibliothèque LCD avec ces broches selon le schéma lui-même. Utilisez également la bibliothèque DHT et choisissez DHT11 comme capteur à utiliser, donc si vous avez DHT22, vous devez le changer.

La dernière ligne indique que nous avons un capteur DHT11 et que sa broche de données est à la broche "DHTPIN" qui est la broche 2 telle que nous l'avons définie précédemment.

void setup() { // configure le nombre de colonnes et de lignes de l'écran LCD: lcd.begin(16, 2); dht.begin(); lcd.setCursor(0, 0); lcd.print("Température et"); lcd.setCursor(0, 1); lcd.print("capteur d'humidité"); retard(3000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("THUNDERTRONICS"); lcd.setCursor(0, 1); lcd.print("Hossam Moghrabi"); retard(3000); }

C'est maintenant l'heure de l'installation ! et voici ce qui se passe:

L'écran LCD est de type 16 par 2.

Lancez la commande DHT pour obtenir les valeurs.

Imprimez "Capteur de température et d'humidité" sur les 2 lignes.

Délai 3 secondes.

Affichage clair

Imprimez "THUNDERTRONICS" à la première ligne puis "Hossam Moghrabi" à la 2ème ligne.

Délai 3 secondes.

^ J'ai fait cela comme un écran de bienvenue qui dure environ 6 secondes avant que les valeurs ne soient affichées.

void loop() { // lit l'humidité int h = dht.readHumidity(); //lire la température en c int t = dht.readTemperature(); if (isnan(h) || isnan(t)) { lcd.print("ERREUR"); revenir; }

Nous sommes maintenant à l'intérieur de notre boucle éternelle qui ne cessera de se répéter.

Stockez les lectures d'humidité dans la variable "h" et les lectures de température dans la variable "t".

Ensuite, nous avons une instruction if. Cela renvoie essentiellement un message d'erreur lorsqu'il y a une erreur. Laissez-le sans le changer.

Maintenant, nous avons toutes les valeurs dont nous avons besoin.

lcd.setCursor(0, 0); lcd.print("Temp. = "); lcd.print(t); lcd.print(" "); lcd.print((char)223); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("Humidité = "); lcd.print(h); lcd.print (" % "); // lcd.print("Hossam Moghrabi"); retard (2000);

Enfin, nous affichons ces valeurs sur un écran LCD. Vous pouvez le modifier comme vous le souhaitez car il imprime simplement des valeurs à l'intérieur des variables "h" et "t". Mettre un délai de 2 secondes est un peu facultatif, mais vous ne gagnerez pas beaucoup à le faire plus rapidement car le capteur lui-même n'est pas si rapide et même s'il l'est, les valeurs physiques ne changent jamais aussi vite. Donc 2 secondes c'est très très rapide pour le boulot !

C'est ça!

Conseillé: