- Composants requis pour le projet de système d'arrosage d'usine Arduino
- Explication du circuit:
- Explication de travail:
- Explication de la programmation:
Chaque fois que nous sortons de la ville pendant quelques jours, nous nous inquiétons toujours pour nos plantes car elles ont besoin d'eau régulièrement. Nous fabriquons donc ici un système d'irrigation automatique des plantes utilisant Arduino, qui fournit automatiquement de l'eau à vos plantes et vous tient au courant en envoyant un message sur votre téléphone portable.
Dans ce système d'arrosage pour plantes, le capteur d'humidité du sol vérifie le niveau d'humidité dans le sol et si le niveau d'humidité est bas, Arduino allume une pompe à eau pour fournir de l'eau à la plante. La pompe à eau s'arrête automatiquement lorsque le système trouve suffisamment d'humidité dans le sol. Chaque fois que le système allume ou éteint la pompe, un message est envoyé à l'utilisateur via le module GSM, mettant à jour l'état de la pompe à eau et l'humidité du sol. Ce système est très utile dans les fermes, les jardins, la maison, etc. Ce système est complètement automatisé et aucune intervention humaine n'est nécessaire.
Composants requis pour le projet de système d'arrosage d'usine Arduino
- Arduino Uno
- Module GSM
- Transistor BC547 (2)
- Fils de connexion
- LCD 16x2 (en option)
- Alimentation 12v 1A
- Relais 12v
- Pompe de refroidisseur d'eau
- Capteur d'humidité du sol
- Résistances (1k, 10k)
- Résistance variable (10k, 100k)
- Connecteur terminal
- Régulateur de tension IC LM317
Module GSM:
Ici, nous avons utilisé le module GSM TTL SIM800. Le SIM800 est un module GSM / GPRS quadri-bande complet qui peut être intégré facilement par le client ou l'amateur. Le module GSM SIM900 fournit une interface standard de l'industrie; le SIM800 offre des performances GSM / GPRS 850/900/1800 / 1900MHz pour la voix, les SMS et les données avec une faible consommation d'énergie. La conception de ce module GSM SIM800 est mince et compacte. Il est facilement disponible sur le marché ou en ligne sur eBay.
- Module GSM / GPRS quadri-bande de petite taille.
- GPRS activé
- Sortie TTL
En savoir plus sur le module GSM et les commandes AT ici. Consultez également nos différents projets utilisant GSM et Arduino pour bien comprendre leur interface.
Explication du circuit:
Dans ce système d'irrigation des plantes, nous avons utilisé une sonde de capteur d'humidité du sol faite maison pour détecter le niveau d'humidité du sol. Pour fabriquer la sonde, nous avons découpé et gravé une carte plaquée de cuivre selon l'image ci-dessous. Un côté de la sonde est directement connecté à Vcc et l'autre borne de sonde va à la base du transistor BC547. Un potentiomètre est connecté à la base du transistor pour régler la sensibilité du capteur.
Arduino est utilisé pour contrôler l'ensemble du processus de ce système d'arrosage automatique des plantes. La sortie du circuit du capteur de sol est directement connectée à la broche numérique D7 d'Arduino. Une LED est utilisée sur le circuit du capteur, l'état ON de cette LED indique la présence d'humidité dans le sol et l'état OFF indique l'absence d'humidité dans le sol.
Le module GSM est utilisé pour envoyer des SMS à l'utilisateur. Ici, nous avons utilisé le module GSM TTL SIM800, qui donne et prend directement la logique TTL (l'utilisateur peut utiliser n'importe quel module GSM). Un régulateur de tension LM317 est utilisé pour alimenter le module GSM SIM800. Le LM317 est très sensible à la tension nominale et il est recommandé de lire sa fiche technique avant utilisation. Sa tension de fonctionnement est de 3,8 V à 4,2 V (veuillez préférer 3,8 V pour le faire fonctionner). Vous trouverez ci-dessous le schéma de circuit d'alimentation fourni au module GSM TTL sim800:
Si l'utilisateur souhaite utiliser le module SIM900 TTL, il doit utiliser 5V et si l'utilisateur souhaite utiliser le module SIM900, appliquez 12v dans la fente DC Jack de la carte.
Un relais 12V est utilisé pour contrôler la petite pompe à eau 220VAC. Le relais est piloté par un transistor BC547 qui est en outre connecté à la broche numérique 11 d'Arduino.
Un écran LCD en option est également utilisé pour afficher l'état et les messages. Les broches de contrôle de l'écran LCD, RS et EN sont connectées aux broches 14 et 15 d'Arduino et les broches de données de l'écran LCD D4-D7 sont directement connectées aux broches 16, 17, 18 et 19 d'Arduino. L'écran LCD est utilisé en mode 4 bits et piloté par la bibliothèque LCD intégrée d'Arduino.
Voici le schéma de circuit de ce système d'irrigation avec arduino et capteur d'humidité du sol:
Explication de travail:
Le fonctionnement de ce système d'irrigation automatique des plantes est assez simple. Tout d'abord, il s'agit d'un système entièrement automatisé et il n'y a pas besoin de main-d'œuvre pour contrôler le système. Arduino est utilisé pour contrôler l'ensemble du processus et le module GSM est utilisé pour envoyer des messages d'alerte à l'utilisateur sur son téléphone portable.
Si de l'humidité est présente dans le sol, il y a conduction entre les deux sondes du capteur d'humidité du sol et en raison de cette conduction, le transistor Q2 reste à l'état déclenché / activé et la broche Arduino D7 reste faible. Lorsque Arduino lit le signal BAS à D7, il envoie un SMS à l'utilisateur indiquant que «l'humidité du sol est normale. Moteur arrêté »et la pompe à eau reste à l'état Off.
Maintenant, s'il n'y a pas d'humidité dans le sol, le transistor Q2 devient désactivé et la broche D7 devient élevée. Ensuite, Arduino lit la broche D7 et allume le moteur à eau et envoie également un message à l'utilisateur concernant «Faible humidité du sol détectée. Moteur allumé ». Le moteur s'éteint automatiquement lorsqu'il y a suffisamment d'humidité dans le sol. Vérifiez davantage la vidéo et le code de démonstration (donnés à la fin) pour mieux comprendre le processus de travail du projet.
Explication de la programmation:
Le code de ce programme est facilement compréhensible. Tout d'abord, nous avons inclus la bibliothèque SoftwareSerial pour rendre les broches 2 et 3 en tant que Rx & Tx et également LiquidCrystal pour LCD. Ensuite, nous avons défini certaines variables pour le moteur, le capteur d'humidité du sol, la LED, etc.
#comprendre
Ensuite, dans la fonction void setup () , la communication série est initialisée à 9600 bps et des directions sont données aux différentes broches. La fonction gsmInit est appelée pour initialiser le module GSM.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, sortie); pinMode (moteur, SORTIE); pinMode (capteur, INPUT_PULLUP); lcd.print ("Water Irrigaton"); lcd.setCursor (4,1); retard (2000); lcd.clear (); lcd.print ("Circuit Digest"); lcd.setCursor (0,1); lcd.print ("vous souhaite la bienvenue"); retard (2000); gsmInit ();
Ensuite, le capteur est lu dans la fonction de boucle vide () , et le moteur est allumé ou éteint en fonction de l'état du capteur et un SMS est également envoyé à l'utilisateur à l'aide de la fonction sendSMS . Vérifiez les différentes fonctions en code complet donné à la fin.
boucle vide () {lcd.setCursor (0,0); lcd.print ("Mode automatique"); if (digitalRead (sensor) == 1 && flag == 0) {delay (1000); if (digitalRead (capteur) == 1) {digitalWrite (led, HIGH); sendSMS ("Faible humidité du sol détectée. Moteur en marche"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Ici, la fonction gsmInit () est importante et les utilisateurs ont généralement du mal à la définir correctement. Il est utilisé pour initialiser le module GSM, où tout d'abord le module GSM est vérifié s'il est connecté ou non en envoyant la commande 'AT' au module GSM. Si la réponse OK est reçue, cela signifie qu'elle est prête. Le système continue de rechercher le module jusqu'à ce qu'il soit prêt ou jusqu'à ce que «OK» soit reçu. Ensuite, ECHO est désactivé en envoyant la commande ATE0, sinon le module GSM fera écho à toutes les commandes. Enfin, la disponibilité du réseau est vérifiée via le 'AT + CPIN?' commande, si la carte insérée est une carte SIM et que le code PIN est présent, il donne la réponse PRÊT. Ceci est également vérifié à plusieurs reprises jusqu'à ce que le réseau soit trouvé. Cela peut être clairement compris par la vidéo ci-dessous.
void gsmInit () {lcd.clear (); lcd.print ("Module de recherche.."); booléen at_flag = 1; while (at_flag) {Serial1.println ("AT"); while (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } retard (1000); }……………….
Ainsi, avec ce système d'irrigation automatique, vous n'avez pas à vous soucier de vos plantes lorsque vous êtes loin de chez vous. Il peut encore être amélioré pour être exploité et surveillé sur Internet.