En este tutorial aprenderemos cómo controlar un LED RGB con el GPIO utilizando Python.
Materiales:
- Raspberry Pi con Raspbian o similar
- LED RGB
- 3 resistencias de 1K
- 4 cables macho/hembra
- Placa de pruebas
El código necesario para controlar un RGB LED con Python es:
import RPi.GPIO as GPIO
import time
R_PIN = 11 # Asignar pin rojo
G_PIN = 13 # Asignar pin verde
B_PIN = 15 # Asignar pin azul
GPIO.setmode(GPIO.BOARD) # Configuramos le modo GPIO a BOARD para usar los números de PIN
GPIO.setup(R_PIN, GPIO.OUT) # Preparamos los pines para poder usarlos
GPIO.setup(G_PIN, GPIO.OUT)
GPIO.setup(B_PIN, GPIO.OUT)
string_colors = ['Red', 'Magenta', 'Blue', 'Cyan', 'Green', 'Yellow']
led_colors = [(1, 0, 0), (1, 0, 1), (0, 0, 1), (0, 1, 1), (0, 1, 0), (1, 1, 0)]
for color_tuple in led_colors: # Iteramos sobre el array led_colors
# Encendemos y apagamos el pin rojo, verde y azul en función de color_tuple
GPIO.output([R_PIN, G_PIN, B_PIN], color_tuple)
index = led_colors.index(color_tuple) # Obtenemos el índice del color actual
print("Color: {}".format(string_colors[index])) # Mostramos por consola el nombre del color actual
time.sleep(1.5) # Esperamos 1.5 segundos
GPIO.cleanup() # Limpiamos el GPIO
Aquí podemos ver el circuito del LED RGB y la Raspberry Pi:
Aquí dejo un video explicativo para ver cómo montar el circuito y ejecutar el código en la Raspberry: