Codificação compatível com Arduino 09: Interface de SSD com Arduino

Codificación compatible con Arduino 09: interfaz de SSD con Arduino

En el tutorial anterior analizamos la interfaz de LED RGB con Arduino . En este tutorial, aprenderá cómo conectar la pantalla de siete segmentos (SSD) cuando use Arduino.

Al interactuar con cualquier tipo de dispositivo de visualización, Arduino y otros controladores utilizan salida digital o comunicación en serie. Conducir SSD a través de Arduino es tan simple como ponerle un LED. La pantalla de siete segmentos se compone de ocho segmentos LED. Se utilizan para mostrar números.

En este tutorial, diseñaremos un contador simple usando un SSD que cuenta de 0 a 9 y redondea.

Pantallas de siete segmentos (SSD)
Como se mencionó en la introducción, una SSD es una unidad compuesta por ocho segmentos de LED. De estos ocho segmentos LED, siete tienen forma de barra y uno es un punto.

Hay 10 pines en total en un SSD. De estos 10 pines, dos pines son cátodo común o ánodo común, y el resto están conectados a terminales opuestos de los segmentos LED.

Los SSD se utilizan para mostrar números. Son menos costosos y a menudo se emplean como alternativa a las pantallas LCD de caracteres. Se utilizan en aplicaciones integradas donde la pantalla solo necesita mostrar números. Tomemos como ejemplo un reloj digital que muestra la hora en números. Se puede construir utilizando SSD en lugar de una costosa pantalla LCD.

También se puede construir un tablero de visualización de tokens utilizando SSD, ya que solo necesita mostrar los números de los tokens. De manera similar, los SSD se pueden utilizar en tableros digitales (como los de los vehículos), que muestran información numérica (distancia recorrida, eficiencia de combustible, etc.).

Además, los SSD se utilizan en diversas aplicaciones integradas y de consumo donde se muestran datos numéricos.

Algunos ejemplos incluyen:

  • El temporizador de visualización para un microondas o una lavadora.
  • El indicador de temperatura de un calentador o aire acondicionado.
  • El valor de una máquina contadora de monedas
  • Números en una calculadora, etc.

Tipos de SSD
Hay dos tipos de SSD:

1. Ánodo común
2. cátodo común

En los SSD de ánodo común, el ánodo de cada uno de los segmentos LED tiene un terminal común, mientras que los cátodos tienen terminales separados. Para controlar cada segmento, el ánodo común se conecta a VCC y los terminales del cátodo se muestran como "lógico BAJO" para encender los segmentos y "lógico ALTO" para apagarlos.

En los SSD de cátodo común, los cátodos y cada uno de los segmentos de LED tienen un terminal común, mientras que los ánodos tienen terminales separados. Para controlar cada segmento, el cátodo común se conecta a tierra y los terminales del ánodo se muestran como “lógica ALTA” para encender los segmentos y “lógica BAJA” para apagarlos.

Cómo funciona SSD
Hay ocho segmentos de LED en un SSD, de los cuales siete tienen forma de barra y uno tiene forma de punto. Los segmentos de LED en forma de barra se designan con las letras del alfabeto "A" a "G" y el segmento de LED en forma de punto se designa como "DP".

Estos segmentos de LED están organizados en el SSD de esta manera:

Al iluminar combinaciones específicas de segmentos LED, se pueden mostrar diferentes dígitos decimales (0 a 9) y alfabetos hexadecimales (A a F).

Una pantalla de siete segmentos tiene la siguiente configuración de pines:

Los SSD tienen este diagrama de circuito interno:

En los SSD de ánodo común, el terminal común es el ánodo de cada uno de los segmentos de LED. Para mostrar diferentes dígitos y alfabetos hexadecimales, los segmentos LED del SSD de ánodo común deben proporcionarse como lógica digital.

Esta tabla ofrece un resumen:

En SSD de cátodo común, el terminal común es el cátodo con todos los segmentos LED. Para mostrar diferentes dígitos y alfabetos hexadecimales, los segmentos LED del SSD de cátodo común deben proporcionarse como lógica digital.

Esta tabla ofrece un resumen:

La tabla lógica para el cátodo común es simplemente la inversa de la SSD de ánodo común. Para proteger los segmentos LED, es aconsejable conectar resistencias limitadoras de corriente en serie con cada segmento.

Sin embargo, diferentes segmentos de LED pueden tener diferentes voltajes de polarización directa. Por lo tanto, se deben conectar resistencias a lo largo de cada segmento en lugar de conectar una sola resistencia al terminal común. Si se conecta una sola resistencia al terminal común, es posible que algunos de los segmentos del LED no brillen porque pueden tener un voltaje directo más alto. Como alternativa, todos los segmentos pueden brillar, pero con diferente intensidad luminosa.

El valor de la resistencia debe calcularse según el segmento con mayor tensión continua.

El valor de la resistencia se puede calcular usando esta ecuación:

Serie RS = (VS – VLED)/ILED
Dónde,
RSeries = Valor de resistencia
VS = voltaje de fuente
VLED = voltaje directo más alto de los segmentos LED
ILED = Corriente a través de segmentos LED

Supongamos que el voltaje directo más alto es de 1,7 V, el voltaje de fuente es de 5 V y la corriente requerida a través de los segmentos de LED es de 5 mA a 20 mA, o considere el promedio de 10 mA.

Entonces el valor de las resistencias será:

R = (5-1,7)/10×10-3
= 330 ohmios

Conduciendo SSD con Arduino
Conectar el SSD con Arduino es tan simple como conectar los LED. El SSD se puede tratar como un conjunto de ocho LED con un ánodo o cátodo común.

Las instrucciones:

  • Para controlar el SSD de ánodo común, el terminal común está conectado a VCC y el resto de los terminales están conectados directamente con los canales de E/S digitales de Arduino a través de resistencias en serie. Los canales deben configurarse en BAJO para encender los segmentos LED y deben configurarse en ALTO para apagarlos.
  • Para controlar el SSD de cátodo común, el terminal común se conecta a tierra y el resto de los terminales están conectados directamente con los canales de E/S digitales de Arduino a través de resistencias en serie. En este caso, los canales deben configurarse en ALTO para encender los segmentos LED y deben configurarse en BAJO para apagarlos. Los canales de E/S digitales de Arduino producen 5 V/3,3 V y fuentes o sumideros de corriente de hasta 40 mA, lo que es suficiente para controlar los segmentos LED. Al encender y apagar diferentes combinaciones de segmentos LED, se pueden mostrar diferentes dígitos (0 a 9) y alfabetos (A a F).
  • Para unir más de un SSD, se utiliza una técnica de multiplexación. Cuando hay muchos SSD que deben ser controlados por un controlador, los SSD se interconectan a través de un demultiplexor o un decodificador IC BCD de siete segmentos, como el SN7446AN.

Receta de controlador SSD basado en Arduino

En esta receta, conectaremos una pantalla de siete segmentos usando Arduino UNO y mostraremos los dígitos del 0 al 9 en ella.

Componentes necesarios
1. Arduino UNO x1
2. SSD x1
3. Resistencia de 330 ohmios x7
4. Tablero de prueba x1
5. Cables de unión o cables de conexión macho a macho

Conexiones de circuito
El SSD utilizado en este proyecto es del tipo ánodo común. Esto significa que el terminal común del SSD está conectado a 5V DC. Los terminales SSD A, B, C, D, E, F y G están conectados a los canales de E/S digitales 4, 5, 6, 0, 1, 2 y 3, respectivamente.

Se conectan resistencias de 330 ohmios entre cada canal y los respectivos terminales SSD. La placa de pruebas se proporciona como tierra común y riel de alimentación de 5 V desde uno de los pines de tierra y de 5 V del Arduino UNO, respectivamente.

Diagrama de circuito

Bosquejo de Arduino

Cómo funciona el proyecto
Para mostrar diferentes dígitos en el SSD, se encienden y apagan diferentes combinaciones de segmentos LED al mismo tiempo.

El SSD utilizado en este proyecto es del tipo ánodo común. Así, el terminal común del SSD se conecta a 5V DC y los demás terminales se interconectan con los canales de Arduino a través de resistencias en serie de 330 Ohm.

Para mostrar diferentes dígitos, se aplica la tabla lógica para un ánodo común de siete segmentos.

Para los dígitos parpadeantes del 0 al 9, el "0" se muestra primero al encender los segmentos LED A, B, C, D, E y F, mientras que el segmento LED G está apagado. Después de mostrar "0" durante un segundo, todos los segmentos LED se apagan durante 300 milisegundos. Nota: Si no se apagan todos los segmentos, los segmentos LED permanecerán encendidos cuando se vuelvan a encender y los dígitos sucesivos no se mostrarán correctamente.

Después de mostrar "0", si todos los segmentos LED no están apagados, cuando muestre "1", el SSD seguirá mostrando "0". Mostrará "8" cuando 2, 3, 4, 5, 6, 8 y 9 parpadeen, luego "0" cuando 7 parpadee. Por lo tanto, es importante apagar todos los segmentos LED durante unos milisegundos después de que se muestre cada dígito.

Así por ejemplo:

  • Para mostrar “1”, los segmentos LED B y C están encendidos mientras que todos los demás están apagados.
  • Para mostrar “2”, los segmentos LED A, B, G, E y D están encendidos mientras que todos los demás están apagados.
  • Para mostrar “3”, los segmentos LED A, B, G, C y D están encendidos mientras que todos los demás están apagados.
  • Para mostrar “4”, los segmentos LED F, G, B y C están encendidos mientras que todos los demás están apagados.
  • Para mostrar “5”, los segmentos LED A, F, G, C y D están encendidos mientras que todos los demás están apagados.
  • Para mostrar “6”, los segmentos LED A, F, G, E, D y C están encendidos mientras que todos los demás están apagados.
  • Para mostrar “7”, los segmentos LED A, B y C se encienden mientras que todos los demás están apagados.
  • Para mostrar "8", todos los segmentos LED (excepto DP) están encendidos.
  • Para mostrar “9”, los segmentos LED A, B, F, G y C están encendidos mientras que todos los demás están apagados.

Todos los segmentos LED se apagan durante 300 milisegundos después de mostrar un dígito durante un segundo. A medida que Arduino repita su código, la visualización de los dígitos del 0 al 9 continuará repitiéndose hasta que se apague el Arduino.

guía de programación
El boceto de Arduino comienza definiendo las variables globales, que corresponden a los terminales SSD que están conectados a los canales de Arduino.

entero = 3;
entero f = 2;
intuma = 4;
int b = 5;
interna c = 6;
int d = 0;
int mi = 1;

En la función de configuración, estos canales se definen como salida digital usando la función pinMode.

configuración vacía {
pinMode(a, SALIDA);
pinMode(b, SALIDA);
pinMode(c, SALIDA);
pinMode(d, SALIDA);
pinMode(e, SALIDA);
pinMode(f, SALIDA);
pinMode(g, SALIDA);
}

En la función de bucle, los dígitos lógicos para flash del 0 al 9 se escriben en el SSD. Como el SSD utilizado en este proyecto es un ánodo común, al escribir “lógico ALTO” en un canal, el segmento LED respectivo se apaga; y al escribir “BAJO lógico” en un canal, se enciende el segmento LED respectivo.

Primero, todos los segmentos LED se apagan escribiendo "ALTO lógico" en todos los canales vinculados usando la función digitalWrite. Se proporciona un retraso de 300 milisegundos después de utilizar la función de retraso.

bucle vacío {
escritura digital (a, ALTA);
escritura digital (b, ALTA);
escritura digital(c, ALTA);
escritura digital(d, ALTA);
escritura digital (e, ALTA);
escritura digital (f, ALTA);
escritura digital (g, ALTA);
retraso(300);

A continuación, el primer dígito “0” se muestra conectando los segmentos A, B, C, D, E y F del LED, lo que se hace escribiendo “lógico BAJO” en los respectivos canales.

Se proporciona un retraso de un segundo llamando a la función de retraso, de modo que el dígito "0" permanezca mostrado en el SSD durante un segundo.

escritura digital (a, ABAJO);
escritura digital(b, ABAJO);
escritura digital(c, ABAJO);
escritura digital(d, ABAJO);
escritura digital (e, ABAJO);
escritura digital(f, ABAJO);
retraso(1000);

Después de mostrar "0", todos los segmentos LED se apagan durante 300 milisegundos.

Luego se muestra el dígito “1” durante un segundo con solo encender los segmentos B y C del LED.

escritura digital (a, ALTA);
escritura digital (b, ALTA);
escritura digital(c, ALTA);
escritura digital(d, ALTA);
escritura digital (e, ALTA);
escritura digital (f, ALTA);
escritura digital (g, ALTA);
retraso(300);

escritura digital(b, ABAJO);
escritura digital(c, ABAJO);
retraso(1000);

De manera similar, los otros dígitos restantes (del 2 al 9) se muestran durante un segundo cada uno al encender y apagar selectivamente los segmentos LED.

Después de mostrar cada dígito durante un segundo, todos los segmentos se apagan durante 300 milisegundos. Y, después de mostrar el dígito “9”, el código escrito en la función de bucle continúa repitiéndose: cada dígito (del 0 al 9) parpadea durante un segundo cada uno, por un número infinito de veces.

En el próximo tutorial, analizaremos la multiplexación de SSD.

Vídeo de demostración

(tagsToTranslate)Arduino

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.