Pages: [1]   Go Down
Author Topic: Centipede shield to drive a simple LCD  (Read 465 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

North Yorkshire, UK
Offline Offline
Faraday Member
**
Karma: 104
Posts: 5531
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 !
Logged

North Yorkshire, UK
Offline Offline
Faraday Member
**
Karma: 104
Posts: 5531
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Minnesota USA
Offline Offline
Sr. Member
****
Karma: 1
Posts: 323
Made it mahself outta sand 'n wahr.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm sure you can't use LiquidCrystal as is.

you should look at:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1236204212
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 !
Logged

North Yorkshire, UK
Offline Offline
Faraday Member
**
Karma: 104
Posts: 5531
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

Mowcius
Logged

SF Bay Area
Offline Offline
Edison Member
*
Karma: 10
Posts: 1235
Arduino Ninja
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store

Pages: [1]   Go Up
Jump to: