Table des matières:
- Fournitures
- Étape 1: Développement du projet
- Étape 2: Insertion du capteur d'humidité dans le circuit
- Étape 3: Comprendre les valeurs d'humidité
- Étape 4: Programmation logique
- Étape 5: Remerciements
Vidéo: Système d'alerte de sol à faible humidité pour votre plante : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Dans plusieurs résidences, il est courant de trouver des pots avec différents types de plantes. Et avec le grand nombre d'activités quotidiennes, les gens oublient d'arroser leurs plantes et finissent par mourir de manque d'eau.
Afin d'éviter ce problème, nous avons décidé de créer un système pour informer lorsqu'une plante n'a pas d'eau. De cette façon, vous n'oublierez jamais d'irriguer votre plante et elle restera vivante longtemps. Ensuite, nous présenterons l'ensemble du développement de ce projet.
Fournitures
- PCBWay PCB personnalisé
- Capteur d'humidité du sol analogique pour Arduino
- Arduino UNO
- Cavaliers (génériques)
- LCD standard - 16 x 2 Bleu
- UTSOURCE Potentiomètre Rotatif 10k
Étape 1: Développement du projet
L'un des moyens que nous utilisons pour détecter la quantité d'eau dans la plante est le paramètre d'humidité. Ainsi, moins il y a d'eau dans le pot de notre plante, plus l'humidité du sol est faible.
Par conséquent, nous devons utiliser un capteur d'humidité pour analyser l'état d'humidité dans notre usine.
Grâce à cela, nous avons mis en place un circuit monté dans la maquette avec Arduino, pour effectuer la surveillance et l'indication de la faible humidité du pot de cactus. Ainsi, au moyen de l'écran LCD pour informer notre utilisateur de l'humidité, comme le montre la figure 1.
Étape 2: Insertion du capteur d'humidité dans le circuit
A partir du circuit ci-dessus, nous insérons la sonde de mesure d'humidité dans l'installation que nous souhaitons surveiller. Dans notre projet, nous insérons une sonde dans un petit cactus, comme le montre la figure 2.
Maintenant, nous verrons comment projeter le travail étape par étape et par la suite, apprendrons à créer le code de contrôle. Initialement, lorsque nous ne connectons pas le capteur à l'intérieur du pot, l'appareil a une faible teneur en humidité de 2% à l'extérieur le pot de cactus. Ceci est visible sur la figure 3.
Étape 3: Comprendre les valeurs d'humidité
Cette faible valeur en pourcentage représente une faible humidité. Maintenant, après avoir inséré le capteur dans le sol du pot de cactus, une valeur de 36% sera affichée, comme le montre la figure 4. C'est-à-dire que notre humidité est faible et le système affiche le message Low Moisture car la valeur est inférieure que 60%.
L'étape suivante consiste à irriguer le sol du pichet de notre cactus et nous pouvons vérifier l'augmentation de la valeur de l'humidité à 69%.
Après avoir compris le fonctionnement du projet, nous présenterons toute la logique de construction pour créer ce système de surveillance. Commençons !
Étape 4: Programmation logique
Ci-après, la logique de programmation sera présentée à travers le code construit.
Initialement, a été déclarée la bibliothèque de Display LCD, variables et a été créé un objet LCD avec ses broches de connexion avec Arduino UNO.
#comprendre
#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; octet UmidityPercent = 0, humidité = 0, PreviousValue = 0; int ValUmidade = 0, AnalogValue = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Après cela, la fonction de configuration et l'affichage LCD 16x2 ont été initialisés et la broche du capteur a été configurée comme entrée. Enfin, nous avons fait la première lecture de notre capteur et nous avons utilisé comme référence la variable PreviousValue, comme indiqué ci-dessous.
{Serial.begin(9600); lcd.begin (16, 2); pinMode(capteur, INPUT); PreviousValue = analogRead(sensor); }
Avec les variables créées et les commandes de la fonction de configuration void, nous expliquerons toute la programmation logique dans la fonction de boucle.
//Le o valor do pino A0 do sensorAnalogValue = analogRead(sensor); //Mostra o valor da porta analogica no serial monitor Serial.print("Analog Port: "); Serial.println(AnalogValue); UmidityPercent = map(AnalogValue, 0, 1023, 0, 100); humidité = 100 - UmidityPercent;
Dans la fonction de boucle, la valeur analogique a été lue et la valeur a été cartographiée dans une plage de 0 et 100. Cette valeur représente un pourcentage d'humidité du sol. Lorsque l'humidité mondiale est élevée, la valeur s'approche de 0 et si l'humidité est faible, la valeur s'approche de 100.
Pour faciliter la représentation de la valeur et éviter que la lecture de l'utilisateur ne soit confuse, nous renversons cette logique et représentons que 0% sera une faible humidité et 100% une humidité élevée. Cela a été fait au moyen du calcul effectué après la cartographie.
humidité = 100 - UmidityPercent;
Après avoir lu, la valeur d'humidité doit être affichée sur l'écran LCD. L'étape suivante consiste à vérifier si la valeur d'humidité est différente de sa valeur plus 1 ou de sa valeur moins 1, selon la condition ci-dessous.
if((humidité > (PreviousValue)+1) || (humidité < (PreviousValue)- 1))
Cette condition est utilisée pour empêcher le système de présenter plusieurs fois la même valeur sur l'écran LCD. Mais, lorsque la condition est vraie, le système présentera la valeur sur l'écran LCD et vérifiera si la valeur est supérieure ou égale à 60% ou inférieure à 60%. Si la valeur était supérieure ou égale à 60%, le système présent le message Humidité élevée, sinon, présentez le message Humidité faible, comme illustré ci-dessous.
if((humidité > (PreviousValue)+1) || (humidité < (PreviousValue)- 1)) { lcd.setCursor(1, 0); lcd.print("Humidité: "); lcd.print(" "); lcd.setCursor(11, 0); lcd.print(humidité); lcd.print("%"); if(humidité = 60 && HighUmid == 0) { lcd.setCursor(2, 1); lcd.print(" "); lcd.setCursor(1, 1); lcd.print("Humidité élevée"); HighUmid = 1; LowUmid = 0; } Valeur Précédente = humidité; }
Enfin, le système stockera la valeur de la variable d'humidité dans la variable PreviousValue pour actualiser sa valeur. Chaque fois qu'une nouvelle valeur est présentée à l'écran, la variable Valeur Précédente est actualisée pour être utilisée dans d'autres cycles de traitement du code. Il s'agit donc d'un système simple utilisé pour surveiller l'humidité des plantes dans nos résidences et informer les utilisateurs sur le niveau d'humidité du sol.
Étape 5: Remerciements
Le Silícios Lab remercie PCBWay pour son soutien et sa collaboration. Et nous avons de nombreux avantages pour vous. Gagnez 10 PCB gratuits et beaucoup de pièces de haricots (En savoir plus) à échanger contre des produits sur le site Web de PCBWay.
En plus d'eux, le Silícios Lab remercie UTSOURCE pour son soutien, pour nous avoir offert des composants électroniques à faible coût de grande qualité et de bon service.
Conseillé:
Fabriquez votre propre capteur d'humidité du sol avec Arduino !!! : 10 étapes
Faites votre propre capteur d'humidité du sol avec Arduino !!! : À PROPOS !!! Dans cette instructable, nous allons interfacer un capteur d'humidité du sol FC-28 avec Arduino. Ce capteur mesure le contenu volumétrique de l'eau à l'intérieur du sol et nous donne le niveau d'humidité en sortie. Le capteur est équipé à la fois d'ana
Système d'irrigation goutte à goutte connecté à Internet et contrôlé par rétroaction d'humidité du sol (ESP32 et Blynk) : 5 étapes
Système d'irrigation goutte-à-goutte connecté à Internet et contrôlé par la rétroaction de l'humidité du sol (ESP32 et Blynk): Inquiétez-vous pour votre jardin ou vos plantes lorsque vous partez pour de longues vacances, Ou oubliez d'arroser votre plante tous les jours. Eh bien, voici la solution C'est un système d'irrigation goutte à goutte contrôlé par l'humidité du sol et globalement connecté contrôlé par ESP32 sur le logiciel avant i
Automatiser une serre avec LoRa ! (Partie 1) -- Capteurs (température, humidité, humidité du sol) : 5 étapes
Automatiser une serre avec LoRa ! (Partie 1) || Capteurs (température, humidité, humidité du sol) : dans ce projet, je vais vous montrer comment j'ai automatisé une serre. Cela signifie que je vais vous montrer comment j'ai construit la serre et comment j'ai câblé l'électronique d'alimentation et d'automatisation. Je vais également vous montrer comment programmer une carte Arduino qui utilise L
Système de surveillance et de contrôle de l'humidité du sol basé sur l'IoT à l'aide de NodeMCU : 6 étapes
Système de surveillance et de contrôle de l'humidité du sol basé sur l'IoT à l'aide de NodeMCU : dans ce didacticiel, nous allons mettre en œuvre un système de surveillance et de contrôle de l'humidité du sol basé sur l'IoT à l'aide du module WiFi ESP8266, c'est-à-dire NodeMCU. Composants requis pour ce projet : Module WiFi ESP8266 - Amazon (334/- Module relais INR – Amazon (130/- INR
Système LED RVB contrôlable pour votre maison ou votre bureau : 5 étapes (avec photos)
Système LED RGB contrôlable pour votre maison ou votre bureau : les lumières de votre maison ou de votre espace de travail sont-elles ennuyeuses ? Vous souhaitez ajouter un peu d'énergie ou d'éclairage d'ambiance à votre pièce ? Ce Instructable vous montre comment créer une matrice de LED RVB contrôlable pour une utilisation dans votre maison ou votre bureau. Votre LED rouge, verte, bleue d