He visto este tipo de LCD muchas veces en básculas, calculadoras, medidores, micrómetros, etc. Sé que es una pantalla bastante tradicional, pero realmente me gusta su tamaño compacto, su simplicidad y tal vez incluso cueste menos, en comparación con los TFT o los teléfonos inteligentes. tipo pantallas táctiles.
[ ¿Cómo se llama? Respondido por @kevlar1818 y @stevenvh: "Pantalla de siete segmentos"]
Me gustaría trabajar con este tipo de LCD, por ejemplo, acabo de encontrar este de 8 dígitos que se llama VIM-878 del catálogo de Digikey; aquí está su hoja de datos .
¿Cómo interactúo con él? Me gustaría saber cuál sería una forma buena/común de interactuar con él desde un microcontrolador AVR simple como un Atmega8, preferiblemente con circuitos/piezas de interfaz que no sean demasiado grandes físicamente.
Es una pantalla de 7 segmentos . A diferencia de las pantallas de caracteres de matriz de puntos a las que se refiere Kevlar , estos no suelen ser módulos inteligentes. La mayoría de las pantallas de matriz de puntos tienen un controlador compatible con HD44780 en el que simplemente puede escribir códigos ASCII, pero una pantalla LCD de 7 segmentos a menudo será solo el cristal, con conexiones para segmentos y varios backplanes (a menudo hasta 4).
Manejar los LCD puede ser incómodo ya que no usan solo dos niveles, por lo que no puede manejarlos con una lógica digital común.
Lo mejor que puede hacer es seleccionar un microcontrolador con controlador LCD integrado, al que puede conectar la pantalla directamente, como el TI MSP430x4xx . Como la mayoría de los controladores, este también conoce solo segmentos; no es consciente de los dígitos ni nada. (Genial, primero teníamos una pantalla tonta, ¡ahora también tenemos un controlador tonto!) Hay una razón para esto. Estos controladores de LCD a menudo se usan para controlar LCD personalizados que pueden ser una combinación de una parte numérica, gráficos de barras y símbolos personalizados. Tal símbolo también es un segmento único, por lo que no tiene sentido hablar de dígitos.
Esta pantalla tiene símbolos como "batería" y "despertador", pero también todos los campos de texto, como "AM", "PM" y "SNOOZE" son símbolos que consisten en un solo segmento (es decir, controlados por un solo bit).
Lecturas adicionales
Guía del usuario de la familia MSP430x4xx . El controlador LCD se trata en la página 709 y siguientes.
Lo que estás pensando se llama LCD de 7 segmentos. Si sabe cómo encender un LED normal, entonces está a 1/8 del camino.
Aquí está el Wiki para ello. Tiene alguna teoría sobre cómo crearía números iluminando diferentes conjuntos de LED: http://en.wikipedia.org/wiki/Seven-segment_display
(de) La multiplexación es un buen método para iluminar un panel grande de 7 segmentos, aunque no es necesario. Si sus puertos de E/S son limitados, entonces es el camino a seguir. Los conceptos básicos de demuxing funcionan así (suponiendo que sepa binario aquí). Mira esta imagen:
Con un número binario de 3 bits como 000 podemos representar hasta el número 7 (es decir, para seleccionar el puerto 5 tendríamos que ABC sea 101). Lo que sucedería en el demux en su situación es que una entrada es algo así como una señal alta, y AB y C son puertos de E/S. Los números del 0 al 7 se conectan a cada segmento de la pantalla LCD y, al escribir ABC desde su controlador, puede iluminar un segmento. Puede que estés diciendo espera, pero si quiero iluminar un número, necesito que se enciendan muchos segmentos, no solo el quinto segmento. Bueno, después de eso, puede mirar dos caminos para que la pantalla LCD muestre un número. El primero es agregar más demultiplexores para los segmentos necesarios adicionales. El segundo es un enfoque de software que consiste en mostrar muy rápidamente cada uno de los segmentos necesarios para crear la ilusión de que el panel está completamente iluminado.
Una pantalla de siete segmentos o una pantalla de matriz de puntos es a lo que te refieres, creo.
Aquí hay un ejemplo en Sparkfun con la hoja de datos relevante . Encontré este ejemplo/tutorial de AVR en la sección "Documentos" de la página del producto. ¿No es genial Sparkfun?
Dada esta pantalla de 14 segmentos y su hoja de datos , veamos cómo usarla.
Tomemos el ejemplo de mostrar a 7
en el primer grupo de segmentos (más a la izquierda).
Para escribir un 7
, necesitamos afirmar los segmentos 1A
, 1B
y 1C
, como se ve en la hoja de datos. Todos estos segmentos se asignan al pin 35 del dispositivo, pero en COM
líneas diferentes. Con una hoja de datos tan críptica, mi mejor suposición sería que estas COM
líneas se asignan a los pines 17 a 20, dada la tabla en la hoja de datos.
Por lo tanto, para afirmar cada segmento anterior, mantendría el pin 35 en alto mientras alterna rápidamente entre afirmar COM1
, COM2
y COM3
mediante los pines 18, 19 y 20 respectivamente. Los tres segmentos aparecerían iluminados simultáneamente, creando un 7
.
Dicho esto, el código bien escrito simplemente usará algún tipo de mapa para que se muestre cualquier carácter dado. El desafío es hacer que este mapa funcione para CUALQUIERA de los grupos de segmentos.
Todavía recomiendo una pantalla de matriz de puntos como la primera a la que me vinculé; ciertamente hay diseños más ligeros por ahí. El beneficio de usar una pantalla de matriz de puntos es que la mayoría tiene un registro de datos incorporado, por lo que puede pasarle caracteres ASCII de 8 bits, sin problemas de implementación raros como en el ejemplo de 14 segundos anterior.
Chris Laplante
mordedura de tablas
Chris Laplante