En este capítulo vamos a ver como conectar un “Display” numérico con un dígito y 7 segmentos. Esto nos permitirá mostrar números, del 0 al 9 para mostrar información de la Raspberry, como por ejemplo, un contador de cuenta atrás que nos avise de cualquier evento.
Contenido de los ficheros para que puedas “copiar/pegar“:
Fichero “contador2.py”:
#Fichero “contador2.py”: # Importamos la librerias necesarias import RPi.GPIO as GPIO import time # Inicializaciones GPIO.setmode(GPIO.BCM) # Segmentos del DISPLAY: sustituir aquí cada uno por los que use. Seg1=16 Seg2=20 Seg4=21 Seg6=18 Seg7=23 Seg9=24 Seg10=25 # Asigno los segmentos a los GPIO: GPIO.setup(Seg1, GPIO.OUT) # Segmento 1. GPIO.setup(Seg2, GPIO.OUT) # Segmento 2. GPIO.setup(Seg4, GPIO.OUT) # Segmento 4. GPIO.setup(Seg6, GPIO.OUT) # Segmento 6. GPIO.setup(Seg7, GPIO.OUT) # Segmento 7. GPIO.setup(Seg9, GPIO.OUT) # Segmento 9. GPIO.setup(Seg10, GPIO.OUT) # Segmento 10. # Funciones del programa: def Encender(): # ENCIENDE todos los segmentos. GPIO.output(Seg1, False) # Segmento 1. GPIO.output(Seg2, False) # Segmento 2. GPIO.output(Seg4, False) # Segmento 4. GPIO.output(Seg6, False) # Segmento 6. GPIO.output(Seg7, False) # Segmento 7. GPIO.output(Seg9, False) # Segmento 9. GPIO.output(Seg10, False) # Segmento 10. def Apagar(): # APAGA todos los segmentos. GPIO.output(Seg1, True) # Segmento 1. GPIO.output(Seg2, True) # Segmento 2. GPIO.output(Seg4, True) # Segmento 4. GPIO.output(Seg6, True) # Segmento 6. GPIO.output(Seg7, True) # Segmento 7. GPIO.output(Seg9, True) # Segmento 9. GPIO.output(Seg10, True) # Segmento 10. def Numero(num): # Pone el número que se le envía if num == 0: GPIO.output(Seg1, False) # Segmento 1. GPIO.output(Seg2, False) # Segmento 2. GPIO.output(Seg4, False) # Segmento 4. GPIO.output(Seg6, False) # Segmento 6. GPIO.output(Seg7, False) # Segmento 7. GPIO.output(Seg9, False) # Segmento 9. GPIO.output(Seg10, True) # Segmento 10. elif num == 1: GPIO.output(Seg1, True) # Segmento 1. GPIO.output(Seg2, True) # Segmento 2. GPIO.output(Seg4, False) # Segmento 4. GPIO.output(Seg6, False) # Segmento 6. GPIO.output(Seg7, True) # Segmento 7. GPIO.output(Seg9, True) # Segmento 9. GPIO.output(Seg10, True) # Segmento 10. elif num == 2: GPIO.output(Seg1, False) # Segmento 1. GPIO.output(Seg2, False) # Segmento 2. GPIO.output(Seg4, True) # Segmento 4. GPIO.output(Seg6, False) # Segmento 6. GPIO.output(Seg7, False) # Segmento 7. GPIO.output(Seg9, True) # Segmento 9. GPIO.output(Seg10, False) # Segmento 10. elif num == 3: GPIO.output(Seg1, True) # Segmento 1. GPIO.output(Seg2, False) # Segmento 2. GPIO.output(Seg4, False) # Segmento 4. GPIO.output(Seg6, False) # Segmento 6. GPIO.output(Seg7, False) # Segmento 7. GPIO.output(Seg9, True) # Segmento 9. GPIO.output(Seg10, False) # Segmento 10. elif num == 4: GPIO.output(Seg1, True) # Segmento 1. GPIO.output(Seg2, True) # Segmento 2. GPIO.output(Seg4, False ) # Segmento 4. GPIO.output(Seg6, False) # Segmento 6. GPIO.output(Seg7, True) # Segmento 7. GPIO.output(Seg9, False) # Segmento 9. GPIO.output(Seg10, False) # Segmento 10. elif num == 5: GPIO.output(Seg1, True) # Segmento 1. GPIO.output(Seg2, False) # Segmento 2. GPIO.output(Seg4, False) # Segmento 4. GPIO.output(Seg6, True) # Segmento 6. GPIO.output(Seg7, False) # Segmento 7. GPIO.output(Seg9, False) # Segmento 9. GPIO.output(Seg10, False) # Segmento 10. elif num == 6: GPIO.output(Seg1, False) # Segmento 1. GPIO.output(Seg2, False) # Segmento 2. GPIO.output(Seg4, False) # Segmento 4. GPIO.output(Seg6, True) # Segmento 6. GPIO.output(Seg7, False) # Segmento 7. GPIO.output(Seg9, False) # Segmento 9. GPIO.output(Seg10, False) # Segmento 10. elif num == 7: GPIO.output(Seg1, True) # Segmento 1. GPIO.output(Seg2, True) # Segmento 2. GPIO.output(Seg4, False) # Segmento 4. GPIO.output(Seg6, False) # Segmento 6. GPIO.output(Seg7, False) # Segmento 7. GPIO.output(Seg9, True) # Segmento 9. GPIO.output(Seg10, True) # Segmento 10. elif num == 8: GPIO.output(Seg1, False) # Segmento 1. GPIO.output(Seg2, False) # Segmento 2. GPIO.output(Seg4, False) # Segmento 4. GPIO.output(Seg6, False) # Segmento 6. GPIO.output(Seg7, False) # Segmento 7. GPIO.output(Seg9, False) # Segmento 9. GPIO.output(Seg10, False) # Segmento 10. elif num == 9: GPIO.output(Seg1, True) # Segmento 1. GPIO.output(Seg2, False) # Segmento 2. GPIO.output(Seg4, False) # Segmento 4. GPIO.output(Seg6, False) # Segmento 6. GPIO.output(Seg7, False) # Segmento 7. GPIO.output(Seg9, False) # Segmento 9. GPIO.output(Seg10, False) # Segmento 10. else: Apagar() #################################################### ### Código principal de la página: #################################################### try: while True: for x in range(10): Numero(x) time.sleep(1) # Atrapa la pulsación de teclado: CTRL+C para acabar except KeyboardInterrupt: print('Apago todo para terminar') Apagar() GPIO.cleanup()
Capítulo Anterior | Capítulo Siguiente |