Cómo mostrar números en un módulo 7 segmentos TM1637 (Previsualizar)

2016_TM1637

Ya sabemos cómo conectar el módulo 7 segmentos TM1637 a Arduino, qué librería vamos a usar y cómo iluminar cada segmento. ¿No te acuerdas? Échale un ojo a Cómo encender cada segmento del módulo TM1637. En este aprende vamos a mostrar números en nuestro display TM1637. ¿Estás preparado? ¡Vamos!

1.Incluímos la librería. En Arduino IDE > Programa > Include Library > TM1637-master

2. Definimos las variables CLK y DIO:

const int CLK = 2;

const int DIO = 3;

3. Instanciamos el TM1637. Para ello creamos un objeto indicando en su constructor los pines a los que CLK y DIO están conectados.

TM1637Display display(CLK, DIO);

4. Creamos una variable byte de tipo array para almacenar el valor de cada dígito. En este array, la posición 0 almacena el dígito más significativo del display (más a la izquierda), y la posición 3 el dígito menos significativo (más a la derecha).

byte data[] = {0, 0, 0, 0};

5. Para mostrar los datos en la pantalla vamos a usar las siguientes funciones:

display.setBrightness(); podemos definir la intensidad de brillo del display, desde un valor hexadecimal 0x00 (0 en decimal), hasta un brillo máximo 0x0f (15 en decimal). En el paréntesis podremos el valor del brillo, por ejemplo, 0x0f

display.endodeDigit(); con esta función Arduino transforma la cifra que queremos mostrar en los segmentos que debe de encender en el display TM1637.

¿Cómo obtenemos cada cifra?

Vamos a conseguir el valor de cada cifra de derecha a izquierda, es decir, vamos a obtener el primer lugar el número 6 y en último el 2. Para ello, necesitamos operar. Vamos a usar la división (/) y querremos el resto (%). ¿Lo intentamos?

data[3] es el dígito de más a la derecha, si 2016 lo dividimos entre 10, ¿cuál es el resto de esa división?

data[3] = display.encodeDigit(valor % 10);

Para obtener data[2], es decir, la cifra 1, necesitamos primero mover el 1 a la unidad, dividimos 2016 entre 10 y lo tenemos. Pero solo queremos el número 1, entonces dividimos entre 10 y sacamos el resto.

data[2] = display.encodeDigit(valor/10 % 10);

Para obtener data[1], es decir, la cifra 0, necesitamos primero mover el 0 a la unidad, dividimos 2016 entre 100 y lo tenemos. Pero solo queremos el número 0, entonces dividimos entre 10 y sacamos el resto.

data[1] = display.encodeDigit(valor/100 % 10);

Por último, para obtener data[0], es decir, la cifra 2, necesitamos primero mover el 2 a la unidad, dividimos 2016 entre 1000 y lo tenemos. Pero solo queremos el número 2, entonces dividimos entre 10 y sacamos el resto.

data[0] = display.encodeDigit(valor/1000 % 10);

Con la función display.encodeDigit(); lo que hemos hecho ha sido transformar la cifra en segmentos. Solo nos queda mostrar lo que hemos almacenado en la variable data. Para ello usamos la función display.setSegments(); recibe el array de dígitos a encender en “formato segmento”, y los muestra por pantalla. En el paréntesis pondremos qué queremos mostrar, en nuestro caso, la variable array data.

El código completo nos ha quedado así:

Cacharrea, crea y comparte tus proyectos.

  • 20 Cables Jumper para prototipar hembra-hembra
    20 Cables Jumper para prototipar macho-hembra
    Seleccionar opciones
    Vista rápida
    3,00  (2,48  excl. IVA)
    En tienda
  • Agotado
    Genuino UNO Rev. 3
    Genuino UNO Rev. 3
    Leer más
    Vista rápida
    25,00  (20,66  excl. IVA)
    Temporalmente no disponible
  • Módulo 7 segmentos 4 dígitos TM1637
    Módulo 7 segmentos 4 dígitos TM1637
    Añadir al carrito
    Vista rápida
    3,80  (3,14  excl. IVA)
    En tienda
Volver a: Aprende a usar el módulo 7 segmentos TM1637 con Arduino

©2017 Fábrica Digital desde Jerez de la Frontera, España.

956 05 77 07 (llamadas) / 717 717 452 (Whatsapp) / hola@fabricadigital.org

Horario de verano: de Lunes a Viernes de 09:00 a 13:00.

Calle Manuel Yélamo Crespillo, Edif. Los Ramos, 11401 Jerez de la Frontera, Cádiz. - Cómo llegar

Información Legal - Aceptamos

 

Inicia Sesión con tu Usuario y Contraseña

o    

¿Olvidó sus datos?

Create Account