dimanche 18 octobre 2026

Projet 1 : Entrées et sorties de l’ESP32 (Inputs/Outputs).

  Dans ce guide de démarrage, vous apprendrez à lire des entrées numériques, comme un bouton-poussoir ou un interrupteur, et à commander des sorties numériques, comme une LED, à l’aide de l’ESP32 et de l’IDE Arduino.



Prérequis

Nous allons programmer l’ESP32 à l’aide de l’IDE Arduino. Assurez-vous donc que le module complémentaire ESP32 est installé avant de poursuivre.

https://solutionmeca.blogspot.com/2026/10/installation-du-module-complementaire.html


Contrôler les sorties numériques de l’ESP32.

Tout d’abord, vous devez configurer la broche GPIO que vous souhaitez commander comme une sortie (OUTPUT). Pour cela, utilisez la fonction pinMode() de la manière suivante :

pinMode(GPIO, OUTPUT);

Pour commander une sortie numérique, il suffit d’utiliser la fonction digitalWrite(). Cette fonction accepte deux arguments : le numéro de la broche GPIO concernée et son état, qui peut être HIGH (niveau haut) ou LOW (niveau bas).

digitalWrite(GPIO, STATE);

Toutes les broches GPIO peuvent être utilisées comme sorties, à l’exception des broches suivantes :

  • GPIO 6 à GPIO 11 : elles sont généralement connectées à la mémoire Flash SPI intégrée.

  • GPIO 34, 35, 36 et 39 : elles peuvent être utilisées uniquement comme entrées sur les modèles ESP32 classiques concernés.

Exemple pratique : pour allumer une LED connectée à la broche GPIO 2, configurez cette broche en sortie, puis utilisez digitalWrite(2, HIGH). Pour éteindre la LED, utilisez digitalWrite(2, LOW).


Lire les entrées numériques de l’ESP32

Tout d’abord, configurez la broche GPIO que vous souhaitez lire en mode INPUT (entrée) à l’aide de la fonction pinMode(), comme suit :

pinMode(GPIO, INPUT);

Pour lire une entrée numérique, comme un bouton-poussoir, utilisez la fonction digitalRead(). Cette fonction accepte comme argument le numéro de la broche GPIO que vous souhaitez lire.

digitalRead(GPIO);

Toutes les broches GPIO de l’ESP32 peuvent être utilisées comme entrées, à l’exception des GPIO 6 à 11, qui sont connectées à la mémoire Flash SPI intégrée.

Exemple pratique : lire un bouton-poussoir.

const int bouton = 4;

void setup() {
  Serial.begin(115200);
  pinMode(bouton, INPUT);
}

void loop() {
  int etatBouton = digitalRead(bouton);

  Serial.println(etatBouton);

  delay(200);
}

Explication du code :

  • pinMode(bouton, INPUT); : configure le GPIO 4 comme une entrée.

  • digitalRead(bouton); : lit l’état du bouton.

  • Serial.println(etatBouton); : affiche le résultat dans le moniteur série.

Le résultat affiché est généralement :

  • 0 : état bas (LOW).

  • 1 : état haut (HIGH).

Remarque : avec INPUT, prévoyez un câblage adapté pour éviter que l’entrée ne flotte. Vous pouvez aussi utiliser INPUT_PULLUP avec un bouton connecté entre le GPIO 4 et GND. Dans ce cas, le bouton relâché donne HIGH et le bouton appuyé donne LOW.


Exemple de projet

Pour vous montrer comment utiliser les entrées numériques et les sorties numériques, nous allons réaliser un projet simple avec un bouton-poussoir et une LED.

Nous allons lire l’état du bouton-poussoir et allumer la LED en conséquence, comme illustré dans la figure suivante.



Matériel nécessaire

Voici la liste des composants nécessaires pour réaliser le circuit :

  • ESP32 DEVKIT V1

  • LED de 5 mm

  • Résistance de 220 ohms (Ω)

  • Bouton-poussoir

  • Résistance de 10 kΩ

  • Plaque d’expérimentation (breadboard)

  • Fils de connexion (jumpers)

Schéma de câblage

Avant de continuer, vous devez assembler un circuit comprenant une LED et un bouton-poussoir.

Nous allons connecter :

  • La LED au GPIO 5 de l’ESP32.

  • Le bouton-poussoir au GPIO 4 de l’ESP32.


Code – Projet 1 : Entrées et sorties numériques de l’ESP32

Ouvrez le fichier Project_1_ESP32_Inputs_Outputs.ino dans l’IDE Arduino.


Le code ci-dessous est corrigé pour pouvoir être compilé et téléversé sur votre ESP32.


const int buttonPin = 4; // Numéro de la broche du bouton-poussoir
const int ledPin = 5;    // Numéro de la broche de la LED

// Variable pour mémoriser l'état du bouton
int buttonState = 0;

void setup() {
  Serial.begin(115200);

  pinMode(buttonPin, INPUT);  // Configurer le bouton en entrée
  pinMode(ledPin, OUTPUT);    // Configurer la LED en sortie
}

void loop() {
  // Lire l'état du bouton-poussoir
  buttonState = digitalRead(buttonPin);

  // Afficher l'état du bouton dans le moniteur série
  Serial.println(buttonState);

  // Vérifier si le bouton est appuyé
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH); // Allumer la LED
  } else {
    digitalWrite(ledPin, LOW);  // Éteindre la LED
  }
}

Explication du programme

Instruction

Explication

buttonPin = 4

Le bouton est connecté au GPIO 4.

ledPin = 5

La LED est connectée au GPIO 5.

pinMode(buttonPin, INPUT)

Configure le bouton comme entrée.

pinMode(ledPin, OUTPUT)

Configure la LED comme sortie.

digitalRead(buttonPin)

Lit l'état du bouton.

digitalWrite(ledPin, HIGH)

Allume la LED.

digitalWrite(ledPin, LOW)

Éteint la LED.

Serial.println(buttonState)

Affiche 0 ou 1 dans le moniteur série.

Comment fonctionne le projet ?

  1. Vous appuyez sur le bouton-poussoir.

  2. L'ESP32 lit l'état du bouton sur le GPIO 4.

  3. Si l'état est HIGH, la LED connectée au GPIO 5 s'allume.

  4. Si l'état est LOW, la LED s'éteint.

Attention au câblage : avec INPUT, la résistance de 10 kΩ doit maintenir l'entrée à un niveau stable. Pour un montage simple, vous pouvez connecter le bouton entre le GPIO 4 et GND et remplacer INPUT par INPUT_PULLUP. Dans cette configuration, il faudra inverser la condition du if, car un bouton appuyé donne LOW.


Téléverser le code sur l’ESP32

Avant de cliquer sur le bouton de téléversement, suivez les étapes suivantes dans l’IDE Arduino.

1. Sélectionner la carte : allez dans Outils (Tools) → Type de carte (Board), puis sélectionnez DOIT ESP32 DEVKIT V1.

2. Sélectionner le port : allez dans Outils (Tools) → Port, puis choisissez le port COM auquel votre ESP32 est connecté (par exemple, COM3 ou COM7).

3. Téléverser le programme : cliquez sur le bouton Téléverser (Upload) et attendez la fin du processus.

4. Vérifier le résultat : attendez l’apparition du message « Done uploading » (Téléversement terminé).

Votre programme est alors téléversé sur l’ESP32.

Remarque : si le téléversement échoue avec le message Failed to connect to ESP32, essayez de maintenir le bouton BOOT de la carte enfoncé pendant le démarrage du téléversement, puis relâchez le lorsque la connexion commence.

Remarque : résolution des problèmes (Troubleshooting)

Si vous voyez de nombreux points (connecting…__…__) dans la fenêtre de débogage et que le message suivant apparaît :

Failed to connect to ESP32: Timed out waiting for packet header

Cela signifie que l’IDE Arduino n’arrive pas à établir correctement la connexion avec l’ESP32 pour téléverser le programme.

Solution :

  1. Cliquez sur le bouton Téléverser (Upload) dans l’IDE Arduino.

  2. Attendez que les points de connexion (Connecting...) commencent à apparaître.

  3. Appuyez sur le bouton BOOT situé sur la carte ESP32 et maintenez-le enfoncé.

  4. Lorsque le téléversement commence, relâchez le bouton BOOT.

  5. Attendez que le message « Done uploading » apparaisse.

Autres vérifications en cas d’échec

  • Vérifiez que la bonne carte est sélectionnée : DOIT ESP32 DEVKIT V1.

  • Vérifiez que le bon port COM est sélectionné.

  • Vérifiez que le câble USB permet le transfert de données, et pas seulement la recharge.

  • Fermez le Moniteur série si le port est déjà utilisé par un autre programme.

Conseil : cette manipulation avec le bouton BOOT est particulièrement utile sur certaines cartes ESP32 lorsque le mode de programmation ne s’active pas automatiquement.




Installation du module complémentaire ESP32 dans l’IDE Arduino.

 


Pour installer la carte ESP32 dans l’IDE Arduino, suivez les instructions suivantes :

1. Dans l’IDE Arduino, allez dans Fichier → Préférences (File → Preferences).

2. Saisissez l’adresse suivante dans le champ « URL supplémentaires de gestionnaire de cartes » (Additional Board Manager URLs) :

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

 Ensuite, cliquez sur le bouton « OK » pour valider.



Remarque : si vous avez déjà ajouté l’URL des cartes ESP8266, vous pouvez séparer les deux adresses par une virgule, comme indiqué ci-dessous :



 3. Ouvrez le Gestionnaire de cartes.

Dans l’IDE Arduino, allez dans Outils → Type de carte → Gestionnaire de cartes… (Tools → Board → Boards Manager…).





4. Recherchez ESP32 et cliquez sur le bouton « Installer » en face de « ESP32 by Espressif Systems » (ESP32 par Espressif Systems)




Téléverser le code de test.

Branchez la carte ESP32 à votre ordinateur. Une fois l’IDE Arduino ouvert, suivez les étapes suivantes.

1. Sélectionnez votre carte dans le menu Outils → Type de carte.

Dans mon cas, il s’agit de la carte DOIT ESP32 DEVKIT V1.



2. Sélectionnez le port de communication (Port COM).

Si le port COM n’apparaît pas dans l’IDE Arduino, vous devez installer les pilotes CP210x USB vers UART (VCP).

Ces pilotes permettent à votre ordinateur de communiquer avec la carte ESP32 via le câble USB.



3. Ouvrez l’exemple suivant :

Dans l’IDE Arduino, allez dans Fichier → Exemples → WiFi (ESP32) → WiFiScan.

Ce programme permet à votre carte ESP32 de rechercher les réseaux Wi-Fi disponibles à proximité.


Un nouveau sketch (programme) s’ouvre dans votre IDE Arduino.


5. Cliquez sur le bouton Téléverser (Upload) dans l’IDE Arduino. Attendez quelques secondes pendant que le code est compilé et transféré vers votre carte ESP32.

6. Si tout se déroule correctement, le message « Done uploading » (Téléversement terminé) s’affichera.

7. Ouvrez le Moniteur série de l’IDE Arduino et réglez la vitesse de transmission sur 115200 bauds.

8. Appuyez sur le bouton EN (Enable) situé sur la carte ESP32. Vous devriez alors voir apparaître dans le Moniteur série la liste des réseaux Wi-Fi disponibles à proximité de votre ESP32.


Dépannage (résolution des problèmes)

Si vous essayez de téléverser un nouveau programme sur votre ESP32 et que le message d’erreur suivant apparaît :

« A fatal error occurred: Failed to connect to ESP32: Timed out… Connecting… »

Cela signifie que votre ESP32 n’est pas en mode de programmation (téléversement).

Après avoir sélectionné le bon modèle de carte et le bon port COM, suivez les étapes suivantes :

- Maintenez le bouton « BOOT » enfoncé sur votre carte ESP32




- Cliquez sur le bouton « Téléverser » (Upload) dans l’IDE Arduino pour transférer votre programme vers la carte ESP32.

- Lorsque le message « Connecting… » (Connexion en cours…) apparaît dans l’IDE Arduino, relâchez le bouton « BOOT ».




- Après cela, le message « Done uploading » (Téléversement terminé) devrait apparaître.

C’est terminé ! Votre ESP32 devrait maintenant exécuter le nouveau programme téléversé.

Appuyez sur le bouton « ENABLE » de votre carte ESP32 pour la redémarrer et lancer le nouveau programme.

Vous devrez également répéter cette séquence de boutons chaque fois que vous souhaiterez téléverser un nouveau programme.











mardi 13 octobre 2026

Synchronisation de l’état des sorties avec un serveur web.

 Ce projet montre comment contrôler les sorties d’un ESP32 ou ESP8266 à l’aide d’un serveur web et d’un bouton physique, simultanément.

L’état de la sortie est mis à jour sur la page web, qu’il soit modifié à l’aide du bouton physique ou directement depuis le serveur web

Présentation du projet



-L’ESP32 ou l’ESP8266 héberge un serveur web qui vous permet de contrôler l’état d’une sortie (par exemple, allumer ou éteindre une LED)

- L’état actuel de la sortie est affiché sur la page du serveur web.

- L’ESP32 ou l’ESP8266 est également connecté à un bouton-poussoir physique qui permet de contrôler cette même sortie.

- Si vous modifiez l’état de la sortie à l’aide du bouton-poussoir physique, son état actuel est également mis à jour sur la page du serveur web.

En résumé : ce projet permet de contrôler une même sortie simultanément à l’aide d’un serveur web et d’un bouton-poussoir physique. Chaque fois que l’état de la sortie change, la page web est mise à jour afin d’afficher son nouvel état.

Matériel nécessaire

Voici la liste des composants nécessaires pour réaliser le circuit :

  • Carte ESP32 DEVKIT V1

  • LED de 5 mm

  • Résistance de 220 Ω

  • Bouton-poussoir

  • Résistance de 10 kΩ

  • Plaque d’essai (breadboard)

  • Fils de connexion (jumpers)

Le schéma électrique du projet.



Installation des bibliothèques pour ESP32.

Pour réaliser ce serveur web, nous utilisons deux bibliothèques : ESPAsyncWebServer et AsyncTCP. Si vous avez déjà installé ces bibliothèques, vous pouvez passer à l’étape suivante.

1. Installer la bibliothèque ESPAsyncWebServer.

Suivez les étapes suivantes pour installer la bibliothèque ESPAsyncWebServer :

  1. Cliquez sur le lien de téléchargement de la bibliothèque ESPAsyncWebServer. Vous obtiendrez un fichier compressé au format .zip dans votre dossier Téléchargements.

  2. Décompressez le fichier ZIP. Vous obtiendrez un dossier nommé ESPAsyncWebServer-master.

  3. Renommez ce dossier en ESPAsyncWebServer.

  4. Déplacez le dossier dans le répertoire des bibliothèques de votre installation Arduino IDE.

Autre méthode : dans Arduino IDE, accédez au menu Croquis (Sketch) → Inclure une bibliothèque (Include Library) → Ajouter la bibliothèque .ZIP (Add .ZIP Library…), puis sélectionnez le fichier ZIP que vous avez téléchargé.

2. Installer la bibliothèque AsyncTCP pour ESP32.

La bibliothèque ESPAsyncWebServer nécessite également la bibliothèque AsyncTCP pour fonctionner avec l’ESP32.

Suivez les étapes suivantes :

  1. Cliquez sur le lien de téléchargement de la bibliothèque AsyncTCP. Vous obtiendrez un fichier compressé au format .zip dans votre dossier Téléchargements.

  2. Décompressez le fichier ZIP. Vous obtiendrez un dossier nommé AsyncTCP-master.

  3. Renommez ce dossier en AsyncTCP.

  4. Déplacez le dossier AsyncTCP dans le répertoire des bibliothèques de votre installation Arduino IDE.

  5. Enfin, redémarrez Arduino IDE pour que les bibliothèques soient correctement prises en compte.

Autre méthode : dans Arduino IDE, accédez au menu Croquis → Inclure une bibliothèque → Ajouter la bibliothèque .ZIP, puis sélectionnez le fichier ZIP de la bibliothèque AsyncTCP.

Remarque : ces instructions concernent l’ESP32. Pour une carte ESP8266, la bibliothèque réseau correspondante est généralement ESPAsyncTCP, et non AsyncTCP.

CODE.

Nous allons programmer l’ESP32 à l’aide de l’Arduino IDE. Assurez-vous donc que le module complémentaire ESP32 est installé avant de poursuivre. Si vous avez déjà effectué cette étape, vous pouvez passer à la suivante.

Installation du module ESP32 dans Arduino IDE

Après avoir installé les bibliothèques nécessaires, ouvrez le fichier 

Avant de téléverser le code sur votre carte ESP32, n’oubliez pas de renseigner vos identifiants Wi-Fi (nom du réseau et mot de passe) afin que l’ESP32 puisse se connecter à votre réseau local.


Fonctionnement du code

Le programme permet de contrôler une LED connectée à l’ESP32 à l’aide d’un serveur web et d’un bouton-poussoir physique. Les deux commandes agissent sur la même LED et son état est actualisé sur la page web.


La variable ledState mémorise l’état de la sortie de la LED. Par défaut, au démarrage du serveur web, sa valeur est LOW, ce qui signifie que la LED est éteinte.




Les variables buttonState et lastButtonState sont utilisées pour détecter si le bouton-poussoir a été appuyé ou non. Elles permettent de suivre l’état du bouton et de détecter un changement d’état afin de contrôler la LED.


Bouton de commande (serveur web)

Nous n’avons pas inclus le code HTML permettant de créer le bouton dans la variable index_html.

Cela s’explique par le fait que nous voulons pouvoir modifier ce bouton en fonction de l’état actuel de la LED, qui peut également être modifié à l’aide du bouton-poussoir.

Nous avons donc créé un espace réservé appelé %BUTTONPLACEHOLDER%. Celui-ci sera remplacé plus tard dans le code par du texte HTML permettant de créer le bouton. Cette opération est réalisée dans la fonction processor().



La fonction processor() remplace les espaces réservés présents dans le code HTML par leurs valeurs réelles.

Tout d’abord, elle vérifie si le texte HTML contient un espace réservé appelé %BUTTONPLACEHOLDER%.



if (var == "BUTTONPLACEHOLDER") {

Ensuite, nous appelons la fonction outputState(), qui renvoie l’état actuel de la sortie. Nous enregistrons cette valeur dans la variable outputStateValue.

String outputStateValue = outputState();

Après cela, nous utilisons cette valeur pour créer le code HTML permettant d’afficher le bouton avec l’état approprié :

buttons += "<h4>Sortie - GPIO 2 - État <span id=\"outputState\"></span></h4>"
           "<label class=\"switch\"><input type=\"checkbox\" onchange=\"toggleCheckbox(this)\" id=\"output\" "
           + outputStateValue + "><span class=\"slider\"></span></label>";

Requête HTTP GET pour modifier l’état de la sortie (JavaScript)

Lorsque vous appuyez sur le bouton, la fonction toggleCheckbox() est appelée. Cette fonction envoie une requête vers différentes URL afin d’allumer ou d’éteindre la LED.

function toggleCheckbox(element) {
  var xhr = new XMLHttpRequest();

  if (element.checked) {
    xhr.open("GET", "/update?state=1", true);
  } else {
    xhr.open("GET", "/update?state=0", true);
  }

  xhr.send();
}

Pour allumer la LED, une requête est envoyée à l’URL /update?state=1 :

if (element.checked) {
  xhr.open("GET", "/update?state=1", true);
}

Sinon, une requête est envoyée à l’URL /update?state=0 pour éteindre la LED.

Requête HTTP GET pour mettre à jour l’état (JavaScript)

Pour maintenir à jour l’état de la sortie sur le serveur Web, nous appelons la fonction suivante. Elle envoie une nouvelle requête à l’URL /state toutes les secondes.

setInterval(function () {
  var xhttp = new XMLHttpRequest();

  xhttp.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
      var inputChecked;
      var outputStateM;

      if (this.responseText == 1) {
        inputChecked = true;
        outputStateM = "Allumée";
      } else {
        inputChecked = false;
        outputStateM = "Éteinte";
      }

      document.getElementById("output").checked = inputChecked;
      document.getElementById("outputState").innerHTML = outputStateM;
    }
  };

  xhttp.open("GET", "/state", true);
  xhttp.send();
}, 1000);

Gestion des requêtes

Ensuite, nous devons définir ce qui se passe lorsque l’ESP32 ou l’ESP8266 reçoit des requêtes sur ces URL.

Lorsqu’une requête est reçue à l’adresse principale /, nous envoyons la page HTML ainsi que la fonction processor.

server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
  request->send_P(200, "text/html", index_html, processor);
});

Les lignes suivantes vérifient si une requête a été reçue à l’adresse /update?state=1 ou /update?state=0, puis modifient la variable ledState en conséquence.

server.on("/update", HTTP_GET, [](AsyncWebServerRequest *request) {
  String inputMessage;
  String inputParam;

  // Récupérer la valeur du paramètre input1
  // depuis <ESP_IP>/update?state=<inputMessage>

  if (request->hasParam(PARAM_INPUT_1)) {
    inputMessage = request->getParam(PARAM_INPUT_1)->value();
    inputParam = PARAM_INPUT_1;

    digitalWrite(output, inputMessage.toInt());
    ledState = !ledState;
  } else {
    inputMessage = "Aucun message envoyé";
    inputParam = "none";
  }

  Serial.println(inputMessage);
  request->send(200, "text/plain", "OK");
});

Lorsqu’une requête est reçue à l’adresse /state, nous envoyons l’état actuel de la sortie :

server.on("/state", HTTP_GET, [](AsyncWebServerRequest *request) {
  request->send(200, "text/plain",
                String(digitalRead(output)).c_str());
});

Fonction loop()

Dans la fonction loop(), nous éliminons les rebonds du bouton-poussoir (debouncing) et allumons ou éteignons la LED en fonction de la valeur de la variable ledState.

digitalWrite(output, ledState);








samedi 10 octobre 2026

Capteur PIR avec Arduino : branchement, code et fonctionnement.

 

Comprendre le capteur de mouvement infrarouge et créer un système de détection avec Arduino.



Le capteur PIR (Passive Infrared Sensor) est un composant électronique très utilisé dans les systèmes de sécurité, les alarmes, l'éclairage automatique et les projets de domotique. Grâce à sa capacité à détecter les variations du rayonnement infrarouge émis par les corps, il permet de reconnaître le passage d'une personne sans contact physique.

Associé à une carte Arduino Uno, Nano ou Mega, le capteur PIR devient un excellent outil pour apprendre l'électronique et la programmation. Il permet notamment de commander une LED, de déclencher un buzzer ou de concevoir un système d'alarme automatique.

Dans ce guide, nous allons découvrir le fonctionnement du capteur PIR, le rôle de sa lentille blanche, son branchement sur Arduino, les différents modes de déclenchement et un programme simple pour réaliser une première expérience.

1. Qu'est-ce qu'un capteur PIR ?

PIR signifie Passive Infrared Sensor, ou capteur infrarouge passif en français. Le terme « passif » indique que le capteur reçoit le rayonnement infrarouge provenant de son environnement au lieu d'émettre lui-même un signal pour détecter les objets.

Les êtres humains et les animaux émettent naturellement un rayonnement infrarouge lié à leur température. Lorsqu'une personne se déplace dans le champ de détection d'un capteur PIR, la distribution du rayonnement infrarouge reçue par le capteur change. L'électronique du module analyse cette variation et produit un signal de sortie.

Le capteur PIR ne mesure donc pas directement la distance d'une personne et ne fournit pas une image. Il sert principalement à détecter les mouvements associés aux variations du rayonnement infrarouge.

Le module HC-SR501 est l'un des modèles les plus connus dans les projets Arduino. Il est généralement équipé d'une lentille blanche, de deux potentiomètres de réglage et d'un cavalier permettant de sélectionner le mode de déclenchement.

2. Comment fonctionne le capteur PIR ?



Le fonctionnement du capteur PIR repose sur un élément pyroélectrique sensible aux variations du rayonnement infrarouge.

Lorsque le rayonnement reçu par cet élément varie, une modification électrique apparaît. Le circuit électronique intégré traite ensuite ce signal et détermine si une détection doit être signalée à la sortie du module.

Le fonctionnement peut être résumé en quatre étapes :

  1. Une personne entre dans le champ de détection du capteur.

  2. Le rayonnement infrarouge reçu par l'élément pyroélectrique varie.

  3. Le circuit électronique analyse le changement détecté.

  4. La sortie du module passe généralement à l'état logique HIGH pendant une durée déterminée.

Arduino peut lire ce signal avec la fonction digitalRead() et exécuter une action, par exemple allumer une LED ou déclencher une alarme.

Il est important de comprendre qu'un capteur PIR réagit surtout aux changements de rayonnement infrarouge. Une personne immobile peut donc ne plus être détectée après le mouvement initial.

3. À quoi sert la lentille blanche du capteur PIR ?



La pièce blanche en forme de dôme placée sur de nombreux modules PIR est une lentille de Fresnel. Elle ne constitue pas simplement une protection plastique : elle joue un rôle optique essentiel.

Cette lentille divise le champ de vision en plusieurs zones et dirige le rayonnement infrarouge vers l'élément sensible situé à l'intérieur du capteur. Lorsqu'une personne traverse ces zones, le rayonnement reçu varie, ce qui facilite la détection du mouvement.

La lentille de Fresnel contribue également à élargir le champ de détection. La portée et l'angle réels dépendent toutefois du modèle du capteur, de la lentille et des conditions d'installation.

Une lentille endommagée, obstruée ou remplacée par un matériau qui transmet mal l'infrarouge peut réduire les performances du système.

4. Les principales broches du module PIR HC-SR501




Le module HC-SR501 comporte généralement trois broches :

  • VCC : alimentation électrique du module.

  • OUT : sortie logique qui indique la détection.

  • GND : connexion à la masse du circuit.

Sur de nombreux modules HC-SR501, l'alimentation est comprise entre environ 4,5 V et 20 V, mais il faut toujours vérifier la documentation de la version utilisée.

Pour un projet avec Arduino Uno, le module peut généralement être alimenté par la broche 5 V de la carte. La sortie OUT est reliée à une entrée numérique d'Arduino.

Attention : les tensions admissibles varient selon les cartes et les capteurs. Pour un ESP32, qui utilise une logique de 3,3 V, il faut vérifier la compatibilité de la sortie du module et ne jamais appliquer directement une tension supérieure à la limite des GPIO.

5. Comment brancher un capteur PIR sur Arduino Uno ?

Pour réaliser un montage simple, préparez le matériel suivant :

  • Une carte Arduino Uno.

  • Un capteur PIR HC-SR501.

  • Une LED.

  • Une résistance de 220 à 330 ohms.

  • Une plaque d'expérimentation.

  • Des fils de connexion.

  • Un câble USB pour programmer Arduino.

Schéma de câblage



Module PIR ou composantArduino Uno
VCC du PIR5V, si compatible avec le module
OUT du PIRD2
GND du PIRGND
Anode de la LEDD13 à travers une résistance
Cathode de la LEDGND

La LED peut également être remplacée par la LED intégrée de nombreuses cartes Arduino Uno, reliée à D13.

Avant de tester le programme, laissez au capteur le temps de se stabiliser après la mise sous tension. Cette durée dépend du module et peut atteindre plusieurs dizaines de secondes.

6. Programme Arduino pour détecter un mouvement



Le programme suivant lit l'état de la sortie du capteur PIR. Lorsque le module signale une détection, Arduino allume la LED. Lorsque le signal redevient LOW, la LED s'éteint.

const int pirPin = 2;
const int ledPin = 13;

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);

  Serial.begin(9600);
  Serial.println("Initialisation du capteur PIR...");
}

void loop() {
  int mouvement = digitalRead(pirPin);

  if (mouvement == HIGH) {
    digitalWrite(ledPin, HIGH);
    Serial.println("Mouvement detecte !");
  } else {
    digitalWrite(ledPin, LOW);
  }

  delay(100);
}

Explication du code

La variable pirPin indique que la sortie du capteur est reliée à la broche numérique 2. La variable ledPin correspond à la LED connectée à la broche 13.

La fonction pinMode() configure les broches. Ensuite, digitalRead() récupère l'état logique envoyé par le capteur.

Si le résultat est HIGH, Arduino considère qu'une détection est signalée et allume la LED avec digitalWrite(). Si le résultat est LOW, la LED s'éteint.

Enfin, Serial.begin(9600) permet d'afficher des messages dans le moniteur série de l'IDE Arduino.

7. Comprendre les modes Repeatable Trigger et Non-Repeatable Trigger

Le module HC-SR501 propose généralement deux modes de déclenchement, sélectionnés grâce à un petit cavalier placé sur les positions H et L.

Repeatable Trigger : mode H

Dans ce mode, lorsqu'un mouvement est détecté, la sortie passe à HIGH. Si une nouvelle détection se produit pendant la durée d'activation, le délai est prolongé ou redémarre selon le fonctionnement du module.

Ce mode est utile pour les éclairages automatiques. Tant que de nouveaux mouvements sont détectés, la lumière peut rester allumée plus longtemps.

Non-Repeatable Trigger : mode L

Dans ce mode, la durée de sortie HIGH est généralement fixée par le déclenchement initial. Une nouvelle détection pendant cette période ne prolonge normalement pas le délai.

Ce fonctionnement peut convenir aux applications dans lesquelles on souhaite une durée d'activation définie.

Le comportement précis dépend de la version du module et de ses réglages. Le potentiomètre de temporisation permet généralement de modifier la durée pendant laquelle la sortie reste active.

8. Comment régler la sensibilité et la temporisation ?

Le HC-SR501 possède généralement deux potentiomètres.

Le premier règle la sensibilité de détection. Une sensibilité plus élevée peut permettre de détecter un mouvement plus éloigné, mais elle peut aussi augmenter les déclenchements indésirables.

Le second règle la temporisation, c'est-à-dire la durée pendant laquelle la sortie reste à HIGH après une détection. La plage disponible dépend du modèle.

Pour régler correctement le module, procédez progressivement : commencez avec une sensibilité moyenne, testez à différentes distances et ajustez la durée selon l'application.

Évitez d'installer le capteur face à une source de chaleur mobile ou dans un environnement où les variations thermiques sont importantes. Ces conditions peuvent provoquer des détections inattendues.

9. Applications du capteur PIR avec Arduino

Le capteur PIR peut être utilisé dans de nombreux projets éducatifs et pratiques :

  • Alarme de mouvement : déclencher un buzzer lorsqu'une personne est détectée.

  • Éclairage automatique : allumer une lampe lorsqu'une personne entre dans une pièce.

  • Domotique : envoyer une commande à un système de contrôle de la maison.

  • Robotique éducative : créer une interaction entre un robot et son environnement.

  • Compteur de passages simple : détecter des événements de passage dans des conditions adaptées, en utilisant une logique de comptage et un placement approprié.

Pour commander un appareil fonctionnant sur le secteur, il ne faut pas connecter directement celui-ci aux broches Arduino. Il faut utiliser un dispositif de commande adapté, correctement isolé et installé en respectant les règles de sécurité électrique.

10. Problèmes fréquents et solutions

Si la LED ne s'allume pas, vérifiez d'abord les connexions VCC, OUT et GND. Assurez-vous que la sortie OUT est reliée à la bonne broche Arduino et que le programme utilise le même numéro de broche.

Si le capteur déclenche sans raison apparente, réduisez progressivement sa sensibilité et vérifiez son emplacement. Les courants d'air chaud, les sources thermiques mobiles, les vibrations et les variations de l'environnement peuvent influencer le résultat.

Si le capteur ne détecte pas une personne, vérifiez l'orientation de la lentille, la distance, l'alimentation et le temps de stabilisation. Le déplacement transversal dans le champ de détection est souvent plus facile à détecter qu'un mouvement directement vers le capteur.

Enfin, n'oubliez pas que le PIR n'est pas une caméra et qu'il ne permet pas d'identifier une personne.

Conclusion

Le capteur PIR est un composant simple et utile pour découvrir la détection de mouvement avec Arduino. Son fonctionnement repose sur la détection des variations du rayonnement infrarouge, tandis que sa lentille de Fresnel contribue à diriger ce rayonnement et à organiser le champ de vision.

Grâce à quelques fils, une carte Arduino et une LED, il est possible de réaliser un premier projet de détection. En comprenant les broches, le programme, la sensibilité, la temporisation et les modes Repeatable Trigger et Non-Repeatable Trigger, vous pourrez ensuite concevoir des systèmes plus avancés pour la domotique, les alarmes et la robotique éducative.

Le capteur PIR constitue ainsi une excellente étape pour progresser en électronique et en programmation Arduino.

mardi 6 octobre 2026

les diodes.

 

Les diodes en électronique : fonctionnement, types et applications

Comprendre la diode, son rôle, son symbole et ses principales utilisations

La diode électronique est l’un des composants les plus importants dans le domaine de l’électronique. Malgré sa petite taille, elle joue un rôle essentiel dans de nombreux circuits électriques et électroniques. On la retrouve dans les alimentations, les chargeurs, les cartes électroniques, les systèmes de protection, les robots, les appareils automobiles et les projets Arduino.

Son principe de fonctionnement est relativement simple : une diode laisse principalement passer le courant électrique dans un sens et le bloque dans l’autre. Cette caractéristique permet de contrôler la circulation du courant et de protéger certains composants contre des tensions ou des courants indésirables.

Pour les débutants, comprendre les diodes constitue une étape importante avant d’aborder des composants plus avancés comme les transistors, les circuits intégrés, les moteurs ou les microcontrôleurs.

1. Qu’est-ce qu’une diode ?



Une diode est un composant électronique à deux bornes. Ces deux bornes sont appelées anode (A) et cathode (K).

La diode possède une propriété particulière : elle conduit facilement lorsque ses bornes sont correctement polarisées dans le sens direct. Dans le sens inverse, elle bloque normalement le passage du courant, jusqu’à certaines limites électriques propres au composant.

Pour expliquer simplement son fonctionnement à un enfant, on peut comparer la diode à une porte à sens unique.

Imaginez une porte qui permet aux personnes de passer dans une direction mais qui empêche normalement le passage dans l’autre direction. La diode fonctionne de manière similaire avec le courant électrique.

Cette propriété explique pourquoi les diodes sont utilisées dans de nombreux circuits électroniques.

2. L’anode et la cathode

Pour utiliser correctement une diode, il est indispensable de savoir reconnaître ses deux bornes.

L’anode

L’anode, généralement notée A, correspond à l’une des bornes de la diode.

La cathode

La cathode, généralement notée K, correspond à l’autre borne.

Sur de nombreuses diodes classiques en boîtier cylindrique, une bague ou une bande située sur le composant permet d’identifier la cathode.

Cette information est très importante lors du montage d’un circuit, car une diode montée dans le mauvais sens peut empêcher le fonctionnement du montage ou provoquer un comportement différent de celui recherché.

3. Le symbole électrique de la diode

Dans un schéma électronique, la diode est représentée par un symbole permettant d’indiquer son orientation.

Le symbole permet notamment de distinguer l’anode et la cathode. Cette représentation graphique est utilisée dans les schémas électriques, les cartes électroniques, les logiciels de simulation et les documents techniques.

Apprendre à reconnaître le symbole de la diode est donc aussi important que savoir reconnaître le composant physique.

Pour les élèves qui commencent l’électronique, une bonne méthode consiste à apprendre simultanément :

Composant → symbole → anode → cathode → sens du courant.

Cette méthode permet de mieux comprendre les schémas électroniques.

4. Comment fonctionne une diode ?

Le fonctionnement d’une diode dépend de la manière dont elle est connectée dans le circuit.

La polarisation directe

Lorsque la diode est connectée dans le sens permettant la conduction, elle peut laisser circuler le courant.

On parle alors de polarisation directe.

Pour une diode au silicium classique, la tension directe est souvent d’environ 0,6 à 0,7 V, mais cette valeur n’est pas universelle. Elle dépend notamment du type de diode et du courant qui la traverse.

La polarisation inverse

Lorsque la diode est connectée dans le sens opposé, elle bloque normalement le courant.

On parle alors de polarisation inverse.

Une diode réelle possède cependant une limite de tension inverse. Si cette limite est dépassée, le composant peut entrer dans une région de fonctionnement particulière ou être endommagé selon son type et son application.

Il est donc toujours nécessaire de respecter les caractéristiques électriques indiquées par le fabricant.

5. Les principaux types de diodes



Il existe plusieurs familles de diodes. Elles utilisent le même principe général mais sont conçues pour des applications différentes.

La diode de redressement

Les diodes de redressement sont utilisées pour transformer une tension alternative en tension continue dans de nombreuses alimentations électriques.

La 1N4007 est un exemple très connu de diode de redressement.

Elle est fréquemment utilisée dans les montages électroniques classiques et les projets pédagogiques.

La diode de commutation

La 1N4148 est une diode de commutation très répandue.

Elle est particulièrement adaptée aux circuits nécessitant une commutation rapide et à faible courant.

On peut la rencontrer dans différents circuits électroniques, notamment dans les montages de commande et de signal.

La diode Zener

La diode Zener possède une caractéristique particulière lorsqu’elle fonctionne en polarisation inverse.

Elle peut être utilisée dans des circuits de limitation ou de stabilisation de tension, selon la conception du montage.

Elle constitue donc un composant important dans certaines applications de protection et de régulation.

La diode Schottky

La diode Schottky est connue notamment pour sa faible tension directe et sa rapidité de commutation.

Elle est utilisée dans différentes applications électroniques, notamment dans certaines alimentations à découpage et circuits où les pertes doivent être réduites.

La LED

La LED, ou diode électroluminescente, est une diode capable d’émettre de la lumière lorsqu’elle est correctement polarisée.

Les LED sont extrêmement utilisées : voyants lumineux, écrans, éclairage, panneaux, robots et projets Arduino.

6. La LED : une diode très utilisée

La LED est probablement l’une des diodes les plus faciles à découvrir pour un débutant.

Elle permet de transformer l’énergie électrique en lumière. Dans un projet Arduino, elle peut être utilisée comme indicateur pour montrer l’état d’un programme ou d’un capteur.

Par exemple :

Capteur → Arduino → LED

Lorsque le capteur détecte une condition particulière, Arduino peut commander la LED.

Attention cependant : une LED classique ne doit généralement pas être branchée directement sur une source de tension sans limitation appropriée du courant. Une résistance en série est normalement utilisée pour protéger la LED.

Un simple projet avec une LED permet donc déjà d’enseigner plusieurs notions : polarité, courant, résistance, tension et programmation.

7. À quoi servent les diodes ?



Les diodes possèdent de nombreuses applications dans l’électronique.

Redresser une tension

Les diodes peuvent être utilisées pour convertir une tension alternative en tension continue.

Protéger un circuit

Certaines diodes permettent de protéger un circuit contre une inversion de polarité ou certaines surtensions.

Commander une charge inductive

Une diode de roue libre peut être utilisée avec certaines charges inductives, comme des relais, des moteurs ou certaines bobines commandées par transistor.

Lorsque le courant d’une charge inductive est interrompu, l’énergie stockée dans la charge peut provoquer une surtension. Une diode correctement choisie et orientée peut fournir un chemin au courant et limiter cette surtension.

Produire de la lumière

Les LED utilisent les propriétés des semi-conducteurs pour produire de la lumière.

Limiter ou stabiliser une tension

Certaines diodes spécialisées, notamment les diodes Zener, sont utilisées dans des circuits de limitation ou de régulation.

8. Comment tester une diode avec un multimètre ?

Le multimètre est un excellent outil pour vérifier une diode.

De nombreux multimètres possèdent une fonction test diode. Pour effectuer une vérification, on place les pointes de touche sur les deux bornes du composant.

Dans le sens direct, le multimètre peut afficher une valeur de tension correspondant à la chute de tension de la diode.

En inversant les pointes de touche, une diode classique en bon état doit normalement indiquer une absence de conduction ou une valeur correspondant à une tension hors plage, selon le modèle de multimètre.

Ce test permet également aux élèves de comprendre concrètement qu’une diode possède un sens.

9. Les erreurs fréquentes avec les diodes

Les débutants commettent souvent quelques erreurs lorsqu’ils commencent à utiliser des diodes.

La première consiste à inverser l’anode et la cathode.

La deuxième consiste à choisir une diode sans vérifier sa tension et son courant maximum.

La troisième erreur est de penser que toutes les diodes sont identiques. Une 1N4148, une 1N4007, une Zener et une LED n’ont pas les mêmes caractéristiques ni les mêmes applications.

Il faut également éviter de connecter une LED sans résistance de limitation appropriée dans un montage classique.

Enfin, il est recommandé de toujours vérifier le schéma et la fiche technique du composant avant de mettre le circuit sous tension.

10. Les diodes dans les projets Arduino et robotique

Les diodes sont particulièrement intéressantes dans les projets Arduino et robotique.

Un élève peut commencer avec une simple LED, puis découvrir progressivement les autres types de diodes.

Par exemple, un projet peut utiliser :

Arduino + capteur + transistor + moteur + diode de protection.

Dans ce type de montage, la diode peut contribuer à protéger le circuit de commande lorsque le moteur est arrêté.

Cette progression permet de passer progressivement de l’électronique simple à la robotique.

Pour un club de robotique destiné aux enfants, la diode peut donc être enseignée à travers plusieurs petits défis :

  1. Identifier l’anode et la cathode.

  2. Reconnaître le symbole.

  3. Tester une diode avec un multimètre.

  4. Faire fonctionner une LED.

  5. Utiliser Arduino pour commander une LED.

  6. Découvrir une diode de protection dans un montage avec moteur.

Cette approche rend le cours plus pratique et plus facile à mémoriser.

Conclusion

La diode électronique est un composant fondamental qu’il est important de connaître avant d’aller plus loin dans l’apprentissage de l’électronique et de la robotique.

Son fonctionnement repose sur une idée simple : le courant est principalement autorisé dans un sens et bloqué dans l’autre, selon la polarisation et les caractéristiques du composant.

Grâce à cette propriété, les diodes peuvent être utilisées pour le redressement, la protection des circuits, la commutation, la limitation de tension ou encore la production de lumière avec les LED.

La diode simple, la 1N4148, la 1N4007, la diode Zener, la diode Schottky et la LED représentent différentes solutions adaptées à des besoins électroniques spécifiques.

Pour apprendre efficacement, il est conseillé de ne pas rester uniquement dans la théorie. Identifier physiquement les composants, lire leur symbole, observer leur polarité, les tester avec un multimètre et réaliser de petits montages Arduino permettent de mieux comprendre leur fonctionnement.

La diode est un petit composant, mais elle constitue une grande étape dans l’apprentissage de l’électronique.

vendredi 18 septembre 2026

Système d’irrigation automatique avec Arduino.

 

Système d’irrigation automatique avec Arduino 

Titre secondaire : Comment créer un arrosage intelligent avec Arduino et un capteur d’humidité du sol ?



L’irrigation automatique avec Arduino est un projet pratique qui permet de découvrir à la fois l’électronique, la programmation et les principes de l’automatisation. Grâce à une carte Arduino, un capteur d’humidité du sol et une petite pompe à eau, il est possible de réaliser un système capable de surveiller automatiquement l’état de la terre et de déclencher l’arrosage lorsque la plante manque d’eau.

Ce projet est particulièrement intéressant pour les débutants, les passionnés d’Arduino et les enfants qui souhaitent apprendre la robotique à travers une réalisation concrète. Il permet également de comprendre comment les capteurs peuvent être utilisés pour prendre des décisions automatiquement.

Dans cet article, nous allons découvrir le fonctionnement d’un système d’irrigation Arduino, les composants nécessaires, le principe du montage, la programmation et plusieurs idées pour améliorer le projet.

Qu’est-ce qu’un système d’irrigation avec Arduino ?

Un système d’irrigation avec Arduino est un dispositif électronique qui automatise l’arrosage d’une plante ou d’un petit jardin.

Le principe est simple : un capteur d’humidité du sol mesure la quantité d’humidité présente dans la terre. Arduino récupère cette information et la compare à une valeur définie dans le programme.

Lorsque la terre devient trop sèche, Arduino commande une pompe à eau. La pompe envoie alors de l’eau vers la plante. Lorsque l’humidité atteint un niveau suffisant, Arduino arrête automatiquement la pompe.

Le système fonctionne donc selon une logique simple :

Mesurer → analyser → décider → arroser → arrêter.

Cette méthode permet de transformer un simple montage électronique en un véritable petit système d’agriculture intelligente.

Les composants nécessaires



Pour réaliser un projet d’irrigation automatique avec Arduino, plusieurs composants électroniques sont nécessaires.

1. Arduino Uno

L’Arduino Uno constitue le cerveau du système. Il reçoit les informations du capteur d’humidité et exécute le programme chargé dans sa mémoire.

Arduino peut ensuite commander différents composants comme une pompe, un relais, une LED ou un buzzer.

2. Capteur d’humidité du sol


Le capteur d’humidité du sol permet de déterminer si la terre est humide ou sèche.

Il existe plusieurs modèles de capteurs. Les modèles simples possèdent généralement deux sondes qui sont placées dans la terre. Le module fournit ensuite une valeur que l’Arduino peut lire.

Il est important de calibrer le capteur, car la valeur obtenue peut varier selon le type de terre, l’humidité et le modèle utilisé.

3. Pompe à eau



La petite pompe à eau permet de transporter l’eau du réservoir vers la plante.

Une pompe ne doit généralement pas être alimentée directement par une sortie Arduino. Il faut utiliser un dispositif de commande adapté, comme un module relais ou un transistor/MOSFET selon le type de pompe.

4. Module relais



Le relais permet à Arduino de commander une charge qui nécessite davantage de courant que ce qu’une sortie de la carte peut fournir.

Arduino envoie simplement un signal au relais. Le relais permet ensuite d’activer ou de désactiver la pompe.

5. Tuyau et réservoir d’eau

Un petit tuyau permet d’acheminer l’eau depuis le réservoir jusqu’au pot de la plante.

Pour un projet pédagogique, une petite bouteille ou un récipient peut servir de réservoir.

6. Alimentation

Le système doit disposer d’une alimentation adaptée à Arduino et à la pompe. Il faut toujours respecter la tension et le courant recommandés pour chaque composant.

Comment fonctionne l’irrigation automatique ?

Le fonctionnement du projet peut être expliqué en quelques étapes.

Tout d’abord, le capteur mesure l’humidité de la terre. Arduino lit ensuite la valeur envoyée par le capteur.

Le programme contient un seuil permettant de déterminer si la terre est suffisamment humide.

Par exemple :

  • Terre humide → la pompe reste arrêtée.

  • Terre sèche → Arduino active la pompe.

  • Humidité suffisante → Arduino arrête la pompe.

Cette logique peut être représentée ainsi :

Capteur → Arduino → Relais → Pompe → Eau → Plante

Le système peut fonctionner automatiquement pendant plusieurs heures ou plusieurs jours sans intervention permanente de l’utilisateur.

Branchement général du système.

Pour un projet simple, le capteur d’humidité peut être connecté à une entrée analogique de l’Arduino.

Par exemple :

  • VCC du capteur → 5V Arduino

  • GND du capteur → GND Arduino

  • AOUT du capteur → A0 Arduino

Le relais peut être connecté à une sortie numérique, par exemple :

  • VCC → 5V

  • GND → GND

  • IN → broche numérique Arduino

La pompe doit être alimentée selon ses caractéristiques électriques et commandée par le relais ou un circuit de puissance approprié.

Attention : la pompe ne doit pas être branchée directement sur une sortie numérique de l’Arduino.

Exemple de programme Arduino.

Voici un exemple simple permettant de comprendre le principe du système :

const int capteurHumidite = A0;
const int pompe = 8;

int seuil = 600;

void setup() {
  pinMode(pompe, OUTPUT);
  digitalWrite(pompe, LOW);

  Serial.begin(9600);
}

void loop() {

  int humidite = analogRead(capteurHumidite);

  Serial.print("Humidite du sol : ");
  Serial.println(humidite);

  if (humidite > seuil) {
    digitalWrite(pompe, HIGH);
    Serial.println("Sol sec : arrosage");
  }
  else {
    digitalWrite(pompe, LOW);
    Serial.println("Sol humide : pompe arrêtée");
  }

  delay(1000);
}

La valeur du seuil dépend du capteur et de son orientation. Il est donc préférable de réaliser plusieurs tests avant de choisir une valeur définitive.

Pourquoi utiliser un capteur d’humidité du sol ?

L’utilisation d’un capteur d’humidité présente un avantage important : le système ne fonctionne pas simplement selon une minuterie.

Avec une minuterie, la pompe peut arroser la plante même si la terre contient déjà suffisamment d’eau.

Avec un capteur d’humidité, Arduino prend sa décision à partir de l’état réel du sol.

Cela permet de créer un système plus intelligent et constitue une excellente introduction à l’automatisation agricole.

Irrigation Arduino pour apprendre la robotique

Le projet d’irrigation automatique est également très intéressant dans l’apprentissage de la robotique.

Les enfants peuvent découvrir plusieurs notions importantes :

  • les capteurs ;

  • les entrées analogiques ;

  • les sorties numériques ;

  • les conditions if ;

  • les variables ;

  • les relais ;

  • les moteurs et pompes ;

  • l’alimentation électrique ;

  • la programmation Arduino ;

  • l’automatisation.

Le projet peut être réalisé progressivement afin que l’enfant comprenne chaque partie avant de construire le système complet.

Par exemple, une première activité peut consister à afficher la valeur du capteur dans le Moniteur série Arduino. Ensuite, l’enfant peut commander une LED lorsque la terre devient sèche. Enfin, la LED peut être remplacée par une pompe.

Cette progression rend le projet plus facile à comprendre.

Comment améliorer le système d’irrigation Arduino ?

Une fois le système de base terminé, plusieurs améliorations sont possibles.

Ajouter un écran LCD

Un écran LCD peut afficher :

Humidité : 45 %
État : Sol humide
Pompe : OFF

L’enfant peut ainsi visualiser les informations du système.

Ajouter un buzzer

Un buzzer peut produire une alerte sonore lorsque la terre devient très sèche.

https://solutionmeca.blogspot.com/2026/09/les-buzzers-utilises-avec-arduino.html

Par exemple, Arduino peut faire retentir le buzzer pendant quelques secondes avant de démarrer la pompe.

Ajouter une LED

Une LED rouge peut indiquer que le sol est sec tandis qu’une LED verte peut indiquer que l’humidité est suffisante.

Cette solution est particulièrement intéressante pour les projets scolaires.

Ajouter un capteur de température et d’humidité

Un capteur comme le DHT11 peut mesurer la température et l’humidité de l’air. Les informations peuvent être combinées avec celles du capteur d’humidité du sol afin de créer un projet plus complet.

Ajouter une commande à distance

Pour aller plus loin, une carte ESP32 peut être utilisée afin de connecter le système à Internet. Les données d’humidité peuvent alors être affichées sur une application ou une interface web.

Le projet évolue ainsi vers une solution d’irrigation intelligente connectée.

Les avantages d’un système d’irrigation automatique

Un système d’arrosage automatique présente plusieurs avantages.

Il permet tout d’abord d’automatiser une tâche répétitive. Il peut également aider à éviter un arrosage inutile lorsque la terre est déjà suffisamment humide.

Sur le plan pédagogique, le projet permet surtout de relier la programmation à une application réelle.

L’enfant ne se contente pas d’écrire du code : il programme une carte électronique qui observe son environnement et agit en fonction des informations reçues.

C’est exactement ce type de projet qui permet de comprendre les bases de la robotique et des systèmes automatisés.

Conclusion

Le système d’irrigation automatique avec Arduino est un excellent projet pour apprendre l’électronique, la programmation et la robotique. Avec quelques composants simples, il est possible de construire un dispositif capable de mesurer l’humidité du sol et de commander automatiquement une pompe à eau.

Le projet peut commencer avec une simple LED et un capteur d’humidité, puis évoluer progressivement vers un système complet équipé d’un relais, d’une pompe, d’un écran LCD, d’un buzzer, de plusieurs capteurs et même d’une connexion Internet.

Pour les enfants, ce projet représente une excellente activité pratique : ils apprennent à mesurer, programmer, tester et résoudre des problèmes tout en construisant un système qui fonctionne réellement.

L’irrigation avec Arduino constitue ainsi une porte d’entrée accessible vers l’agriculture intelligente, l’IoT, l’automatisation et la robotique.

Projet 1 : Entrées et sorties de l’ESP32 (Inputs/Outputs).

   Dans ce guide de démarrage, vous apprendrez à lire des entrées numériques, comme un bouton-poussoir ou un interrupteur, et à commander de...