Control de circuitos eléctricos con Raspberry Pi – II : Python
En una entrada anterior hemos visto cómo un programa escrito en Python puede controlar dispositivos conectados a la GPIO de la Raspberry Pi (OUT) como era un LED, pero que se puede generalizar a otros dispositivos de bajo voltaje como un motor de un juguete o de mayor voltaje mediante un relé. Ahora vamos a ver cómo un dispositivo conectado a la GIO de la Raspberry Pi, como es un pulsador, puede controlar un programa Python (IN).
La entrada es flotante, es decir se detecta una variación relativa del voltaje de entrada por el conector definido como entrada.
En nuestro ejemplo hemos usado como entrada el conector 24 (pin 18) y los +3,3V lo tomamos del pin 1
# led_balancin_2.py # # Cuando se pulsa parpadean las luces hasta que se # vuelve a pulsar try: import RPi.GPIO as GPIO print("GPIO.RPI_INFO = " + str(GPIO.RPI_INFO)) print("GPIO.VERSION = " + str(GPIO.VERSION)) except RuntimeError: print("Error importando RPi.GPIO") try: import time except RuntimeError: print("Error importando RPi.GPIO") # GPIO: Ajuste de los nombres de GPIO: BOARD ó BCM GPIO.setmode(GPIO.BCM) # GPIO: Ajuste mensajes de warning a OFF # (avisos de otros programas trabajando con GPIO) GPIO.setwarnings(False) # GPIO: Definicion de canales de IN y OUT Lista_canales_out = [18,23] Lista_canales_in = [24] GPIO.setup(Lista_canales_out,GPIO.OUT) GPIO.setup(Lista_canales_in,GPIO.IN) GPIO.output(Lista_canales_out,(GPIO.LOW,GPIO.LOW)) pulso = 0 while pulso < 2: if (GPIO.input(24)): print("Boton!") pulso += 1 else: time.sleep(1) if pulso == 1: print ("Ni") GPIO.output(Lista_canales_out,(GPIO.HIGH,GPIO.LOW)) time.sleep(1) print ("No") GPIO.output(Lista_canales_out,(GPIO.LOW,GPIO.HIGH)) time.sleep(1) else: time.sleep(1) GPIO.cleanup()
El siguiente reto, la siguiente entrada, cómo usar un dispositivo con BLE (Bluetooth de baja energia) para controlar un programa Python
Para leer más:
- Control de circuitos eléctricos con Raspberry Pi
Comentarios
Publicar un comentario