Veilleuse automatique
Une photorésistance détecte la nuit : quand il fait sombre, ta LED s'allume toute seule. La nuit, ta chambre n'est plus jamais complètement noire.
Très utile pendant les coupures de courant — pose ta veilleuse dans le couloir et oublie la lampe-torche.
SunuMake Capteurs
Mesure ton environnement — 7 composants inclus.
Les étapes
- 1
Matériel
1 photorésistance (LDR), 1 résistance 10 kΩ (pour le diviseur de tension), 1 LED, 1 résistance 220 Ω, 6 fils.
- 2
Câble la LDR en diviseur de tension
Une patte de la LDR va sur le rail rouge (5 V). L'autre patte va sur la broche A0 ET sur la résistance 10 kΩ. L'autre bout de la résistance 10 kΩ va au rail bleu (GND). Ce montage transforme la résistance variable de la LDR en une tension variable que A0 peut lire.
- 3
Câble la LED
Patte longue de la LED → broche 9 via une résistance 220 Ω. Patte courte → GND.
- 4
Téléverse et observe le moniteur série
Téléverse, puis ouvre le moniteur série (loupe en haut à droite de l'IDE, à 9600 bauds). Tu vois la valeur de la LDR défiler : entre 0 (très sombre) et 1023 (très lumineux). Couvre la LDR avec ta main — la valeur baisse, la LED s'allume.
- 5
Calibre le seuil
Le seuil par défaut (500) marche dans la plupart des cas. Si la LED s'allume tout le temps ou jamais, ajuste la constante `SEUIL` dans le code en fonction des valeurs que tu observes dans le moniteur série.
Le programme à téléverser
Copie ce code dans l'IDE Arduino, branche ta carte en USB et clique sur le bouton « Téléverser » (la flèche en haut à gauche).
// Veilleuse automatique — LDR sur A0, LED sur la broche 9const int LDR = A0;const int LED = 9;const int SEUIL = 500; // ajuste selon la luminosité de ta piècevoid setup() { pinMode(LED, OUTPUT); Serial.begin(9600); // pour observer la valeur de la LDR}void loop() { int lumiere = analogRead(LDR); // valeur entre 0 et 1023 Serial.println(lumiere); if (lumiere < SEUIL) { digitalWrite(LED, HIGH); // il fait sombre → on allume } else { digitalWrite(LED, LOW); // il fait clair → on éteint } delay(100);}Comment ça marche ?
Une photorésistance (ou LDR — *Light-Dependent Resistor*) est une résistance dont la valeur change avec la lumière : forte résistance dans le noir (≈ 1 MΩ), faible résistance en plein jour (≈ 1 kΩ).
Mais l'Arduino ne sait pas mesurer une résistance directement — il sait lire une tension avec analogRead(). On utilise donc un montage classique appelé diviseur de tension : la LDR et une résistance fixe (10 kΩ) en série entre 5 V et GND. La tension au point central varie avec la résistance de la LDR.
analogRead() convertit cette tension (entre 0 V et 5 V) en un nombre entier entre 0 et 1023 — c'est ce qu'on appelle un convertisseur analogique-numérique (CAN, ou ADC en anglais). Notre code compare simplement cette valeur à un seuil pour décider si la LED doit s'allumer.