Semáforo
EJERCICIO 3:
Se deberá crear un circuito en el que tengamos una linea de leds (3 mínimo) que se vayan encendiendo y apagando en forma de semáforo conectándolos a los pines GPIO.
Material a utilizar:
• Placa Raspberry PI con conector eléctrico.
• Panel electrónico (breadboard).
• Tres leds.
• Tres resistencias (¡Ojo con la medida!).
__________________________________________________________________________
Para esta práctica hemos usado cuatro cables macho-hembra (hemos reutilizado el tierra para tener que usar menos cables), tres resistencias de 220 Ohm y tres leds (rojo, amarillo y verde).
La disposición es la siguiente:
La disposición es la siguiente:
El código lo hemos escrito en Python:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT) ## GPIO 17 como salida ROJO
GPIO.setup(27, GPIO.OUT) ## GPIO 27 como salida AMARILLO
GPIO.setup(22, GPIO.OUT) ## GPIO 22 como salida VERDE
def blink():
print "Ejecucion iniciada..."
iteracion = 0
while iteracion < 3: ##
GPIO.output(17, False) ## Apago el 17
GPIO.output(22, False) ## Apago el 22
GPIO.output(27, False) ## Apago el 27
print "PUEDES PASAR"
GPIO.output(22, True) ## Enciendo el 22
time.sleep(5) ## Esperamos 5 segundos
GPIO.output(22, False) ## Apago el 22
print "PASA RAPIDO"
GPIO.output(27, True) ## Enciendo el 27
time.sleep(1) ## Esperamos 1 segundo
GPIO.output(27, False) ## Apago el 27
time.sleep(1) ## Esperamos 1 segundo
GPIO.output(27, True) ## Enciendo el 27
time.sleep(1) ## Esperamos 1 segundo
GPIO.output(27, False) ## Apago el 27
time.sleep(1) ## Esperamos 1 segundo
GPIO.output(27, True) ## Enciendo el 27
time.sleep(1) ## Esperamos 1 segundo
GPIO.output(27, False) ## Apago el 27
time.sleep(1) ## Esperamos 1 segundo
GPIO.output(27, True) ## Enciendo el 27
time.sleep(3) ## Esperamos 5 segundos
GPIO.output(27, False) ## Apago el 27
print "PARA! NO SE PUEDE PASAR"
GPIO.output(17, True) ## Enciendo el 17
time.sleep(5) ## Esperamos 5 segundos
GPIO.output(17, False) ## Apago el 17
iteracion = iteracion + 1 ## Sumo 1 porque he hecho 1 vuelta
print "Ejecucion finalizada"
GPIO.cleanup() ## Hago una limpieza de los GPIO
blink() ## Hago la llamada a la funcion blink
Comentarios
Publicar un comentario