Quand partez-vous quelque part loin pendant une certaine période ? Il n'y a personne pour arroser vos fleurs d'intérieur, vous devez donc demander l'aide de vos voisins, qui, à leur tour, peuvent être négligents à ce sujet. Du coup, à votre arrivée, les plantes se sentiront mal. Pour éviter que cela ne se produise, vous pouvez créer un système d'irrigation automatique. Pour cela, nous avons besoin d'un Arduino et d'un capteur d'humidité du sol. Dans l'article, nous examinerons un exemple de connexion et de travail avec le capteur FC-28. Il a fait ses preuves du côté positif, avec l'aide de milliers de projets ont été créés.
À propos du FC-28
Il existe une grande variété de capteurs pour déterminer l'humidité de la terre, mais le plus populaire est le modèle FC-28. Il a un prix bas, grâce auquel il est largement utilisé par tous les radioamateurs dans leurs projets. Un capteur d'humidité du sol avec Arduino est utilisé. Il a deux sondes qui conduisent le courant électrique à travers le sol. Il s'avère que si le sol est humide, la résistance entre les sondes est moindre. Avec un sol sec, respectivement, la résistance est plus grande. Arduino accepte ces valeurs, compare et, si nécessaire, allume, par exemple, une pompe. Le capteur est capable de fonctionner avec les modes numérique et analogique, nous considérerons les deux options de connexion. Le FC-28 est principalement utilisé dans les petits projets, par exemple lors de l'arrosage automatique d'une plante particulière, car il n'est pas pratique de l'utiliser à grande échelle en raison de sa taille et de ses inconvénients, que nous examinerons également.
Où acheter
Le fait est que dans les magasins russes, les capteurs pour travailler avec Arduino sont relativement chers. Le prix moyen de ce capteur en Russie varie de 200 à 300 roubles, tandis qu'à Aliexpress, le même capteur ne coûte que 30 à 50 roubles. Le balisage est énorme. Bien sûr, vous pouvez toujours créer un capteur pour mesurer l'humidité du sol de vos propres mains, mais vous en saurez plus ci-dessous.
À propos de la connexion
Connecter le capteur d'humidité à l'Arduino est très simple. Il est livré avec un comparateur et un potentiomètre pour régler la sensibilité du capteur, ainsi que pour régler la valeur limite lorsqu'il est connecté à l'aide d'une sortie numérique. Le signal de sortie, comme mentionné ci-dessus, peut être numérique et analogique.
Connexion avec sortie numérique
Connecté presque de la même manière que l'analogique:
- VCC - 5V sur Arduino.
- D0 - D8 sur la carte Arduino.
- GND -terre.
Comme mentionné ci-dessus, un comparateur et un potentiomètre sont situés sur le module capteur. Tout fonctionne comme suit: à l'aide d'un potentiomètre, nous fixons la valeur limite de notre capteur. Le FC-28 compare la valeur avec la limite, puis envoie la valeur à l'Arduino. Disons que les valeurs du capteur sont supérieures au seuil, auquel cas le capteur d'humidité du sol sur l'Arduino transmet 5V, si moins - 0V. Tout est très simple, mais le mode analogique a des valeurs plus précises, il est donc recommandé de l'utiliser.
Le schéma de câblage ressemble à la photo ci-dessus. chemin
Le code de programmation pour Arduino lors de l'utilisation du mode numérique est indiqué ci-dessous.
int led_pin=13; int sensor_pin=8; void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin)==HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); retard(1000); } }
Que fait notre code ? Dans un premier temps, deux variables ont été identifiées. La première variable - led_pin - sert à désigner la LED, et la seconde - à désigner le capteur d'humidité du sol. Ensuite, nous déclarons la broche LED comme sortie et la broche du capteur comme entrée. Cela est nécessaire pour que nous puissions obtenir les valeurs et, si nécessaire, allumer la LED pour voir visuellement que les valeurs des capteurs sont supérieures au seuil. Dans la boucle, nous lisons les valeurs du capteur. Si la valeur est supérieure à la limite, allumez la LED, si elle est inférieure, éteignez-la. Au lieu d'une LEDpeut-être une pompe, tout dépend de vous.
Mode analogique
Pour vous connecter en utilisant la sortie analogique, vous devez travailler avec A0. Le capteur capacitif d'humidité du sol d'Arduino prend des valeurs de 0 à 1023. Connectez le capteur comme suit:
- VCC connecte 5V à Arduino.
- GND sur le capteur est connecté à GND sur la carte Arduino.
- A0 se connecte à A0 sur Arduino.
Ensuite, écrivez le code ci-dessous dans Arduino.
int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Lecture du capteur"); retard (2000); } void loop() { output_value=analogRead(sensor_pin); valeur_sortie=map(valeur_sortie, 550, 0, 0, 100); Serial.print("Humidité"); Serial.print(output_value); Serial.println("%"); retard(1000); }
Alors que fait ce code ? La première étape consistait à définir les variables. La première variable est nécessaire pour déterminer le contact du capteur, et l'autre stockera les résultats que nous recevrons à l'aide du capteur. Ensuite, nous lisons les données. Dans la boucle, nous écrivons les valeurs du capteur dans la variable output_value que nous avons créée. Ensuite, le pourcentage d'humidité du sol est calculé, après quoi nous les affichons sur le moniteur du port. Le schéma de câblage est illustré ci-dessous.
DIY
Il a été expliqué ci-dessus comment connecter le capteur d'humidité du sol à l'Arduino. Le problème avec ces capteurs est qu'ils sont de courte durée. Le fait est qu'ils sont très enclins àcorrosion. Certaines entreprises fabriquent des capteurs avec un revêtement spécial pour augmenter la durée de vie, mais ce n'est toujours pas pareil. La possibilité d'utiliser le capteur pas souvent, mais uniquement en cas de besoin est également envisagée. Par exemple, il existe un code de programme où chaque seconde le capteur lit les valeurs d'humidité du sol. Vous pouvez prolonger la durée de vie si vous l'allumez, par exemple, une fois par jour. Mais si cela ne vous convient pas, vous pouvez fabriquer vous-même un capteur d'humidité du sol. Arduino ne sentira pas la différence. A la base, le système est le même. Simplement, au lieu de deux capteurs, vous pouvez mettre le vôtre et utiliser un matériau moins sensible à la corrosion. Idéalement, bien sûr, utilisez de l'or, mais vu son prix, il reviendra très cher. En général, c'est moins cher à l'achat, vu le prix du FC-28.
Pour et contre
L'article a discuté des options pour connecter un capteur d'humidité du sol à Arduino, et des exemples de code de programme ont également été présentés. Le FC-28 est un très bon capteur d'humidité du sol, mais quels sont les avantages et les inconvénients spécifiques de ce capteur ?
Avantages:
- Prix. Ce capteur a un prix très bas, donc chaque radioamateur pourra acheter et construire son propre système d'arrosage automatique pour les plantes. Bien sûr, lorsque vous travaillez avec de grandes échelles, ce capteur n'est pas adapté, mais il n'est pas destiné à cela. Si vous avez besoin d'un capteur plus puissant - SM2802B, vous devrez alors payer un montant assez élevé.
- Simplicité. Maîtriser le travail avec ce capteur d'humidité du sol dans Arduino peutchaque. Juste quelques fils, quelques lignes de code - et c'est tout. Contrôle de l'humidité du sol effectué.
Inconvénients: