Emulando escala de grises en una pantalla LCD de 1 bit

1

Tengo un LCD (el DOG-M 102x64, con un controlador uc1701 ) que estoy conduciendo (sobre SPI , pero eso es algo irrelevante) de un AVR (ATMega16 @ 8 MHz): en general, una pantalla de especificaciones bastante baja con un sistema de especificaciones bajas. La pantalla en cuestión solo es capaz de mostrarse a 1 bit, pero me gustaría emular algunos tonos de gris con ella (por píxel).

La lectura a través de la hoja de datos del controlador ofrece algunas ideas: existen comandos que activarán todos los píxeles y otro que invertirá la pantalla (no afectará a la memoria ram).

He buscado y la información que encontré estaba en una pregunta publicada here , comentando principalmente sobre la polarización del cristal líquido a lo largo del tiempo. También estoy al tanto de Modulación de código binario , ¿quizás se podría aplicar a este problema?

¿Es esta técnica un método viable para emular en escala de grises? ¿Alguien lo ha hecho antes?

Editar: Encontré este recurso que ilustra que el concepto podría ser algo viable.

Editar: Encontré este recurso que Me hace pensar que cambiar rápidamente entre dos fotogramas (planos de 2 bits) no solo puede ser un enfoque viable en general, sino que también puede tener algunos efectos negativos a largo plazo en la pantalla LCD si se realiza incorrectamente.

    
pregunta Lucas

1 respuesta

3

La única forma de simular la escala de grises con una pantalla de 1 bit es hacer promedios de píxeles, por ejemplo. utilizando un cuadrado de cuatro píxeles para representar un píxel en la imagen original,

0 pixels on (white) = 0%
1 pixel on (light gray) = 25%
2 pixels on (medium gray) = 50%
3 pixels on (dark gray) = 75%
4 pixels on  (black) = 100%

Lamentablemente, no tienes suficientes píxeles en tu pantalla, y los que hay son demasiado grandes para permitir esta técnica.

    
respondido por el tcrosley

Lea otras preguntas en las etiquetas