Muestra las diferencias entre dos versiones de la página.
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: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 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:// | ||
+ | |||
+ | 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: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 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| | ||
+ | |{{: | ||
+ | |{{: | ||
+ | |{{: | ||
+ | |{{: | ||
+ | |||
+ | 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. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{youtube> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== 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 | ||
+ | |||
+ | </ | ||
+ | |< | ||
+ | import time | ||
+ | |||
+ | </ | ||
+ | |< | ||
+ | tm=tm1637.TM1637(clk=5, | ||
+ | |||
+ | </ | ||
+ | |< | ||
+ | tm.scroll(' | ||
+ | |||
+ | </ | ||
+ | |< | ||
+ | tm.show(' | ||
+ | |||
+ | </ | ||
+ | | | | | ||
+ | |< | ||
+ | time.sleep(2) | ||
+ | |||
+ | </ | ||
+ | |||
+ | 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, | ||
+ | while True: | ||
+ | tm.scroll(' | ||
+ | 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(' | ||
+ | * 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> | ||
+ | |||
+ | 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, | ||
+ | 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, | ||
+ | sleep(1) | ||
+ | |||
+ | if __name__ == ' | ||
+ | tm = TM1637(CLK, DIO) # | ||
+ | tm.brightness(1) #ajuste de brillo de display | ||
+ | clock = Clock(tm) | ||
+ | clock.run() | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||