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 Raspberry Pi :un didacticiel LDR simple

Dans ce tutoriel sur le capteur de lumière Raspberry Pi, je vous montre comment connecter correctement le capteur photorésistant jusqu'aux broches GPIO. Enfin, je vous montre comment il peut être utilisé dans un simple script python afin que vous puissiez collecter et utiliser les données qu'il contient.

C'est encore un autre capteur que je chercherai à incorporer dans de futurs projets, comme un réveil activé par la lumière.

J'explique un peu plus bas chacune des pièces que je vais utiliser dans ce circuit. Assurez-vous de le lire si vous avez besoin de plus d'informations à ce sujet. Il est important de noter que pour ce didacticiel, j'utilise simplement un simple capteur de cellule photoélectrique, alors qu'il est parfait pour certaines tâches, il peut ne pas être aussi précis que vous le souhaiteriez.

Si vous voulez voir visuellement étape par étape comment configurer le circuit et le code du capteur de lumière, assurez-vous de regarder la vidéo juste sous la liste des équipements.

Équipement :

Vous aurez besoin du matériel suivant pour pouvoir terminer ce didacticiel sur le capteur de lumière Raspberry Pi. Vous pouvez le faire sans aucun équipement de maquette, mais je vous recommande fortement d'investir dans certains si vous prévoyez de faire beaucoup de travail sur les circuits.

Recommandé :

Framboise Pi

Carte SD de 8 Go ou carte Micro SD si vous utilisez un Raspberry Pi 2 ou B+

Cordon Ethernet ou clé Wi-Fi

Capteur de lumière (Capteur LDR)

1 Condensateur 1uF

Facultatif :

Etui Raspberry Pi

Clavier USB

Souris USB

Kit de déploiement GPIO

Planche à pain

Fil de planche à pain

Vidéo

La vidéo contient presque tout ce que fait la version texte de ce didacticiel. C'est parfait si vous préférez voir les choses se faire visuellement. Vous pourrez également voir comment le circuit devrait fonctionner une fois que vous avez terminé.

Vous pouvez trouver des instructions textuelles et des informations juste en dessous de la vidéo.

Le circuit du capteur de lumière Raspberry Pi

Le circuit que nous allons faire pour ce tutoriel est super simple et est idéal pour tous ceux qui débutent avec les circuits.

La résistance dépendante de la lumière ou également connue sous le nom de capteur LDR est l'équipement le plus important de notre circuit (évidemment). Sans cela, nous ne serions pas en mesure de détecter s'il fait sombre ou clair. A la lumière ce capteur aura une résistance de quelques centaines d'ohms alors que dans l'obscurité il pourra avoir une résistance de plusieurs mégohms.

Le condensateur de notre circuit est là, nous sommes donc en mesure de mesurer la résistance du capteur LDR. Un condensateur agit essentiellement comme une batterie qui se charge tout en recevant de l'alimentation, puis se décharge lorsqu'elle n'est plus alimentée. En l'utilisant en série avec le LDR, nous pouvons déterminer la résistance que le LDR émet, qu'il soit clair ou sombre.

Pour construire correctement le circuit du capteur de lumière, suivez les étapes ci-dessous ou consultez le schéma de circuit juste en dessous des étapes. Dans les étapes suivantes, je fais référence aux numéros physiques des broches (ordre logique).

  1. Connectez d'abord la broche 1 (3v3) au rail positif de la maquette.
  2. Connectez ensuite la broche n° 6 (masse) au rail de masse de la maquette.
  3. Maintenant, placez le capteur LDR sur la carte et faites passer un fil d'une extrémité au rail positif.
  4. De l'autre côté du capteur LDR, placez un fil menant au Raspberry Pi. Accrochez-le à la broche n°7.
  5. Enfin, placez le condensateur du fil au rail négatif sur la planche à pain. Assurez-vous d'avoir la broche négative du condensateur dans le rail négatif.

Nous sommes maintenant prêts à passer au code Python, si vous rencontrez des problèmes avec le circuit, reportez-vous au schéma ci-dessous.

Le Code

Le code de ce projet est assez simple et nous dira à peu près s'il est clair, ombragé ou complètement sombre.

Le plus gros problème auquel nous sommes confrontés avec ce circuit est le fait que le Pi n'a pas de broches analogiques. Ils sont tous numériques, nous ne pouvons donc pas mesurer avec précision la variance de la résistance sur notre entrée. Ce manque de broches analogiques n'était pas un problème dans le didacticiel du capteur de mouvement puisque la sortie de celui-ci était soit élevée, soit faible (numérique). Au lieu de cela, nous allons mesurer le temps qu'il faut au condensateur pour se charger et envoyer la broche haute. Cette méthode est un moyen facile mais imprécis de dire s'il fait clair ou sombre.

Je vais brièvement expliquer le code du capteur de lumière Raspberry Pi, et ce qu'il fait, si vous voulez le code, vous pouvez le copier et le coller ci-dessous ou le télécharger depuis mon GitHub.

Pour commencer, nous importons le package GPIO dont nous aurons besoin pour pouvoir communiquer avec les broches GPIO. Nous importons également le package de temps, nous pouvons donc mettre le script en veille quand nous en avons besoin.

#!/usr/local/bin/pythonimport RPi.GPIO as GPIOimport time 

Nous définissons ensuite le mode GPIO sur GPIO.BOARD, cela signifie que toute la numérotation que nous utilisons dans ce script fera référence à la numérotation physique des broches. Comme nous n'avons qu'une seule broche d'entrée/sortie, nous n'avons besoin de définir qu'une seule variable. Définissez cette variable sur le numéro de la broche que vous avez agissant comme broche d'entrée/sortie.

GPIO.setmode(GPIO.BOARD)#define la broche qui va au circuitpin_to_circuit =7 

Ensuite, nous avons une fonction appelée rc_time cela nécessite un paramètre qui est le numéro de broche du circuit. Dans cette fonction, nous initialisons une variable appelée count, nous renverrons cette valeur une fois que la broche passera au niveau haut.

Nous définissons ensuite notre broche pour qu'elle agisse comme une sortie, puis la définissons sur faible, nous laissons ensuite le script en veille pendant 10 ms.

Après cela, nous définissons ensuite la broche pour qu'elle devienne une entrée, puis nous entrons dans une boucle while. Nous restons dans cette boucle jusqu'à ce que la broche passe au niveau haut, c'est à ce moment-là que le condensateur se charge à environ 3/4. Une fois qu'il atteint un niveau élevé, nous renvoyons la valeur de comptage à la fonction principale. Vous pouvez utiliser cette valeur pour allumer et éteindre une LED, activer autre chose ou enregistrer les données et conserver des statistiques sur toute variation de lumière.

def rc_time (pin_to_circuit):count =0 #Sortie sur la broche pour GPIO.setup(pin_to_circuit, GPIO.OUT) GPIO.output(pin_to_circuit, GPIO.LOW) time.sleep(0.1) #Modifier le broche de retour à l'entrée GPIO.setup(pin_to_circuit, GPIO.IN) #Comptez jusqu'à ce que la broche passe au niveau haut tandis que (GPIO.input(pin_to_circuit) ==GPIO.LOW):count +=1 return count#Catch lorsque le script est interrompu, nettoyage correctementtry :# Boucle principale while True :print rc_time(pin_to_circuit)except KeyboardInterrupt :passfinally :GPIO.cleanup() 

Déployer et exécuter le code sur votre Raspberry Pi

Cette étape est incroyablement facile, mais je passerai rapidement en revue les étapes afin que vous puissiez la mettre en place et l'exécuter sur votre Pi aussi rapidement et facilement que possible. Comme tous les tutoriels sur ce site Web, j'utilise Raspbian si vous avez besoin d'aide pour installer Raspbian, consultez mon guide d'installation de Raspbian.

Bien que tous les packages logiciels doivent déjà être installés dans certains cas, il se peut que ce ne soit pas le cas. Si vous souhaitez en savoir plus sur les broches GPIO et sur la mise à jour et l'installation du logiciel, consultez mon didacticiel sur la configuration des broches GPIO sur le Raspberry Pi.

Vous pouvez télécharger le code en utilisant git clone. La commande suivante fera exactement cela :

git clone https://github.com/pimylifeup/Light_Sensor/cd ./Light_Sensor 

Alternativement, vous pouvez copier et coller le code, assurez-vous simplement que le fichier est un script python.

sudo nano light_sensor.py 

Une fois que vous avez terminé dans le fichier, utilisez simplement ctrl x puis y pour enregistrer et quitter.

Enfin, exécutez le code en utilisant la commande suivante :

sudo python light_sensor.py 

J'espère que le script fonctionne maintenant et que vous recevez des données qui reflètent correctement les changements de lumière sur le capteur. Si vous rencontrez des problèmes, n'hésitez pas à laisser un commentaire ci-dessous.

Améliorer la précision et les utilisations possibles

Il existe d'innombrables utilisations pour un capteur de lumière dans un circuit. Je n'en nommerai que quelques-uns auxquels j'ai pensé pendant que j'écrivais ce tutoriel.

Il y a tellement de choses que vous pouvez faire avec ce petit capteur sympa, mais n'oubliez pas que si vous avez besoin de quelque chose d'un peu plus précis que la cellule photoélectrique, alors regardez quelque chose comme le capteur de lumière numérique à plage dynamique élevée Adafruit.

J'espère que vous avez pu configurer ce capteur de lumière Raspberry Pi sans aucun problème. Si vous rencontrez un problème, avez des commentaires, j'ai raté quelque chose ou quelque chose d'autre que vous voudriez dire, alors n'hésitez pas à laisser un commentaire ci-dessous.

Source :capteur de lumière Raspberry Pi :un didacticiel LDR simple


Processus de fabrication

  1. Enregistreur de température Raspberry Pi
  2. Capteur de température Python et Raspberry Pi
  3. Station météo Raspberry Pi
  4. Capteur de température 1 fil DS1820 au Raspberry Pi (GPIO directement)
  5. Capteur à ultrasons (HC-SR04) + Raspberry Pi
  6. Capteur de mouvement, alarme, enregistrement vidéo en HA sur Raspberry Pi
  7. Capteur de mouvement utilisant Raspberry Pi
  8. Capteur d'humidité du sol Raspberry Pi
  9. Capteur Hall numérique Raspberry Pi en JAVA