LCD Keypad Shield and LCDI2C dilemma

Hi!

I have an LCD Keypad Shield (shown below) and an Arduino Mega (1280)

My problem is that I would like to use the LCDI2C library but cannot seem to get a response, I suspect it may be the pins allocated but I can't find where they have been noted in the sketch.

Is there a solution to this? Can I modify LCDI2C to operate the LCD Keypad Shield?

Cheers, Paul.

So it appears that you want us to help you without seeing the datasheet or the code. Good luck.

Don

That doesnt look like an I2c lcd shield. It looks like one of the standard lcd for 4 pin connection. Have a word with whoever you got the shield from and ask them for the specs and how you use it.

Gordon

That doesnt look like an I2c lcd shield.

It's not.

It looks like one of the standard lcd for 4 pin connection.

It is - although they only tell you 5 of the 6 required pins on the website blurb.

Have a word with whoever you got the shield from and ask them for the specs and how you use it.

There's a schematic available and also some minimal information in the User Guide. They recommend using LCD4-bit which is not a good idea. Here's the missing link, the one that the OP didn't provide: http://www.robotshop.com/dfrobot-lcd-keypad-shield-arduino-3.html. Click on 'Useful links'.

Don

Onsan:

Look here: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1277863416

Don

Thanks guys, I can work the LCD using the LCD 4 Bit mod library, but the code i was hoping to use is based on the LCDi2C Library .

The code and build that i was hoping to base my work upon was Marians Reef Controller found at http://reefprojects.com/w/phpBB3/viewtopic.php?f=8&t=298

I was hoping that I could modify the code or pin details to make the shield work with the i2c library... I'm thinking now it won't work with the I2C, is that correct?

The solution would be to either re-work the sketch to incorporate LCD4bit in place of the LCDI2C ....or buy an I2C LCD, correct?

Please excuse the lack of thread etiquette, still learning here (4th post)...but very grateful for your help. Yep, that was the specs page for the shield.

Cheers!

The solution would be to either re-work the sketch to incorporate LCD4bit in place of the LCDI2C …or buy an I2C LCD, correct?

More or less, but if you’re staying with the hardware you have, lose the LCD4bit library. The standard liquidcrystal library which also works in 4 bit mode is far superior, LCD4bit is very old and outdated and its entire reason for being was removed with later versions of the LiquidCrystal library ( After 0015 I believe ). The standard examples in the IDE should work fine if you adjust the pin numbers to suit your shield in the LiquidCrystal xxx… line.

Cool, yep the LiquidCrystal library works as well, now to just get my head around the differences between that and the LCDI2C and I'm off and racing. Thanks for the help guys. Cheers, Paul.

Onsan:

The character mode LCD modules that are supported by the LiquidCrystal library use a parallel interface with 6, 7, 10 or 11 wires (plus ground) between the Arduino and the LCD module. I2C (I squared C) LCD devices use a serial interface to reduce the number of wires to 2 (plus ground).

The board that you have provides a convenient physical interface between the Arduino and the LCD module using it's native parallel interface. It does not contain any kind of I2C circuitry. In order to use the LCDI2C library you would need some additional hardware to convert the I2C signals coming out of the Arduino into a parallel format that your LCD Keypad Shield can use.

If you don't need the other features (pushbuttons) on your present LCD module you might consider abandoning it and looking for an I2C 'backpack' solution.

Don

cheers Don, that makes sense.

i kinda needed the bottons for menu navigation, the build i've been researching used a separate keypad and LCD and I think in the long run i may do the same, but i'm having a go at trying to build a menu and navigation using it. I figure if i can get the code to work on that using LiquidCrystal everything else will be down hill (famous last words).

cheers, Paul.