LCD
De ArduWiki
Contenido
Descripción
La librería LiquidCrystal de Adafruid (AGO-2017), permite a un Arduino controlar un LCD (HD44780 y compatibles) via 4 u 8 bits de datos mas ademas de RS y Enable. Opcionalmente puedes usar la linea RW.
Mucho mas eficiente es la libreria LiquidCrystal_I2C de Frank de Brabander (NOV-2015), que permite a un Arduino controlar un LCD via el bus I2C, pero tendras que usar un adaptador.
Placas aplicables
Todas
Sintaxis
#include <LiquidCrystal.h> LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Métodos
Metodos | Descripcion |
---|---|
begin(columnas, filas) | Inicializa la interfaz a la pantalla LCD y especifica las dimensiones de LCD. |
setCursos() | |
clear() | |
home() | |
print(dato [, base]) | Imprime un dato tipo char, byte, int, long o String. Retorna el numero de bytes escritos. |
write(datos) | Escribe datos en LCD. Retorna el numero de bytes escritos. |
cursor() | Muestre el cursor LCD: un guión bajo (línea) en la posición en la que se escribirá el siguiente carácter. |
noCursor() | |
blink() | |
noBlink() | |
autoscroll() | |
noAutoscroll() | |
leftToRight() | |
rightToLeft() | |
scrollDisplayLeft() | |
scrollDisplayRight() | |
createChar() | |
setRowOffsetsr() |
Comentarios
Advertencias
Ejemplo 1
Ejemplo de LCD con manejo directo de 4 bits.
/*
The circuit:
* LCD RS pin to digital pin 12
* LCD R/W pin to ground
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD VSS pin to ground
* LCD VCC pin to 5V
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
*/
#include <LiquidCrystal.h>
const int rs=12, en=11, d4=5, d5=4, d6=3, d7=2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
lcd.begin(16, 2); //Columnas, filas
lcd.print("Hola mundo...");
}
void loop() {
lcd.setCursor(0, 1); //Poner cursor en columna 0, fila 1
lcd.print(millis()/1000);
}
Ejemplo 2
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2); //Columnas, filas
}
void loop() {
lcd.setCursor(0, 0);
for (byte i=0; i<10; i++) {
lcd.print(i);
delay(500);
}
lcd.setCursor(16, 1);
lcd.autoscroll(); //Prende scrolling
for (byte i=0; i<10; i++) {
lcd.print(i);
delay(500);
}
lcd.noAutoscroll(); //Apaga scrolling
lcd.clear(); //Limpia LCD
}
Ejemplo 3
Vea también