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:



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

Entradas populares