DFRobot I2C / TWI LCD1602 update for Arduino Uno

We received a helpful e-mail from a customer below which we would like to share with the community: The library for the DFRobot I2C / TWI LCD1602 Module may not work with the new Arduino 1.0, and can return this error:

\arduino-1.0\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:81: error: conflicting return type specified for 'virtual void LiquidCrystal_I2C::write(uint8_t)' \arduino-1.0\hardware\arduino\cores\arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'

The library “LiquidCrystal_I2C.h” can be edited / repaired in the following way:

Change line 10

#include "WProgram.h" To

#include "Arduino.h" Changed line 248

void LiquidCrystal_I2C::expanderWrite(uint8_t _data){ Wire.beginTransmission(_Addr); Wire.send((int)(_data) | _backlightval); Wire.endTransmission(); }

To

void LiquidCrystal_I2C::expanderWrite(uint8_t _data){ Wire.beginTransmission(_Addr); Wire.write((int)(_data) | _backlightval); Wire.endTransmission(); }

And in LiquidCrystal_I2C_h, change line 79

virtual void write(uint8_t);

To

virtual size_t write(uint8_t);

You can also download the updated library directly from dfrobot at dfrobot.com/image/data/DFR0154/LiquidCrystal_I2Cv1-1.rar

You can also download the updated library directly from dfrobot at dfrobot.com/image/data/DFR0154/LiquidCrystal_I2Cv1-1.rar