LCD Nokia 5110 Arduino

La pantalla Nokia 5110 es ideal para aplicaciones básicas, con el controlador PCD8544 ideal para ser controlado por microcontroladores o tarjetas Arduino.

La pantalla es gráfica, esto es que puedes desplegar tanto caracteres como figuras o gráficos.

lcd_nokia

hetpro tutorial

ESPECIFICACIONES

  • Controlador: PCD8544
  • Protocolo de control: SPI
  • Resolución: 84×48
  • Iluminación: Azul
  • Pixeles: Negro
  • Tamaño: 1.6″

En este tutorial se mostrara como utilizar las funciones básicas de la pantalla Nokia 5110 para mostrar texto en asi como tamaños de fuente.

MATERIAL A UTILIZAR

  • Arduino UNO
  • Cables macho-hembra
  • LCD Nokia 5110

En la tienda virtual de HeTPro puedes encontrar todos los manteriales: hetpro-store.com

Los controladores y software Arduino lo puedes encontrar en: www.arduino.cc

 

IDENTIFICACIÓN DE PINES LCD NOKIA 5110

 

El protocolo de control para este display es por medio de SPI, lo cual hace más fácil su comunicación entre este y el  Arduino UNO dejando más salidas disponibles a diferencia de las pantallas convencionales de 16×2.

pines

Identificación de pines LCD Nokia 5110


 

 

 

DIAGRAMA DE CONEXIÓN

 

nokia 5110 con arduino

Diagrama de conexión LCD Nokia 5110 con Arduino

 

 

 

 

 

CODIGO DE EJEMPLO

 

Para hacer uso del LCD Nokia 5110 es necesario importar una nueva librería llamada LCD5110_Graph, la puedes descargar del siguiente link. Una vez añadida al compilador ingresa el código que está a continuación. Este programa muestra los tipos de fuente, tamaños de números, como hacer líneas y círculos, así como invertir los pixeles.

Descarga de libreria: LCD5110_Graph

 

#include <LCD5110_Graph.h>

//      CLK  - Pin 3
//      Din - Pin 4
//      DC   - Pin 5
//      CE   - Pin 6
//      RST  - Pin 7

LCD5110 myGLCD(3,4,5,7,6);
extern unsigned char MediumNumbers[];
extern unsigned char BigNumbers[];
extern unsigned char SmallFont[];
extern unsigned char TinyFont[];
int contrast = 60;
 int inv=0;
void setup()
{

  Serial.begin(9600);

  myGLCD.InitLCD(contrast);
}

void loop()
{

  myGLCD.setFont(SmallFont);
  myGLCD.print("HetPro",CENTER,5);
  myGLCD.print("TUTORIAL",14,20);
  myGLCD.print("LCD NOKIA ",10,30);
   myGLCD.print("5110 ",CENTER,40);
  myGLCD.update();
   delay(1000);
myGLCD.clrScr();
  delay(1000);

  myGLCD.setFont(TinyFont);
  myGLCD.print("HETPRO",0,10);
  myGLCD.print("hetpro",0,30);
  myGLCD.setFont(SmallFont);
  myGLCD.print("HETPRO",45,10);
  myGLCD.print("hetpro",45,30);
    myGLCD.update();
   delay(1000);
 myGLCD.clrScr();
 myGLCD.setFont(BigNumbers);
 myGLCD.print("123",0,0);
 myGLCD.setFont(MediumNumbers);
 myGLCD.print("123",40,30);
  myGLCD.update();
  delay(1000);
 myGLCD.clrScr();
  myGLCD.drawRoundRect(0,0,83,47);
  myGLCD.drawLine(0,5,83,5);
   myGLCD.drawLine(0,20,83,20);
    myGLCD.drawLine(0,35,83,35);

     myGLCD.update();

  delay(1000);
    myGLCD.clrScr();
    myGLCD.drawCircle(42,24,10);
    myGLCD.drawCircle(42,24,20);
    myGLCD.update();
      delay(1000);
    myGLCD.clrScr();
    myGLCD.setFont(SmallFont);
    myGLCD.print("VISITA",CENTER,10);
    myGLCD.setFont(TinyFont);
    myGLCD.print("hetpro-store.com",10,30);
    myGLCD.update();
   delay(2000);
    myGLCD.clrScr();

      inv=inv+1;
     if(inv==1)
     {
      myGLCD.invert(true);
      myGLCD.update();

     }
     if(inv==2)
     {
      myGLCD.invert(false);
      myGLCD.update();
       inv=0;
     }
  myGLCD.clrScr();

 }
 

DETALLES DEL PROGRAMA

LCD5110 myGLCD(3,4,5,6,7);

Se declara los pines para la comunicacion del protocolo SPI en el siguiente orden (SCK,MOSI,DC,RST,CS)

 myGLCD.InitLCD(contrast);

Se define el valor del contraste en este caso “contrast” lo declaramos con un valor de 60, pero lo puedes ajustar con valores entre 0 y 127

myGLCD.setFont(SmallFont);

Se declara el tipo de fuente ya sea Smallfont o TinyFont


<pre>myGLCD.print("TUTORIAL",14,20);

Mostrar texto en pantalla dando las coordenadas en el eje X y Y(“texto a mostrar”,x,y)

 


<pre> myGLCD.setFont(BigNumbers);

Define el tamaño de los números BigNumbers o MediumNumbers

myGLCD.drawRoundRect(0,0,83,47);

Dibuja un rectángulo con bornes redondos declarando la posición inicial y final del recuadro (X inicial,Y inicial, X final, Y final)

myGLCD.drawCircle(42,24,10);

Dibuja un circulo declarando la posición y diametro (X, Y, diametro)

myGLCD.drawLine(0,20,83,20);

Dibuja una linea declarando la posición inicial y final (X inicial,Y inicial, X final, Y final)

myGLCD.invert(true);

Invierte los pixeles del LDC en “true” es activado

myGLCD.clrScr();

Limpiar pantalla

*NOTA IMPORTANTE
Después de declarar todo lo que se quiera mostrar en pantalla es necesario agregar el siguiente comando, ya que es el que manda la instruccion para visualizarlo en la pantalla

myGLCD.update();

La carpeta de la librería contiene el manual de estas y otras funciones para controlar la pantalla Nokia 5110

13 Comments

  1. Rodrigo Sanchez Mayo 10, 2015
    • Eduardo Lara Mayo 12, 2015
  2. marcelo Noviembre 28, 2015
  3. francisco Enero 6, 2016
    • Eduardo Lara Enero 6, 2016
  4. Gris Enero 29, 2016
    • Hector Torres Enero 29, 2016
  5. Gris Febrero 21, 2016
  6. cesar Febrero 25, 2016
    • Hector Torres Febrero 25, 2016
  7. Andrés Andino Septiembre 26, 2016
    • Saul Jesus Septiembre 27, 2016

Leave a Reply