El dispositivo TM1637 es un controlador que permite visualizar la información que deseemos en un formato de cuatro digitos que pueden ser alfanúmericos. La apariencia de este display es la siguiente:
Para trabajar con este display en el laboratorio remoto, tenemos una serie de pines conectados desde la Raspberry Pi hasta el display. En el laboratorio remoto smartlabsuniminuto trabajamos con una librería para el TM1637 que puede ser consultada en el siguiente enlace: https://pypi.org/project/raspberrypi-tm1637/
La lista de pines es la siguiente:
Pin | Descripción |
---|---|
GPIO5 | Pin CLK (Reloj) para display TM1637 |
GPIO4 | Pin DIO (Datos) para display TM1637 |
VCC | Conexión 5V para display |
GND | Conexión a tierra para display |
Así la conexión de la Raspberry Pi a este display es la siguiente:
Para la programación en bloques usaremos los siguientes bloques disponibles en la interfaz del laboratorio remoto:
Bloque | Descripción |
---|---|
Permite llamar la librería de comunicación del display TM1637 e inicializarlo con los pines CLK y DIO de acuerdo a la anterior tabla. | |
Permite escribir texto en el display (Máximo cuatro carácteres). | |
Permite escribir un texto con desplazamiento (scroll). El bloque necesita el texto a escribir y un tiempo de deslizamiento, normalmente 250ms (0.25 s) | |
Permite escribir la hora y minutos indicados en el display TM1637. |
Con estos bloques podemos enviar información a nuestro display TM1637. A continuación se muestra el código para enviar información con desplazamiento y el video de explicación respectivo para construir nuestro algoritmo gráfico.
Para trabajar con código directamente en Python para interactuar con el display TM1637 usaremos las siguientes instrucciones en lenguaje de programación Python
Instrucción (Sentencia) | Descripción |
---|---|
import tm1637 | Permite importar el paquete tm1637 en Python para enviar la información al display TM1637 |
import time | Incorpora la librería o paquete time para retrasos en el código en segundos. |
tm=tm1637.TM1637(clk=5,dio=4) | Permite inciar al display TM1637 en los pines seleccionados. CLK en GPIO5 y DIO en GPIO4. Estos pines están conectados directamente a la Raspberry Pi en el laboratorio remoto. |
tm.scroll('hola mundo',delay=250) | Permite escribir con desplazamiento el texto enviado al display. Este desplazamiento se efectuará en pasos de 250 milisegundos (250). |
tm.show('hola') | Muestra el texto indicado en el display TM1637 (Sin desplazamiento). En este caso el texto está limitado a 4 carácteres. |
time.sleep(2) | Crea un retraso en tiempo, en este caso de 2 segundos. |
Para trabajar en lenguaje Python, usaremos el siguiente código base que permite enviar información con desplazamiento el display.
#Inserta tu codigo de Raspberry Pi aqui (Nota: comentarios sin tildes!) import tm1637 import time tm = tm1637.TM1637(clk=5, dio=4) #Pines para tm1647 (no cambiar) while True: tm.scroll('Hola Mundo',delay=250) #Escribir en display con una periodo de 250ms time.sleep(1) #retraso de 1 sec
El código funciona del siguiente modo:
El video de explicación de este código se muestra a continuación:
Un código complementario para mostrar la hora en tiempo real en nuestro display se muestra en el siguiente código base:
import tm1637 import time from time import sleep, localtime from tm1637 import TM1637 DIO = 4 #pines para display tm1637 CLK = 5 class Clock: def __init__(self, tm_instance): self.tm = tm_instance self.show_colon = False def run(self): while True: #bucle para mostrar hora continuamente t = localtime() #Obtener hora de la Raspberry Pi self.show_colon = not self.show_colon tm.numbers(t.tm_hour, t.tm_min, self.show_colon) sleep(1) if __name__ == '__main__': #funcion principal para activar display y obtener hora tm = TM1637(CLK, DIO) #Configuracion de TM1637 tm.brightness(1) #ajuste de brillo de display clock = Clock(tm) clock.run()