Interrupteur crépusculaire miniature DIY avec photorésistance et relais

Figure 1 : Un montage crépusculaire compact, idéal pour l'éclairage automatique de jardin ou de garage.

Bienvenue sur TechFix Hub ! Allumer automatiquement l'éclairage du jardin, de la terrasse ou d'un abri lorsque la nuit tombe est l'un des projets de domotique les plus classiques et les plus utiles. Autrefois réalisé avec de simples transistors, ce montage a évolué.

Dans ce guide, nous allons d'abord comprendre le principe électronique de base d'un interrupteur crépusculaire (utilisant une photorésistance LDR), puis nous verrons comment le moderniser avec un ESP32 ou un Arduino pour obtenir un système intelligent, réglable et fiable, sans les défauts des montages purement analogiques.

⚙️ 1. Le Principe : Comment Fonctionne une Photorésistance (LDR) ?

Le cœur de ce montage est la photorésistance (LDR - Light Dependent Resistor). Sa résistance électrique varie en fonction de la lumière qu'elle reçoit :

  • En pleine lumière : Sa résistance est très faible (quelques centaines d'ohms).
  • Dans l'obscurité : Sa résistance devient très élevée (plusieurs mégaohms).

En plaçant cette LDR en série avec une résistance fixe (par exemple 10 kΩ), on crée un pont diviseur de tension. La tension au point milieu varie donc avec la luminosité. Un comparateur (comme le LM393) ou l'entrée analogique d'un microcontrôleur lit cette tension et active un relais lorsque le seuil d'obscurité est atteint.

🛠️ 2. Liste des Composants (BOM) pour la Version ESP32/Arduino

Pour un projet fiable en 2026, nous recommandons l'approche microcontrôleur, qui permet d'ajouter une hystérésis (pour éviter que le relais ne claque sans cesse au crépuscule) et un réglage fin du seuil.

Composant Valeur / Référence Rôle
Microcontrôleur ESP32 ou Arduino Nano Cerveau du système pour lire le capteur et piloter le relais.
Capteur Photorésistance (LDR) + Résistance 10 kΩ Formation du pont diviseur de tension pour la mesure de luminosité.
Relais Module Relais 5V (avec optocoupleur) Isolation galvanique et commutation de la charge (lampe 230V ou LED 12V).
Alimentation 5V (via USB ou module HLK-PM01 pour le 230V) Alimentation sécurisée du circuit de commande.

⚠️ 3. AVERTISSEMENTS DE SÉCURITÉ (CRUCIAL)

🚨 DANGER ÉLECTRIQUE 230V :
  • Ne bricolez jamais le 230V à nu : Si vous commutez une lampe secteur, utilisez impérativement un module relais pré-câblé avec optocoupleur et enfermez l'ensemble dans un boîtier plastique isolé (IP65 pour l'extérieur).
  • Alternative sécurisée pour débutants : Commutez d'abord une charge en 12V ou 24V (comme une bande LED ou une petite pompe) pour maîtriser le montage sans risque d'électrocution.
  • Coupez toujours le courant au disjoncteur avant toute intervention dans le boîtier électrique.

💻 4. Le Code : Gestion Intelligente avec Hystérésis

Contrairement à un montage analogique basique, ce code intègre une hystérésis. Cela signifie que le seuil d'allumage (ex: valeur 300) est différent du seuil d'extinction (ex: valeur 400), ce qui empêche le relais de s'activer et de se désactiver en boucle lors des variations lumineuses du crépuscule.

const int ldrPin = 34;      // Broche analogique pour la LDR (ESP32)
const int relayPin = 26;    // Broche de commande du relais

// Seuils de luminosité (à calibrer selon votre LDR et résistance)
const int thresholdON = 300;  // Allume en dessous de cette valeur (nuit)
const int thresholdOFF = 400; // Éteint au-dessus de cette valeur (jour)

bool isLightOn = false;

void setup() {
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, HIGH); // Relais actif à l'état BAS (LOW)
  Serial.begin(115200);
}

void loop() {
  int lightLevel = analogRead(ldrPin);
  Serial.print("Niveau de lumière : ");
  Serial.println(lightLevel);

  // Logique avec hystérésis pour éviter le papillonnement du relais
  if (!isLightOn && lightLevel < thresholdON) {
    digitalWrite(relayPin, LOW); // Allume la lumière
    isLightOn = true;
    Serial.println("Lumière ALLUMÉE");
  } 
  else if (isLightOn && lightLevel > thresholdOFF) {
    digitalWrite(relayPin, HIGH); // Éteint la lumière
    isLightOn = false;
    Serial.println("Lumière ÉTEINTE");
  }
  
  delay(1000); // Lecture toutes les secondes
}
      

🚀 5. L'Upgrade "TechFix Hub" : Vers la Domotique Connectée

Pourquoi s'arrêter à un simple seuil fixe ? Avec un ESP32, vous pouvez pousser le concept beaucoup plus loin :

  • Réglage via Smartphone : Ajoutez un petit serveur Web sur l'ESP32 pour modifier les seuils `thresholdON` et `thresholdOFF` directement depuis votre navigateur, sans reprogrammer la carte.
  • Intégration Home Assistant : Utilisez le protocole MQTT pour envoyer l'état de la luminosité et du relais à votre box domotique. Vous pourrez ainsi créer des scénarios complexes (ex: "N'allumer la lumière que si la luminosité est faible ET qu'il y a du mouvement").
  • Mode Vacances : Programmez l'ESP32 pour qu'il allume et éteigne la lumière à des heures aléatoires en journée pour simuler une présence, en plus du mode crépusculaire.

🔗 Pour Aller Plus Loin sur TechFix Hub

Les capteurs et la domotique n'ont plus de secrets pour vous ? Consultez ces guides complémentaires :

✅ Conclusion

L'interrupteur crépusculaire est un excellent projet pour comprendre l'interaction entre le monde analogique (la lumière) et le monde numérique (le microcontrôleur). En abandonnant les montages à transistors instables au profit d'une solution à base d'ESP32 ou d'Arduino, vous gagnez en fiabilité, en sécurité et en possibilités d'extension. À vos fers à souder !

🛠️ Un projet d'automatisation en tête ?

Vous avez des questions sur le choix de la LDR, le câblage du relais ou l'intégration avec Home Assistant ? Posez votre question dans les commentaires ci-dessous, la communauté TechFix Hub se fera un plaisir de vous aider !

Mots-clés : Interrupteur Crépusculaire Photorésistance LDR ESP32 & Arduino Domotique DIY Capteurs & IoT

Bottom Ad [Post Page]