Dans ce tutoriel, je veux vous montrer comment configurer et utiliser une petite barrière photoélectrique infrarouge, qui émet un signal dès que la barrière lumineuse est interrompue. En traversant les deux photocellules l’une derrière l’autre, la vitesse peut être mesurée.
Accessoires
Installer
Dès que la barrière lumineuse est interrompue, un signal positif doit être envoyé, sinon un négatif (0). J’utilise une résistance de rappel avec le récepteur IR (noir) au lieu du commutateur.
Les deux photocellules sont distantes de 10 cm pour moi. Pour que la vitesse soit calculée correctement, vous devrez peut-être ajuster la distance dans votre script. La structure réelle est la suivante:
La petite LED rouge est uniquement destinée aux tests et peut être omise.
Une fois que vous avez configuré le circuit, la LED doit s’allumer dès que la barrière photoélectrique est fermée (par exemple, les doigts entre les deux).
Mesurer la vitesse
Pour que la vitesse puisse désormais également être mesurée, le temps est mesuré, qui passe, jusqu’à ce que les deux barrières lumineuses soient traversées. Si la distance n’est pas exactement de 10 cm, vous devez l’ajuster.
sudo nano distance_test.py
Et ajoutez le code suivant
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#! / usr / bin / python importation temps importation RPi.GPIO comme GPIO GPIO_BEGIN_PIN = 4 GPIO_END_PIN = 17 DISTANCE = 10,0 # (en cm) Anpassen, tombe notwendig TEMPS LIBRE = 5 # sek GPIO.mode réglages(GPIO.BCM) GPIO.avertissements(Faux) si __Nom__ == ‘__principale__’: GPIO.installer(GPIO_BEGIN_PIN, GPIO.DANS) GPIO.installer(GPIO_END_PIN, GPIO.DANS) Heure de début, heure de fin = 0, 0
tandis que GPIO.contribution(GPIO_BEGIN_PIN) == GPIO.FAIBLE: temps.dormir(0,001) Heure de début = temps.temps() heure de fin = 0 tandis que GPIO.contribution(GPIO_END_PIN) == GPIO.FAIBLE et temps.temps()–Heure de début < TEMPS LIBRE: temps.dormir(0,001) autre: si temps.temps()–Heure de début > = TEMPS LIBRE: impression « Temps libre » sortie() autre: heure de fin = temps.temps() la vitesse = DISTANCE / (heure de fin – Heure de début) impression « Geschwindigkeit:% .2f cm / s » % la vitesse |
Enregistrez et quittez avec CTRL + O et CTRL + X. Maintenant, nous pouvons le démarrer.
sudo python distance_test.py
Si le script ne fonctionne pas correctement, cela est probablement dû au fait que les photocellules ne pointent pas exactement les unes vers les autres et donc, de l’électricité peut circuler, mais cela est hors de la plage acceptée et il n’est pas déterminé si 0 ou 1
En conclusion avec une autre image de ma structure ::