Capteur de lumière ambiante avec photorésistance et LED : guide pas à pas
Composants et fournitures
| Arduino UNO (ou toute carte avec 1 entrée analogique + 2 sorties numériques + 3 GND) | 1 |
| Photorésistance (LDR) | 1 |
| LED (deux couleurs différentes) | 2 |
| Résistance 1 kΩ (pour LDR) | 1 |
| Résistance 100 Ω (pour LED, 220 Ω fonctionnent aussi) | 2 |
| Fils de connexion | 1 jeu |
| Plaque d'essai (breadboard) | 1 |
Applications et services en ligne
- Arduino IDE
- Arduino Web Editor
À propos de ce projet
J'utilise Arduino depuis un moment et il était temps de concevoir mon propre projet de A à Z. J'ai adapté des circuits trouvés en ligne (Alex Glow, Joe Coburn) pour les besoins de ce projet. N'hésitez pas à commenter si vous trouvez des améliorations !
Câblage
La photorésistance est branchée sur l'entrée analogique A0 (toute entrée analogique convient) et le 5V sur le rail d'alimentation de la breadboard. Elle traverse une résistance 1 kΩ vers la masse (diviseur de tension).
Deux LED (couleurs différentes) sont câblées de l'autre côté de la breadboard : anodes sur broches numériques 13 et 12 (toutes deux PWM), cathodes vers la masse via une résistance 100 Ω (ou 220 Ω).
Fonctionnement
Le programme lit la valeur analogique (0-1023) de la photorésistance et allume les LED selon trois seuils :
- Lumineux (> 450) : Affiche « It is quite light! » sur le moniteur série, éteint les deux LED.
- Lumière moyenne (230-450) : Affiche « It is average light! », allume la LED gauche (pin 13), éteint la droite.
- Sombre (< 230) : Affiche « It is pretty dark! », allume les deux LED.
Un délai de 1000 ms en fin de boucle évite de saturer le moniteur série.
Code
LED_PR_Light_Read (Arduino)
int light = 0; // valeur lumineuse courante
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT); // LED gauche
pinMode(12, OUTPUT); // LED droite
}
void loop() {
light = analogRead(A0); // lecture photorésistance
Serial.println(light); // affichage valeur brute
if (light > 450) { // Lumineux
Serial.println("It is quite light!");
digitalWrite(13, LOW);
digitalWrite(12, LOW);
}
else if (light > 229 && light < 451) { // Lumière moyenne
Serial.println("It is average light!");
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
}
else { // Sombre
Serial.println("It is pretty dark!");
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
}
delay(1000); // ne pas spammer le moniteur série !
}
Schémas
Schéma de câblage (photo breadboard) disponible dans le projet original.
Processus de fabrication
- Capteurs de Couleur : Fonctionnement et Applications Clés
- Capteur de lumière ambiante OPT3007 ultra-fin – Mesure précise pour appareils intelligents
- Capteurs de lumière ambiante : Fonctionnalité, conception et applications clés
- Capteurs optiques : Fondamentaux, types et applications pratiques
- Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
- Contrôler une LED avec un capteur de mouvement PIR sur Raspberry Pi
- Construire un système de surveillance température et lumière multi-capteurs avec Raspberry Pi et DS18B20
- Capteur d'occupation de salle de bain basé sur Raspberry Pi avec alertes vocales et SMS via Twilio
- Décoder le tableau de bord de votre voiture : voyants, indicateurs et leur signification