Cómo trazar un gráfico en Nokia 5110 LCD

He conectado un Nokia 5110 LCD a un PIC. Muestra caracteres usando una tabla de fuentes.

¿Hay alguna manera de trazar datos ADC en la pantalla LCD con datos ADC en el eje Y y tiempo en el eje X? No quiero usar una biblioteca ya que mi espacio de código es limitado. Estoy usando el compilador Microchip XC8.

Respuestas (2)

Guarde sus muestras en una matriz, luego trace cada valor ADC como el valor y e incremente el valor x.

Algo como el siguiente código ( int8_t = unsigned char typedef):

int8_t buffer[256];
int8_t i;

for(i = 0, i < 256, i++)
{
    // draw_pixel is your routine for plotting an individual pixel 
    draw_pixel(i, buffer[i]);
}

Puede interpolar entre los píxeles si lo desea (necesita una función draw_line - google para el código), luego haga algo como:

// note end value decremented by one to account for i+i
for(i = 0, i < 255, i++) 
{
    draw_line(i, buffer[i]), i+1, buffer[i+1]); 
}
Gracias. Estaba mirando detalles del Nokia 5110, como detalles sobre la función de dibujo de píxeles. La respuesta dada es bastante genérica. Gracias.

Trabajé con la pantalla Nokia 5110 hace un tiempo pero usando un MSP430.

La pantalla se puede ver como una matriz de 84 columnas x 6 bloques de 8 píxeles cada uno; escribir un valor de 0x00a 0xFFa un bloque cambiará su contenido ( 0x00= nada en ese bloque, 0xFF= este bloque está completamente activado). El bloque 0 representa las filas 0 a 7, el bloque 1 representa las filas 8 a 15, etc...

Por lo tanto, necesitará un búfer de 84 x 6 = 504 valores para contenerlos, ya que la pantalla es de solo escritura. Para dibujar un píxel en (x,y), debe encontrar en qué bloque desea escribir, luego cambiar los valores adecuados en el búfer, establecer la posición X/Y de la pantalla y escribirlo allí.

Esos códigos para Arduino podrían ayudar: https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library y https://github.com/adafruit/Adafruit-GFX-Library