Carte Arduino   Explication du code IRS-SI 1. Les bibliothèques #include #include #include #include #include On charge les outils nécessaires : SPI et Ethernet pour la connexion réseau, Wire pour le bus I2C, rgb_lcd pour l'écran, AM2302 pour le capteur température/humidité. 2. La configuration #define PIN_DHT A0 #define PIN_BOUTON 2 #define PIN_LUMINOSITE A3 On déclare les broches utilisées. Si tu changes un câble de place, tu modifies juste ici sans toucher au reste du code. 3. Les objets rgb_lcd lcd; EthernetServer serveur(PORT_HTTP); AM2302::AM2302_Sensor capteurDHT(PIN_DHT); On crée les 3 composants principaux : l'écran, le serveur web sur le port 80, et le capteur DHT. 4. Le setup — initialisation lcd.begin(16, 2); lcd.setRGB(0, 0, 255); lcd.print("Initialisation"); L'écran démarre en bleu et affiche "Initialisation". if (Ethernet.begin(mac)) { lcd.setRGB(0, 255, 0); lcd.print(Ethernet.localIP()); serveur.begin(); } else { lcd.setRGB(255, 0, 0); lcd.print("ERREUR reseau"); while (true) { } } On demande une adresse IP au routeur (DHCP). Si ça marche → écran vert + affichage de l'IP. Si ça échoue → écran rouge + blocage total. 5. La boucle principale if (digitalRead(PIN_BOUTON) == LOW) { lireCapteurs(); afficherSurLCD(); } En permanence : si le bouton est pressé, on lit les capteurs et on affiche sur l'écran. EthernetClient client = serveur.available(); if (client) { traiterRequeteHTTP(client); } En permanence aussi : si quelqu'un se connecte via un navigateur, on lui répond. 6. La lecture des capteurs void lireCapteurs() { capteurDHT.read(); temperature = capteurDHT.get_Temperature(); humidite = capteurDHT.get_Humidity(); luminosite = analogRead(PIN_LUMINOSITE); } On interroge le capteur DHT pour la temp/humidité, et on lit la valeur analogique du capteur de luminosité (0 = sombre, 1023 = pleine lumière). 7. La page web client.println("HTTP/1.1 200 OK"); ... client.print("

Temperature : "); client.print(temperature, 1); client.print("

Humidite : "); client.print(humidite, 0); client.print("

Luminosite : "); client.print(luminosite); On envoie une page HTML simple au navigateur avec les 3 valeurs des capteurs en temps réel.