Dans ce projet, vous allez construire une veilleuse de nuit avec un module relais, une photorésistance et un Arduino.

Une veilleuse de nuit ne s’allume que lorsqu’il fait noir et lorsqu’un mouvement est détecté.
Voici les principales caractéristiques de ce projet :
- la lampe s’allume lorsqu’il fait sombre ET qu’un mouvement est détecté ;
- lorsqu’un mouvement est détecté, la lampe reste allumée pendant 10 secondes ;
- lorsque la lampe est allumée et détecte un mouvement, elle recommence à compter 10 secondes ;
- lorsqu’il y a de la lumière, la lampe est éteinte, même lorsqu’un mouvement est détecté.
Ressources recommandées
Les ressources suivantes incluent des guides sur la façon d’utiliser le module de relais et le capteur de mouvement PIR avec l’Arduino, ce qui pourrait être utile pour ce projet.
Pièces nécessaires
Voici une liste complète des pièces requises pour ce projet :

Outre ces composants électroniques, vous avez également besoin d’une prise mâle AC, d’un fil AC et d’un support d’ampoule de lampe (un jeu de cordons de lampe). Mon cordon de lampe est celui de la figure ci-dessous.

Vous pouvez utiliser les liens précédents ou accéder directement à MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix !
Code
Téléchargez ou copiez le code suivant sur votre IDE Arduino et chargez-le sur votre carte Arduino.
Avertissement: ne chargez pas un nouveau code sur votre carte Arduino tant que votre lampe est connectée au secteur. Vous devez débrancher la lampe de la tension secteur avant de télécharger un nouveau croquis sur votre Arduino.
/*
* Rui Santos
* Complete Project Details https://www.raspberryme.com
*/
// Relay pin is controlled with D8. The active wire is connected to Normally Closed and common
int relay = 8;
volatile byte relayState = LOW;
// PIR Motion Sensor is connected to D2.
int PIRInterrupt = 2;
// LDR pin is connected to Analog 0
int LDRPin = A0;
// LDR value is stored on LDR reading
int LDRReading;
// LDR Threshold value
int LDRThreshold = 300;
// Timer Variables
long lastDebounceTime = 0;
long debounceDelay = 10000;
void setup() {
// Pin for relay module set as output
pinMode(relay, OUTPUT);
digitalWrite(relay, HIGH);
// PIR motion sensor set as an input
pinMode(PIRInterrupt, INPUT);
// Triggers detectMotion function on rising mode to turn the relay on, if the condition is met
attachInterrupt(digitalPinToInterrupt(PIRInterrupt), detectMotion, RISING);
// Serial communication for debugging purposes
Serial.begin(9600);
}
void loop() {
// If 10 seconds have passed, the relay is turned off
if((millis() - lastDebounceTime) > debounceDelay && relayState == HIGH){
digitalWrite(relay, HIGH);
relayState = LOW;
Serial.println("OFF");
}
delay(50);
}
void detectMotion() {
Serial.println("Motion");
LDRReading = analogRead(LDRPin);
// LDR Reading value is printed on serial monitor, useful to get your LDRThreshold
//Serial.println(LDRReading);
// Only turns the Relay on if the LDR reading is higher than the LDRThreshold
if(LDRReading > LDRThreshold){
if(relayState == LOW){
digitalWrite(relay, LOW);
}
relayState = HIGH;
Serial.println("ON");
lastDebounceTime = millis();
}
}
Schémas

Voici les schémas de ce projet.

Noter: si vous avez une connexion de terre (GND) dans le câble de tension secteur – un câble jaune et vert – elle doit sortir du module de relais, comme le fil bleu (neutre).
Manifestation
Voici votre circuit en action :

Conclusion
Dans ce projet, vous avez construit une lumière de sécurité nocturne avec une photorésistance et un capteur de mouvement PIR.
C’est un excellent projet à pratiquer avec des relais et avec le capteur de mouvement PIR.
Si vous aimez les projets Arduino, assurez-vous de consulter notre dernier cours Arduino : Projets Arduino étape par étape – Construire 25 projets
Merci d’avoir lu,
Sara Santos
-
Veilleuse LED, Lot de 2 Veilleuse Detecteur de Mouvement Avec 3 Modes de Couleur (Chaud et Blanc et Mixte), Veilleuse Rechargeable avec Bandes MagnéTiques pour Chambre, Couloir, Escaliers

