Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Capteur de lumière ambiante utilisant une photorésistance et des lumières LED !

Composants et fournitures

Arduino UNO
Toute carte avec une broche analogique, au moins deux broches numériques et au moins trois motifs fonctionnera.
× 1
Résistance photo
× 1
LED (générique)
Deux couleurs différentes.
× 2
Résistance 1k ohm
× 1
Résistance 100 ohm
J'ai utilisé des résistances de 220 ohms, mais je pense que 100 ohms fonctionneront mieux.
× 2
Câbles de raccordement (générique)
× 1
Planche à pain (générique)
× 1

Applications et services en ligne

Arduino IDE
Éditeur Web Arduino

À 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

  1. Capteur de couleur – Fonctionnement et applications
  2. Capteur de lumière ambiante ultra-mince OPT3007
  3. Fonctionnement et applications du capteur de lumière ambiante
  4. Principes de base et applications du capteur optique
  5. Capteur de température Python et Raspberry Pi
  6. Capteur de mouvement utilisant Raspberry Pi
  7. Capteur de température et de luminosité Raspberry Pi
  8. Capteur de lumière activé par la voix et les SMS utilisant Raspberry Pi et Twilio
  9. Comprendre les voyants et les indicateurs du tableau de bord de la voiture