Pantalla LCD con Arduino

lcd_arduino

Existen diferentes tipos de pantallas LCD para usar con Arduino, pero las que disponen de un Controlador Serial únicamente necesitan 3 pines (Vcc, GND y Data) para gestionarlas, dejando libres el resto para nuestro proyecto.

En nuestro caso hemos usado la SerLCD v2.5 de SparkFun. En la Hoja Tecnica tenemos una buena descripción de todos los comandos que acepta.

Hemos de conectar la alimentación a la placa (GND y 5V) y el pin Data al Tx de la placa. Como vemos el código para gestionarlas es muy simple:

void setup()
{
  Serial.begin(9600);
  backlightOn();
}

void loop()
{
  selectLineOne();
  delay(100);
  Serial.print("CyberHades.com");
  delay(1000);
  clearLCD();
}

void selectLineOne(){  //puts the cursor at line 0 char 0.
   Serial.print(0xFE, BYTE);   //command flag
   Serial.print(128, BYTE);    //position
}

void clearLCD(){
   Serial.print(0xFE, BYTE);   //command flag
   Serial.print(0x01, BYTE);   //clear command.
}

void backlightOn(){  //turns on the backlight
    Serial.print(0x7C, BYTE);   //command flag for backlight stuff
    Serial.print(157, BYTE);    //light level.
}

Acepta muchos comandos más, como hacer parpadear el cursor, desplazar el cursor hacia la izquierda o derecha, etc. Por ejemplo, controlar el brillo de la pantalla es tan simple como:

void backlightOn(){  //turns on the backlight
    Serial.print(0x7C, BYTE);   //command flag for backlight stuff
    Serial.print(157, BYTE);    //light level 100%.
}

void backlightOff(){  //turns off the backlight
    Serial.print(0x7C, BYTE);   //command flag for backlight stuff
    Serial.print(128, BYTE);     //light level for off.
}
void backlight40(){  //turns backlight 40%
    Serial.print(0x7C, BYTE);   //command flag for backlight stuff
    Serial.print(140, BYTE);     //light level for 40%.
}
void backlight73(){  //turns backlight 73%
    Serial.print(0x7C, BYTE);   //command flag for backlight stuff
    Serial.print(150, BYTE);     //light level for 73%.
}