Displays inteligentes
La pantalla es lo único que el usuario ve del equipo. Un instrumento excelente con una interfaz confusa se percibe como un mal instrumento, y una pantalla mal manejada es además una de las principales consumidoras de tiempo de procesador y de corriente de batería.
01Siete segmentos y multiplexado
Se quiere un brillo equivalente a 10 mA por segmento en corriente continua, con 4 dígitos multiplexados y barrido a 200 Hz.
- Cada dígito está encendido 1/4 del tiempo, o sea 1,25 ms de cada 5 ms.
- Corriente de pico necesaria: 10 mA × 4 = 40 mA por segmento, dentro de lo admisible en régimen pulsado para la mayoría de los display.
- Con los ocho segmentos encendidos —el 8 con punto—, el pico por dígito llega a 320 mA: eso no lo entrega un pin de microcontrolador. Hace falta un transistor por dígito.
- A 200 Hz de barrido, cada dígito se refresca 200 veces por segundo: no hay parpadeo visible ni siquiera al mover la cabeza.
Con menos de 60 Hz aparece parpadeo; entre 60 y 100 Hz el parpadeo se nota al mover la vista rápido o al filmar la pantalla.
Un LED conectado directo a un pin sin resistencia limitadora se destruye, y con él a veces el pin. Y aun con resistencias, la suma de las corrientes de los ocho segmentos supera de lejos lo que el común de un dígito puede manejar: siempre va un transistor en el cátodo o el ánodo común. Es la causa más frecuente de dígitos que se ven más apagados cuantos más segmentos tienen encendidos.
02LCD alfanumérico
- Formatos de 16×2, 20×4 y similares. Es el estándar de facto desde hace décadas.
- Se maneja en 8 o 4 bits de datos más tres líneas de control. En 4 bits cada byte se manda en dos mitades: seis pines en total.
- Distingue comandos de datos por la línea RS: borrar, posicionar el cursor y configurar son comandos; los caracteres son datos.
- Permite definir hasta ocho caracteres propios, que es la forma de tener la ñ, los acentos, símbolos de unidades o una barra de progreso.
- El potenciómetro de contraste no es opcional: sin él, la pantalla se ve en blanco o todo negro y parece rota.
Un expansor de puertos convierte los seis pines en dos. Es lo que se usa casi siempre hoy: libera pines y simplifica el cableado, a cambio de que el refresco sea más lento.
Los tiempos importan: después de un comando de borrado el controlador necesita más de un milisegundo. Escribir sin respetar esas esperas produce caracteres perdidos o basura, y es el error que hace parecer que «el display anda mal».
03Pantallas gráficas e inteligentes
| Tipo | Interfaz | Características |
|---|---|---|
| OLED de 128×64 | I²C o SPI | Contraste altísimo, no necesita retroiluminación y consume proporcionalmente a los píxeles encendidos. Se degrada si muestra siempre la misma imagen fija. |
| LCD gráfico TFT | SPI o paralelo | Color y buena resolución. Necesita retroiluminación, que es la mayor parte de su consumo, y bastante caudal de datos. |
| Matriz de LED | SPI | Carteles y visualización a distancia. Con controlador dedicado, el microcontrolador sólo manda el contenido. |
| Tinta electrónica | SPI | Consume sólo al cambiar la imagen y se lee perfecto con luz ambiente. Refresco lentísimo: sirve para lo que cambia cada tanto. |
| Pantalla con controlador propio | serie | Trae su procesador y su interfaz ya diseñada: el microcontrolador manda comandos de alto nivel y recibe eventos. Es lo que se llama display inteligente. |
Una pantalla de 128×64 monocromática son 8192 píxeles, es decir 1 kB de buffer: entra en la RAM de casi cualquier microcontrolador. Una TFT de 320×240 a 16 bits por píxel son 150 kB: no entra en un micro chico, así que hay que dibujar directamente sobre la pantalla, por regiones, o usar una con controlador propio.
Y el caudal también manda: refrescar esa TFT entera 30 veces por segundo exige unos 36 Mbit/s. Por eso las interfaces gráficas fluidas no redibujan todo: actualizan sólo la región que cambió.
04Diseñar la interfaz
- El dato importante, grande y siempre en el mismo lugar.
- Unidades siempre visibles. Un número sin unidad no informa nada.
- Cantidad de decimales acorde a la exactitud real del instrumento: mostrar cinco decimales de algo que se mide con dos es mentir.
- El estado del equipo visible de un vistazo: en marcha, en falla, en espera.
- Los mensajes de error dicen qué pasó y qué hacer, no un código que hay que buscar en un manual perdido.
- Números que bailan: si el último dígito cambia diez veces por segundo, no se puede leer. Se promedia y se refresca dos o tres veces por segundo.
- Menús de más de dos niveles con dos botones: nadie los recorre.
- Retroiluminación permanente en un equipo a batería.
- Texto diminuto en un tablero que se mira a dos metros.
- Confirmaciones ausentes en acciones destructivas, como borrar el registro.
Escribir en un LCD por I²C puede llevar decenas de milisegundos. Si eso se hace dentro del lazo de control, el control se degrada. La solución es la de siempre: la pantalla se actualiza en el bucle principal, a ritmo propio, leyendo variables que el control mantiene al día. Y nunca desde una rutina de interrupción.
05En el laboratorio
Manejar cuatro dígitos de siete segmentos por multiplexado, con transistores en los comunes. Variar la frecuencia de barrido desde 20 Hz hasta 500 Hz y anotar a partir de qué valor desaparece el parpadeo, a ojo y filmando con un teléfono. Medir la corriente media y la de pico.
Definir los ocho caracteres personalizados de un LCD alfanumérico para mostrar la ñ, un símbolo de grado y una barra de progreso de cinco pasos. Implementar con eso un indicador de avance.
En una pantalla gráfica, dibujar una interfaz completa y medir cuánto tarda cada refresco total. Después implementar actualización sólo de la región que cambió y volver a medir. Comparar también el consumo en ambos casos.
Medir la corriente del equipo con la pantalla apagada, encendida sin retroiluminación y con retroiluminación al máximo. Calcular la autonomía con batería en los tres casos y proponer una estrategia de apagado automático.
06Errores frecuentes
| Síntoma | Causa habitual |
|---|---|
| El LCD se ve en blanco o todo negro | Contraste sin ajustar. Casi nunca está roto. |
| Aparecen caracteres raros o se pierden | No se respetan los tiempos de espera del controlador después de cada comando. |
| Los dígitos se apagan cuando muestran un 8 | Falta el transistor en el común: el pin no puede con la corriente de los ocho segmentos. |
| Parpadeo visible | Frecuencia de barrido demasiado baja. Con menos de 60 Hz se ve siempre. |
| El equipo se vuelve lento al agregar la pantalla | Se refresca dentro del lazo de control, o se redibuja todo en cada vuelta. |
| El último dígito cambia sin parar | Falta promediado y falta bajar la tasa de refresco a lo que el ojo puede leer. |
| La OLED muestra una imagen fantasma | Degradación por dejar píxeles fijos encendidos mucho tiempo. Se mitiga moviendo o apagando el contenido. |
| La batería dura muy poco | Retroiluminación siempre encendida: en muchos equipos es la carga principal. |
07Autoevaluación
¿Por qué se multiplexan los display de siete segmentos?
Para ahorrar pines: cuatro dígitos multiplexados usan doce líneas en lugar de veintiocho. Se enciende uno por vez y el barrido rápido hace que el ojo los vea todos.
Con 6 dígitos multiplexados, ¿qué corriente de pico hace falta para un brillo equivalente a 8 mA?
Ipico = 8 mA × 6 = 48 mA por segmento, siempre que el display admita ese valor en régimen pulsado.
¿Cuál es la frecuencia mínima de barrido y por qué?
Del orden de 60 Hz, y en la práctica conviene 100 a 200 Hz. Por debajo, el parpadeo se hace visible, sobre todo al mover la vista.
¿Por qué hace falta un transistor en el común de cada dígito?
Porque la suma de los ocho segmentos encendidos supera de lejos la corriente que un pin de microcontrolador puede manejar.
¿Cómo distingue un HD44780 un comando de un carácter?
Por la línea RS: en un estado interpreta el byte como comando —borrar, posicionar, configurar— y en el otro como dato para mostrar.
¿Para qué sirven los caracteres personalizados?
Para mostrar lo que no está en la tabla del controlador: ñ, acentos, símbolos de unidades o barras de progreso. Se pueden definir hasta ocho.
¿Cuánta RAM ocupa el buffer de una pantalla de 128×64 monocromática?
8192 píxeles a un bit cada uno: 1 kB. Entra cómodo en casi cualquier microcontrolador.
¿Por qué una TFT de 320×240 a color no se maneja igual?
Porque su buffer completo son unos 150 kB, que no entran en un micro chico. Hay que dibujar por regiones directamente sobre la pantalla o usar una con controlador propio.
¿Qué ventaja tiene la tinta electrónica?
Consume sólo al cambiar la imagen y se lee perfectamente con luz ambiente. A cambio, el refresco es lentísimo: sirve para información que cambia cada tanto.
¿Dónde se actualiza la pantalla dentro del programa?
En el bucle principal, a su propio ritmo y leyendo variables que el control mantiene al día. Nunca dentro del lazo de control ni de una rutina de interrupción.