Herramientas de usuario

Herramientas del sitio


tm1637_display

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
tm1637_display [2021/12/09 13:35]
admin creado
tm1637_display [2021/12/09 15:53] (actual)
admin
Línea 1: Línea 1:
-Hola+====== 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?nolink&300x300|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/|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: 
 + 
 +{{:tm1637.png?nolink&600x463}} 
 + 
 +---- 
 + 
 +===== 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: 
 + 
 +^Bloque^Descripción| 
 +|{{:tm1637inicio.png?nolink&277x60}}|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.| 
 +|{{:tm1637escribirt.png?nolink&230x74}}|Permite escribir texto en el display (Máximo cuatro carácteres).| 
 +|{{:tm1637scroll.png?nolink&320x110}}|Permite escribir un texto con desplazamiento (scroll). El bloque necesita el texto a escribir y un tiempo de deslizamiento, normalmente 250ms (0.25 s)| 
 +|{{:tm1637hora.png?nolink&200x106}}|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. 
 + 
 +{{:tm1637scrollalgo.png?nolink&400x193}} 
 + 
 +{{youtube>4DdTomqJdTM?500x300}} 
 + 
 +---- 
 + 
 +===== 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| 
 +|<code> 
 +import tm1637 
 + 
 +</code>       |Permite importar el paquete **tm1637** en Python para enviar la información al display TM1637| 
 +|<code> 
 +import time 
 + 
 +</code>       |Incorpora la librería o paquete **time** para retrasos en el código en segundos.| 
 +|<code> 
 +tm=tm1637.TM1637(clk=5,dio=4) 
 + 
 +</code>       |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.| 
 +|<code> 
 +tm.scroll('hola mundo',delay=250) 
 + 
 +</code>       |Permite **escribir **con desplazamiento el texto enviado al display. Este desplazamiento se efectuará en pasos de 250 milisegundos (250).| 
 +|<code> 
 +tm.show('hola'
 + 
 +</code>       |**Muestra **el texto indicado en el display TM1637 (Sin desplazamiento). En este caso el texto está limitado a 4 carácteres.| 
 +| | | 
 +|<code> 
 +time.sleep(2) 
 + 
 +</code>       |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. 
 + 
 +<code python> 
 +#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 
 + 
 + 
 +</code> 
 + 
 +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: 
 + 
 +{{youtube>X6EZ9dobagw?500x300}} 
 + 
 +Un código complementario para mostrar la hora en tiempo real en nuestro display se muestra en el siguiente código base: 
 + 
 +<code python> 
 +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() 
 + 
 + 
 +</code> 
 + 
  
  
tm1637_display.1639056945.txt.gz · Última modificación: 2021/12/09 13:35 por admin