Todos aquellos que hayan trabajado con un display de 7 segmentos saben lo tedioso que puede ser armar un circuito en una protoboard con multiplexores y la gran cantidad de conexiones que se requieren. Es por esto que existen módulos como el TM1637, el cual es un módulo que tiene varios componentes incluidos con el fin de reducir al mínimo el número de conexiones, incluyendo ya el multiplexor y circuitos latchs para mantener los números escritos previamente.
El módulo funciona por medio de sólo 4 conexiones, dos de energía, una para la señal de reloj y una para datos. Esto reduce considerablemente las conexiones que usualmente tendríamos que hacer para usar cuatro displays de 7 segmentos como estos. Los datos se ingresan al módulo por medio de comunicación serial, de ahí que sólo un pin es necesario para datos, mientras tanto el pin de reloj define el tiempo en que se envían tales datos. A continuación describimos las conexiones del módulo:
VCC = Referencia positiva de 3.3 V a 5V
GND = Referencia negativa
DIO = Entrada serial de datos
CLK = Entrada de señal de reloj
El envío de los datos al módulo es más bien simple, el fabricante del chip da un instructivo para esto en el data sheet con el fin de que podamos programarlo en un microcontrolador. Sin embargo, para Arduino, el fabricante provee ya una librería con el fin de que podamos mandar datos a nuestro display de la forma más sencilla posible. A continuación presentamos un ejemplo donde mostramos la forma de conexión y los comandos más básicos de la librería.
Esquema de conexión con Arduino UNO
Código Arduino
#include "TM1637.h" //incluimos la librería
#define CLK A1 // definimos los pines donde se debe conectar
#define DIO A0
TM1637 Display1(CLK,DIO); // creamos una variable del tipo de dato TM1637
int8_t Digits[] = {0,0,0,0}; // el valor inicial a desplegar
void setup()
{
Display1.set(); // inicalizamos el display
Display1.init() ;
}
void loop()
{
// un contador de 0 a 999
for (int i=0 ; i < 1000 ; i++){
Digits[0] = 0;
Digits[1] = floor(i/100);
Digits[2] = floor((i%100)/10);
Digits[3] = floor(i%10);
delay(1000);
Display1.display(Digits); // la función para escribir en el display, cada dígito diferenciado
}
}
Una vez carguemos este código, el display mostrará un contador que va de 0 a 999, avanzando segundo a segundo.
FIN DEL POST
El módulo funciona por medio de sólo 4 conexiones, dos de energía, una para la señal de reloj y una para datos. Esto reduce considerablemente las conexiones que usualmente tendríamos que hacer para usar cuatro displays de 7 segmentos como estos. Los datos se ingresan al módulo por medio de comunicación serial, de ahí que sólo un pin es necesario para datos, mientras tanto el pin de reloj define el tiempo en que se envían tales datos. A continuación describimos las conexiones del módulo:
VCC = Referencia positiva de 3.3 V a 5V
GND = Referencia negativa
DIO = Entrada serial de datos
CLK = Entrada de señal de reloj
El envío de los datos al módulo es más bien simple, el fabricante del chip da un instructivo para esto en el data sheet con el fin de que podamos programarlo en un microcontrolador. Sin embargo, para Arduino, el fabricante provee ya una librería con el fin de que podamos mandar datos a nuestro display de la forma más sencilla posible. A continuación presentamos un ejemplo donde mostramos la forma de conexión y los comandos más básicos de la librería.
Esquema de conexión con Arduino UNO
#include "TM1637.h" //incluimos la librería
#define CLK A1 // definimos los pines donde se debe conectar
#define DIO A0
TM1637 Display1(CLK,DIO); // creamos una variable del tipo de dato TM1637
int8_t Digits[] = {0,0,0,0}; // el valor inicial a desplegar
void setup()
{
Display1.set(); // inicalizamos el display
Display1.init() ;
}
void loop()
{
// un contador de 0 a 999
for (int i=0 ; i < 1000 ; i++){
Digits[0] = 0;
Digits[1] = floor(i/100);
Digits[2] = floor((i%100)/10);
Digits[3] = floor(i%10);
delay(1000);
Display1.display(Digits); // la función para escribir en el display, cada dígito diferenciado
}
}
Una vez carguemos este código, el display mostrará un contador que va de 0 a 999, avanzando segundo a segundo.
FIN DEL POST
0 comentarios:
Publicar un comentario