J'ai essayé de faire un signal avec Raspeye 4 (édition Python)

En tant qu'application de L Chika, j'ai essayé de reproduire le mouvement du feu tricolore.

Choses à préparer

1.Faire clignoter le signal piéton L

Reproduisez le feu de circulation attaché au passage pour piétons. Essayons d'utiliser "RVB LED".

câblage

  1. Connectez le câble mâle-femelle du cavalier à la ** pin 11 ** (6ème à partir du haut à gauche) de "GPIO".
  2. Insérez l'autre côté dans la planche à pain.
  3. Insérez une jambe de la résistance dans la même rangée que le fil de raccordement.
  4. Insérez le ** côté anode rouge ** de la "LED RVB" (après avoir mis le capuchon de diffusion de lumière) dans la même rangée que la jambe opposée de la résistance.

** <Qu'est-ce que la LED RVB? > ** C'est une LED à 4 pattes qui peut exprimer la couleur. Basé sur le rouge, le vert et le bleu, vous pouvez également utiliser le commutateur pour produire du violet, du jaune et du bleu clair. Cette fois, j'utilise principalement la "LED RVB". Veuillez noter que le rôle change en fonction de la longueur du pied. IMG_3809.jpg

  1. Insérez le câble de raccordement mâle-mâle dans la même rangée que la LED RVB ** cathode **. Insérez l'autre côté dans la voie négative.
  2. Effectuez une autre série d'étapes 1 à 5. À ce stade, connectez le câble mâle-femelle du cavalier à la ** pin 13 ** (6ème à partir du haut à gauche) de "GPIO". Insérez également le ** côté anode bleu ** de la LED RVB dans la même rangée que la résistance.
  3. Insérez le câble mâle-femelle du cavalier dans la voie moins et connectez l'autre côté à la ** pin 39 ** (en premier à partir du bas à gauche) de "GPIO".
  4. Désactivez «1. Signal piéton» du «Cadre de type signal» et fixez-le à la LED.

Fil comme ça. IMG_3805.jpg

programme

$ sudo nano walk_shingo.py

Remplissez ce qui suit

walk_shingo.py


import RPi.GPIO as GPIO
import time, sys

GPIO.setmode(GPIO.BCM)

PORT_L = 27 #rouge
PORT_R = 17 #Bleu
GPIO.setup(PORT_L, GPIO.OUT)
GPIO.setup(PORT_R, GPIO.OUT)

try:
    while True:
        GPIO.output(PORT_L, GPIO.LOW) #Lumière verte
        GPIO.output(PORT_R, GPIO.HIGH)
        time.sleep(5)

        for i in range(10): #Feu vert clignotant
            GPIO.output(PORT_R, GPIO.HIGH)
            time.sleep(0.2)
            GPIO.output(PORT_R, GPIO.LOW)
            time.sleep(0.2)

        GPIO.output(PORT_L, GPIO.HIGH) #lumière rouge
        GPIO.output(PORT_R, GPIO.LOW)
        time.sleep(5)

except KeyboardInterrupt:
    GPIO.cleanup()
    sys.exit()

Appuyez sur "contrôle" + "X", puis appuyez sur "y" et appuyez sur Entrée pour enregistrer.

$ python walk_shingo.py

Activez le feu avec. Lorsque vous souhaitez quitter, appuyez sur "contrôle" + "C". Dans ce programme, lumière verte 5 secondes → lumière verte clignotant à 0,2 seconde d'intervalle x 10 fois → lumière rouge 5 secondes est répétée. N'hésitez pas à personnaliser à partir de "time.sleep ()".

2.Faire clignoter le signal piéton du bouton-poussoir en L

Ici, utilisons l'interrupteur tactile comme bouton poussoir pour reproduire un signal piéton de type bouton poussoir.

câblage

Ajoutez un interrupteur tactile et un cavalier au câblage en 1 ci-dessus.

  1. Insérez le câble mâle-femelle du cavalier dans la broche 1 ** 1 ** (la première à gauche). Insérez l'autre côté dans la planche à pain.
  2. Insérez l'interrupteur tactile en prenant en sandwich la rainure au centre de la planche à pain. À ce stade, assurez-vous que l'une de vos jambes est dans la même rangée que le cavalier qui se connecte à la broche 1.
  3. Insérez le câble mâle-femelle du cavalier dans la broche 7 ** 7 ** (en premier à gauche). Insérez l'autre côté dans la même rangée que l'autre jambe de l'interrupteur tactile.
  4. Désactivez «2. Signal piéton (type bouton poussoir)» du «Cadre de type signal» et insérez-le dans la LED.

Fil comme ça. IMG_3804.jpg

programme

$ sudo nano push_shingo.py

Remplissez ce qui suit

push_shingo.py


import RPi.GPIO as GPIO
import time, sys

GPIO.setmode(GPIO.BCM)

SWITCH = 4 #Changement de tact
PORT_L = 27 #rouge
PORT_R = 17 #Bleu
GPIO.setup(PORT_L, GPIO.OUT)
GPIO.setup(PORT_R, GPIO.OUT)
GPIO.setup(SWITCH, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

try:
    while True:
         if (GPIO.input(SWITCH) == GPIO.LOW): #lumière rouge
            GPIO.output(PORT_L, GPIO.LOW)
            GPIO.output(PORT_R, GPIO.HIGH)
         if (GPIO.input(SWITCH) == GPIO.HIGH): #Lumière verte
            GPIO.output(PORT_L, GPIO.LOW)
            GPIO.output(PORT_R, GPIO.HIGH)
            time.sleep(1)
            GPIO.output(PORT_L, GPIO.HIGH)
            GPIO.output(PORT_R, GPIO.LOW)
            time.sleep(5)
            for i in range(10): #Feu vert clignotant
                GPIO.output(PORT_L, GPIO.HIGH)
                time.sleep(0.2)
                GPIO.output(PORT_L, GPIO.LOW)
                time.sleep(0.2)

except KeyboardInterrupt:
    GPIO.cleanup()
    sys.exit()

Sauvegarder ...

$ python push_shingo.py

Courir avec! Fondamentalement, il s'agit d'un voyant rouge et lorsque l'interrupteur est allumé, le voyant vert clignote pendant 5 secondes → le voyant vert clignote à 0,2 seconde d'intervalle x 10 fois. De plus, en modifiant le signal 1 seconde après avoir appuyé sur l'interrupteur, il prend une forme proche de la machine réelle.

3.Faites clignoter le signal du véhicule en L

Ensuite, reproduisez le feu de circulation sur la route. Cette fois, le rouge et le bleu sont des "LED RVB" et le jaune est une LED jaune disponible dans le commerce. Je pense que vous pouvez peindre la LED blanche avec un marqueur.

câblage

Retirez l'interrupteur tactile du câblage en 2 ci-dessus. Ajoutez un autre ensemble de LED et ainsi de suite.

(0. Lors de l'utilisation d'une LED jaune ... Remplacez "LED RVB" dans "PORT_R" par une LED jaune. À ce stade, laissez un espace à côté des deux pieds de la LED. )

  1. Insérez le câble mâle-femelle du cavalier dans la broche 15 ** (8e en haut à gauche). Insérez l'autre côté dans la même rangée que la résistance.
  2. Insérez la résistance dans la même rangée que l'anode ** bleue ** de la "LED RVB".
  3. Connectez le câble de raccordement mâle-mâle de la même rangée que la ** cathode ** à la voie moins.
  4. Désactivez «3. Signal du véhicule» du «Cadre semblable à un signal» et attachez-le à la LED.

Fil comme ça. IMG_3811.png

programme

$ sudo nano car_shingo.py

Remplissez ce qui suit

car_shingo.py


import RPi.GPIO as GPIO
import time, sys

GPIO.setmode(GPIO.BCM)


PORT_L = 17 #rouge
PORT_C = 27 #Jaune
PORT_R = 22 #Bleu
GPIO.setup(PORT_L, GPIO.OUT)
GPIO.setup(PORT_C, GPIO.OUT)
GPIO.setup(PORT_R, GPIO.OUT)

try:
    while True:
        GPIO.output(PORT_L, GPIO.LOW) #Lumière verte
        GPIO.output(PORT_C, GPIO.LOW)
        GPIO.output(PORT_R, GPIO.HIGH)
        time.sleep(4)
        GPIO.output(PORT_L, GPIO.LOW) #Lumière jaune
        GPIO.output(PORT_C, GPIO.HIGH)
        GPIO.output(PORT_R, GPIO.LOW)
        time.sleep(0.5)
        GPIO.output(PORT_L, GPIO.HIGH) #lumière rouge
        GPIO.output(PORT_C, GPIO.LOW)
        GPIO.output(PORT_R, GPIO.LOW)
        time.sleep(4)

except KeyboardInterrupt:
    GPIO.cleanup()
    sys.exit()

undefined

Enregistrez-le et utilisez la commande ci-dessous pour le faire briller.

$ python car_shingo.py

Dans ce programme, la lumière verte 4 secondes → la lumière jaune 0,5 seconde → la lumière rouge 4 secondes est répétée.

Plus d'application!

Certains feux de signalisation se déplacent en détectant la voiture avec un capteur. Ce peut être une bonne idée de fixer un capteur à la tarte à la râpe et de l'essayer. De plus, si vous utilisez une LED légèrement plus petite et que vous l'incorporez dans le monde des modèles de diorama et de chemin de fer, il semble que vous puissiez en profiter de manière plus réaliste.

Cadre semblable à un signal

C'est un cadre pour le faire ressembler à un feu de circulation. Si vous imprimez au format A4 selon la page, ce sera la bonne taille. Veuillez en profiter de manière plus réaliste avec cela.

Recommended Posts