Capteur de lumière ambiante utilisant une photorésistance et des lumières LED !
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
Applications et services en ligne
| ||||
|
À propos de ce projet
J'utilise Arduino depuis un petit moment maintenant et j'ai décidé qu'il était plus que temps de concevoir mon propre projet à partir de zéro. J'ai modifié certains circuits que j'ai trouvés en ligne auprès d'Alex Glow et de Joe Coburn afin qu'ils conviennent mieux à ce projet. S'il vous plaît, si vous rencontrez des problèmes ou pensez avoir trouvé quelque chose qui fonctionne mieux que ma conception, veuillez commenter ci-dessous et je vous répondrai.
Câblage
J'ai une photorésistance câblée sur la broche analogique 0 (n'importe quelle broche analogique fonctionnerait) et un 5V sur le côté droit de la planche à pain. Il passe par une résistance de 1K ohm mise à la terre. J'ai câblé une LED (n'importe quelle couleur) sur le côté opposé de la planche à pain dans la broche numérique 13 (n'importe quelle broche numérique fonctionnerait) et une résistance de 220 ohms mise à la terre (une 100 ohms fonctionnerait également). Légèrement à droite de la première LED, une LED d'une couleur différente a câblé de la même manière, juste avec une broche numérique différente.
Comment ça marche
Si la photo-résistance lit une valeur supérieure à 450, elle imprime « C'est assez léger ! » sur le moniteur série et éteint toutes les LED, comme ceci :
if(light> 450) { // S'il fait clair... Serial.println("Il fait assez clair!"); digitalWrite(13,LOW); // éteindre la LED gauche digitalWrite(12,LOW); // éteint la LED de droite }
S'il lit une valeur entre 230 et 450, il affiche « C'est une lumière moyenne ! » sur le moniteur série et allume la LED de gauche, comme ceci :
else if(light> 229 &&light <451) { // Si c'est une lumière moyenne... Serial.println("C'est une lumière moyenne !"); digitalWrite(13, ÉLEVÉ); // allume la LED gauche sur digitalWrite(12,LOW); // éteint la LED de droite }
Cela ne nous laisse que des valeurs inférieures à 230 à prendre en compte. Si une valeur est inférieure à 230, il affiche « Il fait assez sombre ! » sur le moniteur série et allume les deux LED, comme ceci :
else { // S'il fait sombre... Serial.println("Il fait plutôt sombre !"); écriture numérique(13, ÉLEVÉ); // Tournez la LED gauche sur digitalWrite(12,HIGH); // Allume la LED de droite }
J'ai ajouté un délai de 1000 à la fin de ma boucle pour éviter une surcharge d'informations dans le moniteur série, comme ceci :
délai(1000); // ne pas spammer l'ordinateur !
Assurez-vous de regarder le schéma et de vérifier votre code avant de télécharger ou d'exécuter quoi que ce soit.
Code
- LED_PR_Light_Read
LED_PR_Light_ReadArduino
int light =0 ; // stocke la valeur actuelle de la lumière void setup() { // mettez votre code de configuration ici, à exécuter une fois :Serial.begin(9600); //configuration série pour parler à l'ordinateur pinMode(13, OUTPUT); // configure la broche numérique 13 comme sortie pinMode(12, OUTPUT); // configurez la broche numérique 12 comme sortie}boucle vide() { // mettez votre code principal ici, pour qu'il s'exécute à plusieurs reprises :light =analogRead(A0) ; // lit et enregistre la valeur de PR Serial.println(light); // affiche la valeur actuelle de la lumière if(lumière> 450) { // S'il est clair... Serial.println("C'est assez clair !"); digitalWrite(13,LOW); // éteindre la LED gauche digitalWrite(12,LOW); // éteint la LED de droite } else if(light> 229 &&light <451) { // Si c'est une lumière moyenne... Serial.println("C'est une lumière moyenne!"); digitalWrite(13, ÉLEVÉ); // allume la LED gauche sur digitalWrite(12,LOW); // éteint la LED de droite } else { // S'il fait sombre... Serial.println("Il fait plutôt sombre!"); écriture numérique(13, ÉLEVÉ); // Tournez la LED gauche sur digitalWrite(12,HIGH); // Allume la LED droite } delay(1000); // ne pas spammer l'ordinateur !}
Schémas
Processus de fabrication
- Capteur de couleur – Fonctionnement et applications
- Capteur de lumière ambiante ultra-mince OPT3007
- Fonctionnement et applications du capteur de lumière ambiante
- Principes de base et applications du capteur optique
- Capteur de température Python et Raspberry Pi
- Capteur de mouvement utilisant Raspberry Pi
- Capteur de température et de luminosité Raspberry Pi
- Capteur de lumière activé par la voix et les SMS utilisant Raspberry Pi et Twilio
- Comprendre les voyants et les indicateurs du tableau de bord de la voiture