Pregunta:
Sainsmart LCD 2004 - Problema de biblioteca LiquidCrytal_I2C que no se puede compilar
Caesar
2014-11-09 04:24:55 UTC
view on stackexchange narkive permalink

Compré un Sainsmart LCD2004 de Amazon para usarlo con mi Arduino Uno. Entiendo que dado que este LCD usa I2C, es necesario descargar una nueva biblioteca.

Desde el sitio web de sainsmart descargué el LCD 2004 rar http://www.sainsmart.com/arduino/arduino-shields/sainsmart-iic-i2c-twi-serial-2004-20x4-lcd-module-shield-for-arduino-uno-mega-r3.html

Cuando intento compilar el ejemplo titulado helloworld obtengo el siguiente error:

En el archivo incluido desde HelloWorld.pde: 3: C: \ Users \ r_yob_000 \ Documents \ Arduino \ libraries \ LiquidCrystal_I2C / LiquidCrystal_I2C.h: 81: error: tipo de retorno en conflicto especificado para 'virtual void LiquidCrystal_I2C :: write (uint8_t)' C: \ Archivos de programa (x86) \ Arduino \ hardware \ arduino \ cores \ arduino / Print.h: 48: error: anulando 'virtual size_t Print :: write (uint8_t)'

Parece haber un conflicto entre dos funciones que devuelven tipos diferentes.

Intenté buscar el problema y encontré muchas publicaciones con errores similares. La solución sugerida es por lo general, es necesario descargar una nueva versión de LiquidCrytal_I2C. O que uno debería usar Arduino IDE versión 1.0

He descargado toneladas de bibliotecas LiquidCrytal_I2C y las probé todas en IDE versión 1.0 y 1.0.6 y todavía recibo el mismo mensaje de error. Incluso intenté cambiar el archivo LiquidCrytal_I2C.h para que devuelva el tipo correcto y aún así no tenga suerte.

¿Podría obtener ayuda con este problema?

Gracias mucho.

Tres respuestas:
Brent Mesler
2014-11-16 06:22:48 UTC
view on stackexchange narkive permalink

Acabo de comprar 3 de estos que funcionan bien con esta biblioteca LiquidCrystal_I2C2004V1.zip
( Licencia: CC BY-NC 2012 http: //www.wikispaces. com / user / view / TerryKing ).

Al instalar esta biblioteca en Arduino IDE (versión 1.6 o posterior), use el elemento de menú Sketch | Incluir biblioteca | Agregue la biblioteca .ZIP ... , navegue hasta la carpeta donde se descargó LiquidCrystal_I2C2004V1.zip y luego abra el archivo zip.

Use la dirección I2C en el ejemplo "HelloWorld" proporcionado con LiquidCrystal_I2C2004V1 :

  // YWROBOT // Compatible con Arduino IDE 1.0 // Versión de la biblioteca: 1.1 # include <Wire.h> #include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd (0x27,20,4); // establece la dirección LCD en 0x27 para una pantalla de 16 caracteres y 2 líneas setupvoid setup () {lcd.init (); // inicializa el lcd lcd.init (); // Imprime un mensaje en la pantalla LCD. LCD luz de fondo(); lcd.setCursor (3,0); lcd.print ("¡Hola, mundo!"); lcd.setCursor (2,1); lcd.print ("¡Ywrobot Arduino!"); lcd.setCursor (0,2); lcd.print ("Arduino LCM IIC 2004"); lcd.setCursor (2,3); lcd.print ("Power By Ec-yuan!");} void loop () {}  

No cambie el otro nombre del directorio de la biblioteca; éste es compatible con la biblioteca existente. Solo agréguelo como una biblioteca contribuida.

debería haber sido el menú "Importar biblioteca" extraer el archivo zip con.
Bienvenido a "Arduino Stackexchange", puedes editar tu respuesta usando el botón "editar" debajo de tu respuesta.
Párrafo adicional consolidado en respuesta como sugirió MarkU. ¡Gracias!
Joris Groosman
2015-04-23 19:30:46 UTC
view on stackexchange narkive permalink

También tuve problemas con esta biblioteca, hasta que me di cuenta de que el nombre de la biblioteca predeterminada "LiquidCrystal" entra en conflicto con el de otra biblioteca, lo que hace que los archivos se confundan. Simplemente coloque los archivos en una carpeta diferente (llamé la mía) "LiquidCrystal_4x20". Me lo resolvió.

Florin Romania
2018-09-03 13:30:07 UTC
view on stackexchange narkive permalink

Debe actualizar su biblioteca I2C.

Aquí puedes encontrar la última versión:
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/

Y mueva el antiguo a otra carpeta para que pueda usar este o después de instalar este, haga lo siguiente:

  1. Vaya a Arduino \ libraries \ Newliquidcrystal_1.3.5 \
  2. Cambie el nombre de LiquidCrystal_I2C.h como LiquidCrystal_I2Ca.h
  3. Cuando lo use en el boceto, use incluir LiquidCrystal_I2Ca .h


Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...