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)'
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.
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.
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:
You can download the modified LiquidCrystal_I2C library for the ATtiny here: LiquidCrystal_I2C_85.zip