DISPLAY 7Segmenos

avatar
(Edited)

Los Displays 7 segmentos son incluso más antiguos que yo así que explicarlos me hace sentir que estoy en la decada de los 90 o incluso antes cuando no habían muchas opciones en displays o lo que muchos conocen como "pantallas".

Un display actual pudiese tener miles sino millones de LEDs de muchos colores concentrados en áreas pequeñas (oled, amoled, similares). Pero aquí estamos nosotros en modo retro y hablaremos de lo que pudo ser tal vez pienso, el primer display creado por el hombre 😂 7 LEDS (8 cuando tienen punto decimal) del mismo color todos.

pixabay

¿Por qué vamos a ver algo que podría considerarse obsoleto?

En primer lugar vamos a tener un poco de respeto por los mayores (ese artilugio realmente es antiguo 😅), en segundo lugar porque no estamos aprendiendo sobre displays sino sobre microcontroladores y sus modos de programación y lo que nos interesa son las técnicas para manejar salidas del microcontrolador mediante lenguaje C.

Y... ¿por qué no? esos bichos son económicos y aún pueden ser utilizados para proyectos de aficionados!!

Bueno, para entender de que se trata podemos mentalizar la próxima imágen.

Tenemos 7 LEDs dispuestos 4 en forma vertical y 3 en forma horizontal identificados cada uno con una letra. A su izquierda tenemos 7 pines identificados también con una letra y en la parte de abajo un pin al que llamamos común.

El funcionamiento básico consiste en encender LEDs para mostrar un carácter representativo, los LEDs tienen nombres asociados a letras y pines para identificar que pin enciende que led y el pin común significa que todos los leds están conectados ahí.

Si recordamos lo que vimos de los diodos estós tienen dos puntas una la llamamos ánodo y la otra cátodo. Si tenemos 7 leds y 8 puntas significa que son 7 puntas libres y las otras 7 estan unidas entre sí para formar el pin común.

Si son dos puntas entonces son dos modos de conexión/activación. Si uno los ánodos y dejo libre los cátodos el display se llama ánodo común, en este caso el ánodo es conectado al positivo y se activan los leds conectando sus terminales separados a masa, tierra, gnd, 0V o como lo conozcas.

Si por el contrario unimos todos los cátodos se llamara cátodo común y el terminal común es conectado a masa, ahora para activar los LEDs se necesita aplicar voltaje positivo a sus terminales respectivos.

Se presenta un poco de complejidad al momento de descifrar que LEDs debo encender para mostrar un valor que generalmente es numérico. Por ejemplo si queremos mostrar el 0 debemos encender a,b,c,d,e,f y dejar g apagado. Para un 2 sería a,b,g,e,d,c. Pero no podemos estar mirando cada vez que queremos mostrar algo.

Así que necesitamos metodos más fáciles de controlar el dinosaurio, digo el fabuloso componente!.

Pixabay

Para facilitar aquel asunto que podría resultar confusamente complejo se creó un dispositivo (es lo que me gusta de la electrónica, si el problema no tiene solución se crea la solución). Un dispositivo al que se pudiesen conectar los pines del Display (7) y en lugar de memorizar las 7 posiciones solo habría que contar en Binario para con 4 pines (4 bits) representar valores numéricos).

Ahora si quiero escribir un 2 en lugar de memorizar a,b,g,e,d,c cuento 2 en binario para 4 bits, 0010. Mucho más fácil ¿verdad?

El dispositivo se llama BCD7Segmentos (Binary Code to Decimal in 7Seg) y lo he traído para ustedes directamente desde livewire:

Oh, pero no tiene 7 pines de salida sinó 9!!... bueno recordemos que si presenta un decimal tendrá 8 pines el Display y el numero 9 sería el punto común.

Ahora que ya conocemos la história y un poco de funcionamiento pasemos a un proceso algo más actualizado. ¿cómo hacemos para controlarlo con un microcontrolador y por qué resultaría más sencillo?

Si no usaremos el BCD7SEG tendrémos que conectar los 7 pines al microcontrolador, 8 si tiene punto decimal y el pin 9 lo podemos conectar a un valor de referencia dependiendo del tipo de display, es decir, a masa si es cátodo común o a un voltaje positivo si es ánodo común.

La diferencia y a la vez facilidad es que en un microcontrolador lo puedo manejar con números hexadecimales y solo debo memorizar dos dígitos relacionados a cada número. Dado que podemos encender los pines de un puerto con eso, para el cáso de cátodo común usaremos:

  • 0x3F = 0
  • 0x06 = 1
  • 0x5B = 2
  • 0x4F = 3
  • 0x66 = 4
  • 0x6D = 5
  • 0x7D = 6
  • 0x07 = 7
  • 0x7F = 8
  • 0x6F = 9

Entonces sería sencillo imprimir un número, solo habría que elegir un puerto y programar esas salidas para mostrar el número deseado.

Aquí surge una preguta importante: ¿No sería mejor hacerlo con un microcontraldor manejando un BCD7SEG para ahorrar pines?.

Esto es según la conveniencia y creo que sólo es conveniente cuando realmente necesitemos todos los pines del microcontrolador, pero sacrificar 3 pines extras del micro a cambio de reducir el costo del BCD7SEG y lo que conyeva implementarlo en el circuito físico creo que vale la pena el sacrificio.

En el siguiente artículo veremos como manejar estos componentes usando un microcontrolador.

Hasta aquí gracias por haber leído!! Quedo atento a los comentarios.



0
0
0.000
1 comments