Buenos días.Hace poco adquirí un kit de Arduino Uno e intentando probar los distintos componentes me he topado con el dichoso LCD el cual no consigo hacer funcionar.Ahora mismo estoy siguiendo este ejercicio, aunque ya he probado muchos otros incluidos los ejemplos de LCD que vienen en Arduino IDE y siempre llego a lo mismo.Soy capaz de ajustar el contraste de la pantalla através del la resistencia variable,pero no se me muestra ningún texto en la pantalla.Solo estos cuadros blancos que desaparecen conforme ajusto la resistencia variable ...
Edit:
Adjunto el código del programa que no me dejan poner links XD:
El circuito:
* LCD RS pin va conectado al digital pin 12
* LCD Enable pin conectado al digital pin 11
* LCD D4 pin conectado al digital pin 5
* LCD D5 pin conectado al digital pin 4
* LCD D6 pin conectado al digital pin 3
* LCD D7 pin conectado al digital pin 2
* LCD R/W pin conectado a ground
* los dos ultimos a +5V and ground
* El cable de la LCD VO va conectado a la referencia del potenciometro
*/
//Codificamos el mensaje en una cadena de 12 posiciones
char Str[12] = {\'H\', \'o\', \'l\', \'a\', \',\', \' \', \'M\',\'u\',\'n\',\'d\',\'o\',\'!\'};
int posicion = 0;
#include <LiquidCrystal.h> // incluimos la libreria LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// inicializamos los pines
//------------------------------------
//Funcion principal
//------------------------------------
void setup() {
lcd.begin(16, 2); //Cofiguramos el tamaño de la LCD
}
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() {
while (posicion < 12) { //Configuramos la estructura con la
//cantidad de posiciones de la cadena
lcd.cursor(); //Activamos el apuntador
lcd.setCursor(posicion, 0); //Rotamos las columnas
lcd.print(Str[posicion]); //imprimimos la posicion de la cadena
delay (500); //Retardo entre posiciones
posicion++; //Rotamos la posion de la cedena
}
posicion = 0; //Colocamos la posicion de la cadena
delay(1000); //Retardo de impresion del mensaje
lcd.clear(); //Borramos todos los datos de la lCD
}
//Fin programa ...
Edit:
Adjunto el código del programa que no me dejan poner links XD:
El circuito:
* LCD RS pin va conectado al digital pin 12
* LCD Enable pin conectado al digital pin 11
* LCD D4 pin conectado al digital pin 5
* LCD D5 pin conectado al digital pin 4
* LCD D6 pin conectado al digital pin 3
* LCD D7 pin conectado al digital pin 2
* LCD R/W pin conectado a ground
* los dos ultimos a +5V and ground
* El cable de la LCD VO va conectado a la referencia del potenciometro
*/
//Codificamos el mensaje en una cadena de 12 posiciones
char Str[12] = {\'H\', \'o\', \'l\', \'a\', \',\', \' \', \'M\',\'u\',\'n\',\'d\',\'o\',\'!\'};
int posicion = 0;
#include <LiquidCrystal.h> // incluimos la libreria LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// inicializamos los pines
//------------------------------------
//Funcion principal
//------------------------------------
void setup() {
lcd.begin(16, 2); //Cofiguramos el tamaño de la LCD
}
//------------------------------------
//Funcion ciclicla
//------------------------------------
void loop() {
while (posicion < 12) { //Configuramos la estructura con la
//cantidad de posiciones de la cadena
lcd.cursor(); //Activamos el apuntador
lcd.setCursor(posicion, 0); //Rotamos las columnas
lcd.print(Str[posicion]); //imprimimos la posicion de la cadena
delay (500); //Retardo entre posiciones
posicion++; //Rotamos la posion de la cedena
}
posicion = 0; //Colocamos la posicion de la cadena
delay(1000); //Retardo de impresion del mensaje
lcd.clear(); //Borramos todos los datos de la lCD
}
//Fin programa ...
Adjuntos
Última edición: