Table des matières:

Système d'alerte de sol à faible humidité pour votre plante : 5 étapes
Système d'alerte de sol à faible humidité pour votre plante : 5 étapes

Vidéo: Système d'alerte de sol à faible humidité pour votre plante : 5 étapes

Vidéo: Système d'alerte de sol à faible humidité pour votre plante : 5 étapes
Vidéo: CAPTEUR DE CROISSANCE - contrôle & conseil POUR PLANTES - [PEARLTV.FR] 2024, Novembre
Anonim
Système d'alerte de sol à faible humidité pour votre plante
Système d'alerte de sol à faible humidité pour votre plante

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

Le développement de projets
Le développement de projets

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

Insertion du capteur d'humidité dans le circuit
Insertion du capteur d'humidité dans le circuit
Insertion du capteur d'humidité dans le circuit
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é

Comprendre les valeurs d'humidité
Comprendre les valeurs d'humidité
Comprendre les valeurs d'humidité
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é: