Herramientas de usuario

Herramientas del sitio


tm1637_display

Manejo de Display (TM1637)

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:

tm1637.jpg

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:

PinDescripció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:


2. Programación en bloques para display TM1637

Para la programación en bloques usaremos los siguientes bloques disponibles en la interfaz del laboratorio remoto:

BloqueDescripció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.


3. Programación en código Python para display TM1637

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:

  • Importamos la librería tm1637 para trabajar con el display.
  • Importamos la librería time para crear retrasos.
  • Iniciamos el display en los pines seleccionados para CLK y DIO (GPIO5, GPIO4) respectivamente.
  • Colocamos un bucle while True que repetirá todo lo que se ponga dentro de él de manera continua.
  • Usamos la sentencia tm.scroll('Hola Mundo',delay=250)para escribir un text con desplazamiento en el LCD.
  • Esperamos 2 segundos para volver a escribir texto en el display.

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()
tm1637_display.txt · Última modificación: 2021/12/09 15:53 por admin