En este tutorial aprenderemos cómo controlar un display 7 LED 5161AS CC (Cátodo Común) a través del GPIO de nuestra Raspberry Pi con Python.
Materiales:
- Raspberry Pi con Raspbian o similar
- Display 7 LED 5161AS CC (Cátodo Común)
- 7 resistencias 1K
- 8 cables macho/hembra
- Placa de pruebas
El código para controlar el display 7 LED es:
import RPi.GPIO as GPIO
import time
# Segmentos: a b c d e f g
PINS_LIST = [8, 11, 12, 13, 15, 16, 18]
GPIO.setmode(GPIO.BOARD) # Configuramos el modo GPIO a BOARD para usar el número de PIN
GPIO.setup(PINS_LIST, GPIO.OUT, initial=GPIO.LOW) # Preparamos todos los pins
char_dict = {
0: (1, 1, 1, 1, 1, 1, 0), # 0
1: (0, 1, 1, 0, 0, 0, 0), # 1
2: (1, 1, 0, 1, 1, 0, 1), # 2
3: (1, 1, 1, 1, 0, 0, 1), # 3
4: (0, 1, 1, 0, 0, 1, 1), # 4
5: (1, 0, 1, 1, 0, 1, 1), # 5
6: (1, 0, 1, 1, 1, 1, 1), # 6
7: (1, 1, 1, 0, 0, 0, 0), # 7
8: (1, 1, 1, 1, 1, 1, 1), # 8
9: (1, 1, 1, 1, 0, 1, 1), # 9
'a': (1, 1, 1, 0, 1, 1, 1), # A
'c': (1, 0, 0, 1, 1, 1, 0), # C
'd': (0, 1, 1, 1, 1, 0, 1), # d
'e': (1, 0, 0, 1, 1, 1, 1), # E
'f': (1, 0, 0, 0, 1, 1, 1), # F
'h': (0, 1, 1, 0, 1, 1, 1), # H
'p': (1, 1, 0, 0, 1, 1, 1), # P
'u': (0, 1, 1, 1, 1, 1, 0), # U
}
for key, value in sorted(char_dict.items()):
GPIO.output(PINS_LIST, value)
time.sleep(1)
GPIO.cleanup() # Limpiamos el GPIO
Aquí os dejo el circuito del Display 7 LED:
Aquí podemos ver el circuito del display y la Raspberry Pi:
Aquí dejo un video explicativo para ver cómo montar el circuito y ejecutar el código en la Raspberry:
Recuerda! El modo del GPIO que utilizo es GPIO.BOARD lo que significa que siempre que hago referencia a los pines utilizo el número de PIN. Si en lugar de utilizar el GPIO en modo BOARD quieres utilizarlo en modo BCM, tendrás que convertir el número de PIN en el número de GPIO usando este esquema: Raspberry Pi: Esquema GPIO