Go Down

Topic: Problemas con Attiny85 y LCD I2C (Read 1 time) previous topic - next topic

santiago.lopez

Estoy intentando conectar un attiny85 y un LCD por i2c, estoy usando la librería del playground:
http://arduino.cc/playground/Code/USIi2c
Y al compilar en arduino023 me devuelve el siguiente error:

In file included from HelloWorld_Tiny.cpp:15:
/Users/santiagolopezpina/Documents/Arduino/libraries/LiquidCrystal_I2C/LiquidCrystal_I2C.h:92: error: conflicting return type specified for 'virtual void LiquidCrystal_I2C::write(uint8_t)'
/Users/santiagolopezpina/Documents/Arduino/hardware/tiny/cores/tiny/Print.h:73: error:   overriding 'virtual size_t Print::write(uint8_t)'

Alguién sabe por qué puede ser?

fm

Es posible que te hayas descargado la librería mas moderna para en entorno 1.0. La antigua que hay te debería funcionar.
   

santiago.lopez

tengo la que pone en la página que hay que usar específicamente para el attiny, con la original sin modificar nada no he probado la verdad :S

fm

El tema es que esta es para el IDE 1.0. Que por el error que te da es el problema que tienes:
Quote


Here is the same library based off the newer LiquidCrystal_I2C library for the v1+ IDE: LiquidCrystal_I2C_85V1.zip
   

santiago.lopez

no creo que sea por eso, si selecciono otro chip que no sea un attiny, por ejemplo arduino, me compila y funciona correctamente, el problema está cuando selecciono attiny.
Por los cores de attiny tampoco es, abro el ejemplo de Blink y seleccionando la placa de attiny me compila perfectamente.

Gracias por la ayuda!

fm

#5
Aug 19, 2012, 08:11 pm Last Edit: Aug 19, 2012, 09:11 pm by fm Reason: 1
Vale como lo veas...

Te lo comento porque uno de los grandes cambios que hay en el IDE entre la version 23 y 1.0.1 es la librería de control del I2C. El caso es que en la versión 23 utiliza el método "send" para escribir en el bus, mientras que el método "write" es el que se usa en la versión 1.0.1. El tema es que la librería LCD hereda de la clase Print, que además cambiaron el método de escritura virtual.

Que te compile el "sketch" Blink no es nada significativo ya que al no usar la clase LCD ninguno de los ficheros de la librería que te has descargado se van a compilar.

Te lo digo porque yo escribí la librería "New LiquidCrystal":
https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home

Una de las cosas que tuve que introducir para mantener compatibilidad entre ambas versiones es usar compilación condicional para seleccionar un método u otro de la librería Wire.

De todas formas para salir de dudas puedes instalar la versión que recomiendan para el IDE 23:
Quote
You can download the modified LiquidCrystal_I2C library for the ATtiny here: LiquidCrystal_I2C_85.zip


o instalarte el IDE 1.0.1
   

santiago.lopez

oook, pues a ver cuando saco un rato y le echo un ojo más detalladamente.

Gracias !

fm

   

Go Up