Go Down

Topic: Centipede shield to drive a simple LCD (Read 611 times) previous topic - next topic

lpcmen2001

Hi, I am currently building a little robot with multiple sensors and I would like to mount it with a LCD. I found out about this shield that give you 64 I/O pins through i2c and comes with a library of it's own but It will only work with digital signal. Here are more info : http://macetech.com/store/index.php?main_page=product_info&cPath=4&products_id=23

I was wondering If I was gonna be able to use the standard LiquidCrystal Library with this module. My main concern is that when you initialize the library, you enter "int" as "PIN number"...

Is it going to work? Is there a way around it? Will I have to re-write the library ?

Also, Is there is any way at all that I could get my sensor (Sharp IR, Sonar, etc...) to work with the shield even if the output analog signal? I guess not but it's still worth asking.

Thanks a lot.

mowcius

You could intialise the LCD through the centipede shield if that's what you mean but the shield only uses analog pins 4&5 so you have all the rest free.

To initialise the LCD as a pin on the centipede shield, assign a name to a centipede shield pin then initialise the LCD with that name in place of the pin number.

Like I said, you still have 18 other pins that you can use...

Mowcius

lpcmen2001

Thanks for you fast reply.

Somebody told me the following...

You would not be able to use the LiquidCrystal library as is. I'm not even sure that you could modify the source to work well through the I2C. It would certainly affect the timing.

What's your take on that? Now I dont know who to believe. I just dont wanna buy the part for nothing... Thanks !

mowcius

Well I think I would have to take a better look at it but they may be correct.

As I said before though, there are still all the other arduino pins you could use

Mowcius

jrraines


lpcmen2001

This seems good but I don't plan on using a I2C display. I already have several LCD that use the conventional "Parallel Interface". Now, I know that I have other pin on my arduino that I can use but what's the point of the centripede shield if I can't use it for the one thing that take the most pin. Most of my sensors are also analog so they won't work on the shield either...

Is there something I missed ?

Anybody know a similar shield that maybe support Analog Input?

Thanks a lot !

mowcius

Yes, there is the mux shield which provides 48 analog/digital inputs/outputs

http://mayhewlabs.com/arduino-mux-shield

Mowcius

macegr

You could definitely use the Centipede Shield to talk to a parallel LCD. It's just a bunch of I/O. No problem. However you would need to come up with your own interface code, instead of using the LiquidCrystal library. Have a look inside the library cpp file...it's not complicated. You might actually be able to modify the code to work with the Centipede Shield. Assuming you have a Centipede object named CS, then everywhere you have a digitalWrite() you would replace it with CS.digitalWrite(). Same with pinMode().

However I would just build the code up from scratch, parallel LCDs are easy to use and you could get faster performance using the portWrite() commands.

If you need a bunch of analog inputs then sure, the mux shield will work. After the Centipede Shield is installed you still have access to four analog inputs.
Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

Go Up