⭐⭐ Débutant avancé
⏱️ 15 minutes
Petite veilleuse
Tu fabriques une veilleuse intelligente. Quand il fait sombre, l’anneau LED s’allume doucement. Quand il fait clair, il s’éteint.
🧰 De quoi as-tu besoin ?
🗺️ Schéma de branchement
Suis les fils de l’Arduino vers chaque pièce. Tu peux choisir toi-même les couleurs des fils.
| De | Vers |
|---|---|
Arduino UNO · A0 |
Capteur de lumière (LDR) · S |
Arduino UNO · 5V |
Capteur de lumière (LDR) · + |
Arduino UNO · GND |
Capteur de lumière (LDR) · - |
Arduino UNO · D6 |
Anneau LED RGB (8 LEDs) · DI |
Arduino UNO · 5V |
Anneau LED RGB (8 LEDs) · 5V |
Arduino UNO · GND |
Anneau LED RGB (8 LEDs) · GND |
🛠️ Voici comment le construire
- Branche le capteur de lumière : S vers A0, + vers 5V et − vers GND.
- Branche l’anneau LED : DI vers pin 6, 5V vers 5V et GND vers GND.
- Ouvre le moniteur série et regarde quel nombre tu vois quand il fait clair et quand il fait sombre. Adapte
SEUIL_SOMBREavec ça.
💻 Le code
// Veilleuse
// Il fait sombre ? Alors l’anneau LED s’allume doucement. Il fait clair ? Alors il s’éteint.
#include <Adafruit_NeoPixel.h>
const int LUMIERE_PIN = A0; // S du capteur de lumière sur A0
const int ANNEAU_PIN = 6; // DI de l’anneau LED sur pin 6
const int NOMBRE_LEDS = 8;
// Avec cette valeur, on trouve qu’il fait "sombre". Regarde dans le moniteur série quel nombre tu vois
// quand il fait clair et quand il fait sombre, puis mets ici un nombre entre les deux.
const int SEUIL_SOMBRE = 500;
Adafruit_NeoPixel anneau(NOMBRE_LEDS, ANNEAU_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(9600);
anneau.begin();
anneau.setBrightness(60);
anneau.show();
}
void loop() {
int lumiere = analogRead(LUMIERE_PIN); // Un nombre de 0 à 1023
Serial.print(F("Capteur lum.: "));
Serial.println(lumiere);
// Avec ce capteur, le nombre monte quand il fait plus sombre.
// Chez toi, c’est l’inverse ? Alors remplace > par <.
bool sombre = lumiere > SEUIL_SOMBRE;
for (int i = 0; i < NOMBRE_LEDS; i++) {
if (sombre) {
anneau.setPixelColor(i, anneau.Color(255, 140, 40)); // Lumière jaune chaude
} else {
anneau.setPixelColor(i, 0); // Éteint
}
}
anneau.show();
delay(200);
}
🧠 Que fait le code ?
- Le capteur de lumière est sur A0.
analogRead()donne un nombre de 0 à 1023. - Le nombre est plus grand que
SEUIL_SOMBRE? Alors on trouve qu’il fait sombre. - Dans le noir, on donne à toutes les petites lampes une couleur jaune chaude. Sinon, elles s’éteignent.
🎯 Essaie un peu…
- Fais briller la petite lampe de plus en plus fort quand il fait de plus en plus sombre
- Fais changer la couleur doucement, comme une lampe d’ambiance apaisante
- Fais s’éteindre la petite lampe toute seule après 1 minute
🚀 Construis ce projet avec Codey : ouvre codey.online/fr/starter-kits/uno/projects/night-light et clique sur FAIS ÇA. Alors le code et le schéma de branchement sont tout de suite prêts.
Codey Online est un produit de OTRONIC