SunuLab
Notre savoir
Tous les projets
Facile30 minKit Capteurs

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.

Vidéo du tutoriel — à venir
Veilleuse automatique
Tu auras besoin du

SunuMake Capteurs

Mesure ton environnement7 composants inclus.

15 000 FCFAVoir le kit
Pas à pas

Les étapes

  1. 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. 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. 3

    Câble la LED

    Patte longue de la LED → broche 9 via une résistance 220 Ω. Patte courte → GND.

  4. 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. 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.

Code Arduino

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).

sketch.ino
// Veilleuse automatique — LDR sur A0, LED sur la broche 9
const int LDR = A0;
const int LED = 9;
const int SEUIL = 500; // ajuste selon la luminosité de ta pièce
void 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);
}
Mini-cours

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.

Continuer

D'autres projets à essayer