1 Respuesta Última respuesta el Jun 17, 2015 8:14 AM por fjibarra

    Problema con la biblioteca LiquidCrystal.h en Arduino IDE 1.6.0 (Solucionado!!)

    fjibarra

      He iniciado este post ya que tuve problemas al utilizar la biblioteca LiquidCrystal.h en la version 1.6.0 del IDE de Arduino para la placa Galileo.

       

      Para dar un ejemplo de lo que sucede, utilizaré el ejemplo "HelloWorld" ubicado en el menú de Archivo/Ejemplos/LiquidCrystal... El código es el siguiente (sin comentarios):

       

      #include <LiquidCrystal.h>

      LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

       

      void setup() {

        lcd.begin(16, 2);

        lcd.print("hello, world!");

      }

       

      void loop() {

        lcd.setCursor(0, 1);

        lcd.print(millis() / 1000);

      }

       

      Cabe señalar que la configuración de los pines de la LCD la modifiqué a:

       

      LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

       

      debido a que utilicé un LCD Shield compatible con los headers de Arduino UNO.

      2015-05-12 11.44.25.jpg

      Al compilar este código no hay ningún problema, sin embargo al cargarlo a la placa Galileo, la pantalla LCD no se inicializa. Una posible solución fue la de copiar la línea "LiquidCrystal lcd(8, 9, 4, 5, 6, 7);" dentro de la función "setup":

       

      LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

       

      void setup() {

        lcd.begin(16, 2);

        lcd.print("hello, world!");

      }

       

      y de esta forma ya se pudo inicializar la pantalla. Sin embargo sucedió lo siguiente:

      2015-05-12 11.40.34.jpg

      la pantalla se inicializó, se escribio "hello, world!" en la primer línea (aunque muy lento), pero al ejecutar la función "lcd.setCursor(0, 1);" parece ser que no funciona ya que no transfiere el cursor al primer caracter de la línea 2 y se sobre escribe la cuenta de segundos sobre el contenido de la primer línea.

       

      Solución:

       

      Afortunadamente aún contaba con la version 1.5.3 de Arduino IDE para la placa Galileo, por lo que decidí copiar la biblioteca LiquidCrystal de la versión 1.5.3 y reemplazar la biblioteca de la versión 1.6.0.

       

      En resumen: Copié los archivos LiquidCrystal.h y LiquidCrystal.cpp del directorio "arduino-1.5.3/libraries/LiquidCrystal/scr" y los pegué y reemplacé en el directorio "arduino-1.6.0+Intel/libraries/LiquidCrystal/scr". Cabe recomendar hacer un respaldo de los archivos antes de reemplazarlos, para evitar cualquier problema que se pueda presentar.

      2015-05-12 11.43.33.jpg

      Si alguien tiene o encuentra una mejor solución, espero la puedan compartir a través de este medio.