Hola.
Acabo de llegar a Arduino, ya he realizado algún proyecto y no tuve muchos problemas, hasta que queria integrar una pantalla en un proyecto en concreto.
La cuestión es que no consigo escribir nada en ella, he leido mucho, y no consigo arrancar, les cuento.
He configurado.
Arduino Leonardo Pin +5v -----> Pin Vin Graphic LCD Backpack
Arduino Leonardo Pin GND -----> Pin GND Graphic LCD Backpack
Arduino Leonardo Pin 1 TX1 -----> Ping RX Graphic LCD Backpack
Abro este código en el entorno de programación de Arduino (version 1.0.2)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Sketch realizado por Alex TC (TCRobotics) //
// web: http://tcrobotics.blogspot.com //
// twitter: @TCRobotics //
// email: alex.tc.robotics-AT-gmail.com //
// //
// Publicado en BricoGeek.com //
// http://blog.bricogeek.com/noticias/tutoriales/tutorial-arduino-pantalla-serial-lcd-128x64/ //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup() {
pinMode(13, OUTPUT);
Serial.begin(115200); //por defecto el LCD trabaja a estos bps
Serial.print(0x00,BYTE);// para setear el LCD a 115200 (da igual como se encuentre configurado)
}
void loop() {
delay(4000);
logo();
//cambiar_baudrate();
luz_fondo(100);
cambiar_fondo();
while(1)
{
escribir_LCD(" CONFIGURACION LCD ");
escribir_LCD(" BRICOGEEK.COM ");
escribir_LCD(" ");
escribir_LCD(" AJUSTA EL CONTRASTE ");
escribir_LCD(" ");
escribir_LCD("Apaga el LCD con el ");
escribir_LCD("fondo que quieras ");
escribir_LCD(" ");
delay(10000);
digitalWrite(13, HIGH);
cambiar_fondo();
}
}
//////////////////////FUNCIONES LCD SERIAL//////////////////////////////////////////////
//escribe caracteres en la pantalla
void escribir_LCD(char *data){
Serial.print(data);
delay(20);
}
//invierte el fondo del LCD de claro a oscuro o viceversa
void cambiar_fondo(){
Serial.print(0x7C,BYTE);
Serial.print(0x12,BYTE);
delay(20);
}
//activa o desactiva el logo preprogramado en el backpack
void logo(){
Serial.print(0x7C,BYTE);
Serial.print(0x13,BYTE);
delay(20);
}
//permite ajustar la retroiluminacion
void luz_fondo(int luz){ // de 0 a 100
Serial.print(0x7C,BYTE);
Serial.print(0x02,BYTE);
Serial.print(luz,BYTE);
delay(20);
}
//cambia el baudrate. Si no conseguimos comunicarnos con el display
//podemos solucionarlo mandandole cualquier dato a 115200bps durante el arranque,
//mostrara en la pantalla 115200 y se autoajustara a esa velocidad
void cambiar_baudrate(char frec){ //"1" = 4.800bps "2" = 96,00bps
Serial.print(0x7C,BYTE); //"3" = 19,200bps "4" = 38,400bps
Serial.print(0x07,BYTE); //"5" = 57,600bps "6" = 115,200bps
Serial.print(frec,BYTE);
delay(20);
}
Le doy a verificar y me suelta este error.
LCD_serial_128x64_configuracion.pde: In function 'void setup()':
LCD_serial_128x64_configuracion:11: error: redefinition of 'void setup()'
sketch_nov27b:11: error: 'void setup()' previously defined here
LCD_serial_128x64_configuracion:14: error: 'BYTE' was not declared in this scope
Desde Arduino 1.0, la palabra clave 'BYTE' ya no está soportada en
Serial.print(var, BYTE). Por favor utiliza Serial.write() en su lugar.
LCD_serial_128x64_configuracion.pde: In function 'void loop()':
LCD_serial_128x64_configuracion:17: error: redefinition of 'void loop()'
sketch_nov27b:19: error: 'void loop()' previously defined here
LCD_serial_128x64_configuracion.pde: In function 'void escribir_LCD(char*)':
LCD_serial_128x64_configuracion:45: error: redefinition of 'void escribir_LCD(char*)'
sketch_nov27b:47: error: 'void escribir_LCD(char*)' previously defined here
LCD_serial_128x64_configuracion.pde: In function 'void cambiar_fondo()':
LCD_serial_128x64_configuracion:51: error: redefinition of 'void cambiar_fondo()'
sketch_nov27b:53: error: 'void cambiar_fondo()' previously defined here
LCD_serial_128x64_configuracion:52: error: 'BYTE' was not declared in this scope
Desde Arduino 1.0, la palabra clave 'BYTE' ya no está soportada en
Serial.print(var, BYTE). Por favor utiliza Serial.write() en su lugar.
LCD_serial_128x64_configuracion.pde: In function 'void logo()':
LCD_serial_128x64_configuracion:58: error: redefinition of 'void logo()'
sketch_nov27b:60: error: 'void logo()' previously defined here
LCD_serial_128x64_configuracion:59: error: 'BYTE' was not declared in this scope
Desde Arduino 1.0, la palabra clave 'BYTE' ya no está soportada en
Serial.print(var, BYTE). Por favor utiliza Serial.write() en su lugar.
LCD_serial_128x64_configuracion.pde: In function 'void luz_fondo(int)':
LCD_serial_128x64_configuracion:65: error: redefinition of 'void luz_fondo(int)'
sketch_nov27b:67: error: 'void luz_fondo(int)' previously defined here
LCD_serial_128x64_configuracion:66: error: 'BYTE' was not declared in this scope
Desde Arduino 1.0, la palabra clave 'BYTE' ya no está soportada en
Serial.print(var, BYTE). Por favor utiliza Serial.write() en su lugar.
LCD_serial_128x64_configuracion.pde: In function 'void cambiar_baudrate(char)':
LCD_serial_128x64_configuracion:75: error: redefinition of 'void cambiar_baudrate(char)'
sketch_nov27b:77: error: 'void cambiar_baudrate(char)' previously defined here
LCD_serial_128x64_configuracion:76: error: 'BYTE' was not declared in this scope
Desde Arduino 1.0, la palabra clave 'BYTE' ya no está soportada en
Serial.print(var, BYTE). Por favor utiliza Serial.write() en su lugar.
He leido muchas cosas, que cambie la instrucción print por write, que tengo que actualizar el Backpack.
Alguien me puede ayudar?. Gracias.