J
jag1957
Usuario VIP
- Registrado
- 13 Sep 2012
- Mensajes
- 423
- Reacciones
- 5
- Puntos
- 36
Un ejemplo para controlar un LCD por i2c con las librerias Wire que controla el protocolo de comunicaciones i2c y la libreria que os adjunto LiquidCrystal-I2C las conexiones se hacen al LCD mediante una placa con el circuito integrado PCF8574 de NXP y la podeis encontrar po más o menos 1€ ya montada y lista para insertar en el LCD, el potenciometro es para regular el brillo del LCD.
http://www.mediafire.com/file/5pp04oqi05uzuhj/LiquidCrystal-I2C-library.zip
Código:
/*
* Ejemplo práctico de texto en movimiento con la plataforma Arduino,
* este consiste en desplazar en las 2 filas un doble texto,
* de derecha a izquierda.
* Conexiones al Arduino
* A5 al SCL del LCD
* A4 al SDA del LCD
* +5V al Vcc del LCD
* GND al GND del LCD
*/
#include <Wire.h> // Se incluye la libreria para comunicaciones i2c
#include <LiquidCrystal_I2C.h> // Libreria para el manejo del LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // Selecciona el tipo de LCD 16 caracteres por 2 filas y su direción i2c (0x27)
void setup() // bloque de configuración
{ // Entrada al bloque de configuración
Serial.begin(9600); // Configura el puerto serie a 9600 baudios
lcd.begin(); // Inicializa el LCD
lcd.setCursor(0,0); // Primer dígito posición en la fila de 0 a 16 2ª dígito selecciona la fila donde se escribira 0 o 1
lcd.print(" Bienvenidos, este es el Arduino UNO."); // texto a imprimir en el LCD en la 1ª fila 39 caracteres el resto se ignora
lcd.setCursor(0,1); // Primer dígito posición en la fila de 0 a 16 2ª dígito selecciona la fila donde se escribira 0 o 1
lcd.print(" Curso de Arduino");
}
void loop()
{
// desplaza 39 posiciones (longitud del string o cadena) hacia la izquierda
// Creamos un contador for para la 1ª fila que recorra 39 caracteres
// Asignamos a la variable entera positionCounter el valor 0
// Le decimos que mientras la variable sea menor que 39 vaya sumando uno
// Cuando veamos ++ quiere decir que a esa variable se le vaya sumano un 1
// Es decir el for ira contando desde el primer valor que es 0 hasta 39
// Luego al llegar a 39 terminara el for y continuara el programa
for (int positionCounter = 0; positionCounter < 39; positionCounter++)
{ // Se inicializa el bolque for
// comando de desplazamiento a la izquierda
lcd.scrollDisplayLeft();
// espera medio segundo
delay(500);
} // Termina el primer bloque for
// desplaza 19 posiciones (longitud del string o cadena) hacia la izquierda
// Creamos un contador for para la 2ª fila que recorra 19 caracteres
// Asignamos a la variable entera positionCounter el valor 0
// Le decimos que mientras la variable sea menor que 19 vaya sumando uno
// Cuando veamos ++ quiere decir que a esa variable se le vaya sumano un 1
// Es decir el for ira contando desde el primer valor que es 0 hasta 19
// Luego al llegar a 19 terminara el for y continuara el programa
for (int positionCounter = 0; positionCounter < 19; positionCounter++)
{ // Se inicializa el 2º bolque for
// comando de desplazamiento a la izquierda
lcd.scrollDisplayLeft();
// espera medio segundo
delay(500);
} // Termina el 2º bloque for
delay(500); // Espera medio segundo
} // Vuelve al principio del bloque void loop()
http://www.mediafire.com/file/5pp04oqi05uzuhj/LiquidCrystal-I2C-library.zip
Última edición: