Arrosage_automatique

Arrosage automatique — ESP-12F (NodeMCU)

Composants : Sonde d’humiditĂ© sol · Relai PCB · Pompe 9V · Alimentation 9V


Matériel nécessaire

Composant Détails
NodeMCU ESP-12F MicrocontrĂŽleur WiFi (board avec diviseur de tension sur AD0)
Sonde humiditĂ© sol Capteur rĂ©sistif analogique — 3 ou 4 broches
Module relai PCB Actif HIGH, bobine 5V
Pompe immergée 9V selon modÚle
Alimentation 9V Adaptateur secteur ou batterie
Fils Dupont MĂąle/femelle

1. CĂąblage de la sonde d’humiditĂ©

La sonde retourne une tension inversée : sol sec = tension haute, sol humide = tension basse.

Sonde humidité sol VCC GND AO DO non utilisé NodeMCU ESP-12F 3.3V GND AD0 3.3V (rouge) GND (noir) AO (jaune)

Points importants :

  • La board NodeMCU a un diviseur de tension intĂ©grĂ© sur AD0 — pas de composants supplĂ©mentaires, tension max 3.3V directement.
  • Ne jamais alimenter la sonde en 5V sur AD0 — risque de griller le pin ADC.
  • La broche DO (sortie numĂ©rique) n’est pas utilisĂ©e dans ce projet.

2. CĂąblage du module relai (3 GPIO en parallĂšle)

Chaque GPIO de l’ESP8266 fournit environ 12mA. En reliant D5, D6 et D7 ensemble on obtient ~36mA — suffisant pour dĂ©clencher le relai sans transistor.

NodeMCU ESP-12F D5 / GPIO14 D6 / GPIO12 D7 / GPIO13 5V (VIN) GND x3 GPIO = ~36mA Module relai PCB IN VCC GND COM NO NC commande puissance alim 9V (+) vers pompe non utilisé Signal D5+D6+D7 (orange) VCC 5V (rouge) GND (noir)

3. Circuit complet — alimentation 9V, relai et pompe

Le +9V alimente à la fois le VIN du NodeMCU et le COM du relai. La pompe est alimentée via le contact NO du relai. Le GND est commun à tout le circuit.

circuit basse tension circuit puissance +9V — rail commun GND — rail commun Alim 9V adaptateur +9V GND NodeMCU ESP-12F VIN GND D5+D6+D7 Relai PCB IN VCC GND COM NO NC non utilisĂ© 9V → COM pompe (+) Pompe alimentĂ©e en 9V pompe (−) +9V GND commun signal GPIO circuit pompe

Utiliser le contact NO (Normally Open) du relai — circuit ouvert au repos, fermĂ© quand le relai est activĂ©.


4. Code Arduino complet

// =====================================
// Arrosage automatique ESP-12F
// Sonde : AD0 (diviseur intégré, 0-3.3V)
// Relai  : D5+D6+D7 en parallĂšle, actif HIGH
// =====================================

const int   PIN_RELAI_1  = 14;  // D5
const int   PIN_RELAI_2  = 12;  // D6
const int   PIN_RELAI_3  = 13;  // D7
const float SEUIL_POMPE  = 30.0; // % — pompe ON sous ce seuil
const int   DELAI_MS     = 500;

void setRelai(bool etat) {
  digitalWrite(PIN_RELAI_1, etat ? HIGH : LOW);
  digitalWrite(PIN_RELAI_2, etat ? HIGH : LOW);
  digitalWrite(PIN_RELAI_3, etat ? HIGH : LOW);
}

void setup() {
  Serial.begin(115200);
  pinMode(PIN_RELAI_1, OUTPUT);
  pinMode(PIN_RELAI_2, OUTPUT);
  pinMode(PIN_RELAI_3, OUTPUT);
  setRelai(false);  // Pompe éteinte au démarrage
  Serial.println("\n=== Arrosage automatique ===");
  Serial.print("Seuil : ");
  Serial.print(SEUIL_POMPE);
  Serial.println("%");
}

void loop() {
  int   val     = analogRead(A0);
  float tension = val * (3.3 / 1023.0);
  float niveau  = (1.0 - (val / 1023.0)) * 100.0;  // 0% = 3.3V (sec), 100% = 0V (humide)
  bool  pompe   = (niveau < SEUIL_POMPE);

  setRelai(pompe);

  Serial.print("Brut: ");    Serial.print(val);
  Serial.print(" | Tension: "); Serial.print(tension, 2);
  Serial.print("V | Niveau: "); Serial.print(niveau, 1);
  Serial.print("% | Pompe: ");
  Serial.println(pompe ? "ON" : "OFF");

  delay(DELAI_MS);
}

Configuration IDE Arduino

ParamĂštre Valeur
Type de carte Generic ESP8266 Module ou NodeMCU 1.0
Fréquence CPU 80 MHz
Flash Size 4MB
Vitesse upload 115200
Moniteur série 115200 bauds

5. Calibration

Procédure

  1. Planter la sonde dans le sol sec → noter la valeur Niveau dans le moniteur sĂ©rie (typiquement 0-30%)
  2. Arroser lĂ©gĂšrement → noter la nouvelle valeur (typiquement 40-70%)
  3. Choisir SEUIL_POMPE entre ces deux valeurs selon la plante
  4. Flasher à nouveau le code avec le seuil ajusté

Valeurs de référence

État du sol Niveau typique Tension AD0
Sol sec (plante à arroser) 0 – 30% proche de 3.3V
Sol lĂ©gĂšrement humide 40 – 60% ~1.5V
Sol bien humide 70 – 90% proche de 0V

Seuil recommandĂ© pour plantes d’intĂ©rieur : 40%


6. Résumé des connexions

Fil De Vers
Rouge 3.3V NodeMCU VCC sonde
Noir GND NodeMCU GND sonde
Jaune AO sonde AD0 NodeMCU
Orange D5 + D6 + D7 NodeMCU (reliés) IN relai
Rouge 5V (VIN) NodeMCU VCC relai
Noir GND NodeMCU GND relai
Rouge (puissance) Alim 9V (+) VIN NodeMCU + COM relai
Noir (puissance) Alim 9V (−) GND NodeMCU + Pompe (−)
Vert NO relai Pompe (+)

Avertissements

  • Ne jamais alimenter la sonde en 5V sur AD0
  • Utiliser le contact NO (Normally Open) du relai, jamais NC
  • PrĂ©voir une diode de roue libre 1N4007 en parallĂšle sur la pompe pour protĂ©ger le relai (cathode cĂŽtĂ© + alim)
  • Pour un usage long terme, prĂ©fĂ©rer une sonde capacitive (les sondes rĂ©sistives s’oxydent)
  • Ne pas laisser la pompe tourner Ă  sec