CONTENIDO ►
La pantalla Nokia 5510 Arduino es una display LCD gráfica que se diseñó originalmente para las pantallas de los icónicos teléfonos móviles Nokia 5510. Pero ahora la pantalla gráfico Nokia 5110 se puede utilizar fácilmente en proyectos con microcontroladores Arduino. Veamos cómo conectar la pantalla Nokia 5110 a la placa Arduino, cómo mostrar texto y números, así como mostrar una imagen de mapa de bits monocromática en la pantalla.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
- display Nokia 5110
- cables de conexion
- librerias Adafruit_PCD8544.h y Adafruit_GFX.h
Display LCD Nokia 5110 Arduino datasheet, pinout
Todas las funciones de visualización necesarias están empaquetadas en un pequeño controlador Philips PCD8544 que funciona a muy baja tensión. El chip PCD8544 es más económico, preciso y fiable que el controlador de la pantalla LCD 1602. El módulo Nokia 5510 tiene 8 conectores (véase la imagen de abajo) para la conexión, el voltaje de funcionamiento de la pantalla y la retroiluminación de la pantalla está en el rango de 3,3 – 5 voltios.

Características pantalla Nokia 5110 Arduino:
- Tensión de funcionamiento: 3,3 – 5 V
- Chip: PCD8544
- Interfaz: SPI
- Tamaño de pantalla: 84 x 48
- Tipo: TFT
- Color: monocromo
- Frecuencia de reloj: hasta 4 MHz
- Tiempo de reinicio: 100 ns
La pantalla del Nokia 5110 84×48 está conectada al microcontrolador Arduino utilizando el protocolo estándar SPI, pero sólo se utiliza la comunicación unidireccional, ya que la pantalla PCD8544 no necesita enviar ningún dato al microcontrolador. El programa utilizará una implementación de software del protocolo SPI, por lo que es posible utilizar cualquier pin GPIO de Arduino para interconectar la placa con la pantalla gráfico Nokia 5110.
Conectar pantalla LCD Nokia 5110 a Arduino

| LCD Nokia 5110 | Arduino Uno | Arduino Nano | Arduino Mega |
| RST | 7 | 7 | 7 |
| CE | 6 | 6 | 6 |
| DC | 5 | 5 | 5 |
| Din | 4 | 4 | 4 |
| Clk | 3 | 3 | 3 |
| VCC | 5V | 5V | 5V |
| BL | 5V | 5V | 5V |
| GND | GND | GND | GND |
- el contacto RST se utiliza para reiniciar
- el contacto LIGHT se utiliza para la retroiluminación
- los pines VCC y GND se utilizan para la alimentación del módulo
- los contactos CE, DIN y CLK se utilizan para controlar la pantalla
- DC se utiliza para indicar si la siguiente información a transmitir será un comando o datos
Programa Arduino para pantalla Nokia 5110 84 x 48
#include "SPI.h" #include "Adafruit_GFX.h" #include "Adafruit_PCD8544.h" // pines de conexión del módulo Adafruit_PCD8544 display = Adafruit_PCD8544(3, 4, 5, 6, 7); void setup() { display.begin(); display.setContrast(20); // contraste de pantalla de 0 a 100 display.setTextSize(1); // tamaño del texto (1 - valor mínimo) display.clearDisplay(); // limpieza de la pantalla } void loop() { display.setTextColor(BLACK); // color del texto display.setCursor(5, 0); // posición del texto en los ejes X e Y display.println("Hello, World!"); display.display(); // función de edición de texto delay(1000); display.clearDisplay(); display.setTextColor(WHITE, BLACK); // inversión de color display.setCursor(6, 20); display.println(" Nokia 5110 "); display.display(); delay(1000); display.clearDisplay(); }
Explicación del código para control del Nokia 5110 Arduino:
- la función display.setCursor(10, 10); tiene dos argumentos: el primer argumento es la coordenada X (incrementada hacia la derecha), el segundo argumento es la coordenada Y (incrementada hacia abajo);
- en la función display.setTextColor(WHITE, BLACK); el primer argumento es responsable del color del texto, y el segundo argumento del color de la pantalla.
Cómo mostrar una imagen en el Nokia 5110

Para mostrar una imagen en la pantalla del Nokia 5110 LCD, es necesario crearla en formato BMP con una resolución de 84 x 48. Puede descargar la imagen de Internet o tomarla de nuestro ejemplo en el que utilizamos la imagen de Einstein (la imagen está colocada arriba). En la primera etapa es necesario subir la imagen lista al siguiente web sitio:
http://javl.github.io/image2cpp/

En la segunda fase puedes especificar varios ajustes (invertir la imagen, estirarla o voltearla, etc.). En el sitio web hay disponible una vista previa de cómo se mostrará la imagen cargada en la pantalla LCD monocroma del Nokia 5110 (véase la captura de pantalla siguiente).

En el último paso, haz clic en el botón «Generar código» y copia el array en la ventana inferior. Sólo el array debe ser copiado, no necesitamos el resto de las líneas de código. A continuación, pega este código en el boceto. Presta atención al nombre del array (se crea automáticamente a partir del nombre del archivo) y también a la resolución de la imagen.
Programa Arduino para mostrar una imagen en Nokia 5110
#include "SPI.h" #include "Adafruit_GFX.h" #include "Adafruit_PCD8544.h" // pines de conexión del módulo Adafruit_PCD8544 display = Adafruit_PCD8544(3, 4, 5, 6, 7); // 'einshtein', 84x48px const unsigned char epd_bitmap_einshtein [] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x43, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x46, 0xc1, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x80, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0x03, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7e, 0x10, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x5c, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x41, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfc, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x0e, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x1a, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x04, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xab, 0x00, 0x68, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xa8, 0x00, 0x04, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x29, 0x00, 0x00, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6a, 0x00, 0x70, 0x14, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6b, 0xa0, 0xe0, 0x0a, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x71, 0xe0, 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x52, 0x20, 0x60, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x54, 0x20, 0x80, 0x06, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x40, 0x30, 0x0b, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x40, 0x00, 0x0a, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x44, 0x00, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xc5, 0x00, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x60, 0x40, 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x41, 0x11, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xfb, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x89, 0x81, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x81, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x81, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; void setup() { display.begin(); display.setContrast(20); display.clearDisplay(); // display image display.drawBitmap(0, 0, epd_bitmap_einshtein, 84, 48, BLACK); display.display(); } void loop() { }
Explicación del código para mostrar una imagen en LCD Nokia 5110:
- cuando muestre una imagen en la pantalla del Nokia PCD8544, tenga en cuenta el nombre de la matriz y la resolución de la imagen.
Conclusión. Cuando la salida de variables o información de los sensores a la pantalla LCD Nokia en el display.println(x); comando, no ponga las comillas. Es decir, las reglas son las mismas que cuando se trabaja con el monitor de puerto Arduino IDE. Si sigues todos los pasos que se describen en detalle en esta revisión, verás la misma imagen en la pantalla.

Deja una respuesta