- Matériaux nécessaires
- Capteur de pluie
- Fonctionnement du capteur de pluie
- Schéma
- Explication du code
- Fonctionnement du système de détection de pluie basé sur Arduino
Un système de détection de pluie simple peut être facilement construit en interfaçant un Arduino avec un capteur de pluie. Le capteur détectera toute pluie tombant dessus et la carte Arduino la détectera et pourra effectuer les actions requises. Un tel système peut être utilisé dans de nombreux domaines différents, tels que l'agriculture et l'automobile. La détection des précipitations peut être utilisée pour réguler automatiquement le processus d'irrigation. Aussi, des données de précipitations continuespeut aider les agriculteurs à utiliser ce système intelligent pour arroser automatiquement la culture uniquement lorsque cela est absolument nécessaire. De même, dans le secteur automobile, les essuie-glaces peuvent être rendus entièrement automatiques en utilisant le système de détection de pluie. Et les systèmes domotiques peuvent également utiliser la détection de pluie pour fermer automatiquement les fenêtres et ajuster la température ambiante. Dans ce tutoriel, nous allons construire un capteur de pluie de base en utilisant Arduino avec un buzzer. Vous pouvez ensuite utiliser cette configuration pour créer tout ce que vous souhaitez en plus. En outre, notez que le module de capteur de pluie est également appelé capteur de goutte d' eau ou capteur de pluviomètre ou capteur d'eau de pluie en fonction de l'utilisation, mais ils se réfèrent tous au même capteur utilisé dans ce projet et ils travaillent tous sur le même principe.
Nous avons également construit une simple alarme de pluie et un essuie-glace automatique de voiture en utilisant uniquement la minuterie 555, vous voudrez peut-être vérifier cela également si vous ne souhaitez pas utiliser un Arduino. Cela étant dit, revenons à ce projet et commençons à construire notre pluviomètre Arduino.
Matériaux nécessaires
- Arduino UNO
- Capteur de pluie
- Avertisseur sonore
- Planche à pain
- Fils de connexion
Capteur de pluie
Le module Raindrops se compose de deux cartes, à savoir Rain Board et Control Board.
Le bord de pluie module se compose de deux pistes de cuivre, conçus de manière à ce que dans les conditions sèches ils offrent une résistance élevée à la tension d'alimentation, et cette tension de sortie de ce module sera 5V. La résistance de ce module diminue progressivement par rapport à une augmentation de l'humidité sur la planche. Lorsque la résistance diminue, sa tension de sortie diminue également par rapport à l'humidité sur le module. Le module de la carte de pluie se compose de deux broches utilisées pour se connecter à la carte de commande, comme illustré ci-dessous.
Le module Control Board contrôle la sensibilité et convertit la sortie analogique en sortie numérique. Si la valeur analogique est inférieure à la valeur de seuil de la carte de commande, la sortie est numérique bas, et si la valeur analogique est supérieure à la valeur seuil, la sortie est numérique haute. Pour cette comparaison et cette conversion, un comparateur LM393 OP-Amp est utilisé. Un comparateur Op-Amp est un circuit intéressant qui peut être utilisé pour comparer deux valeurs de tension différentes, nous l'avons déjà utilisé dans ce circuit dans de nombreux projets tels que la bougie électronique intelligente, l'alarme de sécurité laser, le robot suiveur de ligne et bien plus encore.
Le module de contrôle de pluie qui est illustré ci-dessous se compose de 4 broches pour connecter l'Arduino à savoir VCC, GND, D0, A0 et deux autres broches pour connecter le module de carte de pluie. En résumé, le module de carte de pluie détecte l'eau de pluie et le module de carte de commande est utilisé pour contrôler la sensibilité et comparer et convertir les valeurs analogiques en valeurs numériques.
Fonctionnement du capteur de pluie
Le fonctionnement du module du capteur de pluie est simple à comprendre. Lors d'une journée ensoleillée, en raison de la sécheresse du module pluie, il offre une résistance élevée à la tension d'alimentation. Cette tension apparaît sur la broche de sortie du module de carte de pluie comme 5V. Ce 5V est lu comme 1023 s'il est lu par une broche analogique de l'Arduino. Pendant la pluie, l'eau de pluie provoque une augmentation de l'humidité sur le panneau de pluie, ce qui entraîne à son tour une diminution de la résistance offerte pour l'alimentation. Lorsque la résistance diminue progressivement, la tension de sortie commence à diminuer.
Lorsque le panneau de pluie est complètement mouillé et que la résistance offerte par celui-ci est minimale, la tension de sortie sera aussi basse que possible (environ 0). Ce 0V est lu comme une valeur 0 s'il est lu par une broche analogique de l'Arduino. Si le module de panneau de pluie est partiellement humide, la sortie de ce module de panneau de pluie sera par rapport à la résistance qu'il offre. Si la résistance offerte par le module rainboard est telle que la sortie est de 3 V, la valeur analogique lue sera de 613. La formule pour trouver ADC peut être donnée par ADC = (valeur de tension analogique X 1023) / 5. En utilisant cette formule, vous pouvez convertir n'importe quelle tension analogique en t valeur de lecture analogique Arduino.
Schéma
Le schéma de circuit ci-dessous vous montre les connexions du circuit pour le capteur de pluie avec Arduino. La conception est faite à l'aide de proteus, les modules physiques sont similaires aux modules qui sont représentés dans le schéma de circuit.
Le module pluviomètre, représenté sur le schéma de circuit, est connecté au tableau de commande. La broche VCC de la carte de commande est connectée à l'alimentation 5V. La broche de terre est connectée à la terre. Si nécessaire, la broche D0 est connectée à n'importe quelle broche numérique de l'Arduino, et cette broche doit être déclarée comme broche de sortie dans le programme. Le problème auquel nous sommes confrontés avec la broche D0 est que nous ne pouvons pas obtenir la valeur exacte de la tension de sortie. Si la sortie dépasse la tension de seuil, le module de commande peut détecter le changement de la sortie. Nous devons faire fonctionner le buzzer, même s'il y a un changement considérable de la tension de sortie dans le module du panneau de pluie. Pour ces raisons, la broche A0 est connectée à la broche analogique d'Arduino, ce qui facilite la surveillance du changement de sortie. Le buzzer, qui sert de signal à l'utilisateur,peut être connecté à n'importe quelle broche numérique de l'Arduino. Si le buzzer a besoin de plus de 5 V, essayez de connecter un circuit de relais ou un transistor, puis connectez la charge à celui-ci.
Explication du code
Le code Arduino pour le capteur de pluie a été écrit à l'aide de l'IDE Arduino. Le code complet de ce projet est donné en fin de page.
#define rain A0 #define buzzer 5 int value; ensemble int = 10;
Définir la broche A0 comme pluie et la broche 5 comme buzzer et déclarer les variables «valeur» et «set» comme des entiers et régler sa valeur de réglage de variable sur 10. Cette valeur peut être modifiée selon le niveau de fonctionnement requis. Si vous voulez que le buzzer s'active, même lorsqu'il y a peu de pluie, réglez-le sur une valeur minimale
void setup () {Serial.begin (9600); pinMode (buzzer, OUTPUT); pinMode (précipitations, INPUT); }
Initialisation de la communication série et réglage du buzzer. Réglage de la broche de pluie comme broche de sortie et broche d'entrée.
void loop () {value = analogRead (pluie); Serial.println (valeur); valeur = carte (valeur, 0,1023,225,0);
la fonction analogRead lit la valeur du capteur de pluie. La carte des fonctions mappe la valeur du capteur de pluie à partir de la broche de sortie et attribue une valeur à la variable, comprise entre 0 et 225.
if (valeur> = set) {Serial.println ("pluie détectée"); digitalWrite (buzzer, HIGH);
Si la valeur du capteur lu est supérieure à la valeur définie, le programme entre dans la boucle, imprime le message sur le moniteur série et active le buzzer
else {digitalWrite (buzzer, LOW);
Le programme entre dans la fonction else uniquement lorsque la valeur est inférieure à la valeur définie. Cette fonction désactivera le buzzer lorsque la valeur de consigne est supérieure à la valeur du capteur, ce qui indique qu'il n'y a pas de pluie.
Fonctionnement du système de détection de pluie basé sur Arduino
Ce système fonctionne de telle manière qu'en cas de pluie, l'eau de pluie agit comme un déclencheur, qui active le buzzer. Dans le code Arduino du capteur de gouttes de pluie, nous avons défini que les broches 5 et A0 sont des buzzers et des précipitations. En faisant cela, nous pouvons changer les broches dans la partie définie de la fonction, et la partie restante du code sera intacte. Cela permettra au programmeur de modifier facilement les broches.
Dans la boucle vide, la commande analogRead lit la valeur du capteur. Dans la ligne suivante, la commande Serial.println (valeur), imprime la valeur sur le moniteur série. Cela sera utile lors du débogage. La fonction de carte mappe la valeur entrante entre 0 et 225. Le format de la fonction pour la carte est une carte (valeur, valeur minimale, valeur maximale, valeur à mapper pour la valeur minimale, valeur à mapper pour la valeur maximale). Le buzzer sera activé ou désactivé, en fonction de la valeur réglée et de la sortie du capteur. Cette valeur est comparée dans la fonction if, à la valeur définie. Si la valeur est supérieure à la valeur réglée, il activera le buzzer. Si la valeur est inférieure à la valeur définie, le buzzer sera désactivé.
Le travail complet peut être trouvé dans la vidéo ci-dessous. C'est une application parmi tant d'autres, le même principe sera vu dans les essuie-glaces, dans d'autres secteurs de la domotique, de l'agriculture, etc. J'espère que vous avez compris le projet et aimé construire quelque chose d'utile. Si vous avez des questions, utilisez la section des commentaires ci-dessous ou utilisez nos forums pour d'autres questions techniques.