Arduino - Pompe de capteur d'humidité du sol
Dans ce tutoriel, nous allons apprendre à utiliser l'Arduino et le capteur d'humidité du sol capacitif pour contrôler la pompe.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.
Sur le capteur d'humidité du sol et la pompe
Si vous ne connaissez pas les pompes et les capteurs d'humidité du sol (brochage, fonctionnement, programmation...), renseignez-vous à leur sujet dans les tutoriels suivants :
- Arduino - Capteur d'humidité du sol. tutorial
- Arduino - Contrôle de pompe. tutorial
Comment ça fonctionne
Arduino lit périodiquement la valeur du capteur d'humidité du sol capacitif. En fonction de la valeur d'humidité du sol, il prendra les actions suivantes :
- Si la valeur de l'humidité du sol est inférieure à un seuil, l'Arduino active automatiquement un relais pour mettre en marche une pompe.
- Sinon, l'Arduino désactive automatiquement un relais pour éteindre une pompe.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Code Arduino
/*
* Ce code Arduino a été développé par newbiely.fr
* Ce code Arduino est mis à disposition du public sans aucune restriction.
* Pour des instructions complètes et des schémas de câblage, veuillez visiter:
* https://newbiely.fr/tutorials/arduino/arduino-soil-moisture-sensor-pump
*/
#define RELAY_PIN 2 // Arduino pin that controls the pump via relay
#define MOISTURE_PIN A0 // Arduino pin that connects to AOUT pin of moisture sensor
#define THRESHOLD 530 // => CHANGE YOUR THRESHOLD HERE
void setup() {
Serial.begin(9600);
pinMode(RELAY_PIN, OUTPUT);
}
void loop() {
int value = analogRead(MOISTURE_PIN); // read the analog value from sensor
if (value > THRESHOLD) {
Serial.print("The soil moisture is DRY => activate pump");
digitalWrite(RELAY_PIN, HIGH);
} else {
Serial.print("The soil moisture is WET => deactivate the pump");
digitalWrite(RELAY_PIN, LOW);
}
Serial.print(" (");
Serial.print(value);
Serial.println(")");
delay(1000);
}
Étapes rapides
- Effectuez un étalonnage pour déterminer le SEUIL humide-sec, voir Arduino - Capteur d'humidité du sol.
- Mettez à jour la valeur étalonnée dans SEUIL dans le code
- Ouvrez le moniteur série sur Arduino IDE
- Téléchargez le code sur Arduino
- Consultez le résultat sur le moniteur série.
COM6
The soil moisture is DRY => activate the pump
The soil moisture is DRY => activate the pump
The soil moisture is DRY => activate the pump
The soil moisture is DRY => activate the pump
The soil moisture is WET => deactivate the pump
The soil moisture is WET => deactivate the pump
The soil moisture is WET => deactivate the pump
The soil moisture is WET => deactivate the pump
Autoscroll
Clear output
9600 baud
Newline
Explication du code
Lisez l'explication ligne par ligne dans les lignes de commentaire du code source !