Compatibility Issue with Sensor Shield v4.0 & SainSmart 1602 LCD Keypad Shield

I just purchased both a Sensor Shield V4.0 and a SainSmart 1602 LCD Keypad Shield for my Arduino UNO.

The SainSmart 1602 LCD Keypad Shield wokrs great when connected directly to the UNO. However, when I install the Sensor Shield V4.0 in between the
UNO and the LCD keyboard Shield the LCD Keyboard Shield does not function properly. I assumed that the Sensor Shield simply passed all pins straight through.

I cannnot find anything on pin usage for the sensor shield. Any help would be appreciated.

I cannnot find anything on pin usage for the sensor shield.

That's because their documentation is horrible. All they provide is a so called 'schematic' diagram which looks like part of an Eagle file. These types of diagrams are good for generating PC layouts but not for analyzing circuit operation (which is what a true schematic diagram is used for).

As far as I can tell pins D0 - D7 go straight through as do A0 - A5 but pins D8 - D13 are used for their motor control IC. Unfortunately your LCD1602 uses D8 and D9 for the RS and E signals to the LCD. It looks like the two boards are incompatible.

Don

Thank you for such as quick response.
However, I do not believe it has a motor control chip. I have attached an image of the board.

However, I do not believe it has a motor control chip. I have attached an image of the board.

You did not provide a link to either of your boards so I did a search for them. The link that I found for the Sensor Shield provided a 'schematic' that appears to be for a different product. The other links that I have found only provide Eagle files and I do not have any way to look at them.

What exactly happens (or doesn't happen) when you install the Sensor Shield board?

Don

The board appears the same as when I power it up without a program running. The first line of the display is lit solid the second is off.
Without the sensor shield the board displays whatever I send correctly, but when i put the senso shield in between the UNO and LCD shield I just get a solid 1st line and blank second.

This is the link to where I purchased the board

http://arduino-direct.com/sunshop/index.php?l=product_detail&p=2

Thanks

Are you using the sketch provided with the LCD1602? If you are then try it with the correct constructor:

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

instead of:

LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);

Don

Thank you very much for your time.

I had to make that change to get it to work without the sensor shield in between them.

I do have the display working properly without the sensor shield in between them.

Well the Sensor Shield is doing something to at least one of the six LCD lines. There is obviously more on the board than just breakouts of the various pins as evidenced by the serial jumpers and the pullup resistors R1 and R2 near the center of the board. These should not be affecting the lines used for the LCD, but who knows???

With the shield removed you could check for continuity on each of those six LCD lines, shorts between adjacent lines, and also shorts to GND or +5.

Don

Thanks. It maybe a case of a short somewhere.

I did not find any shorts on the sensor shield and all connections were good.

It looks like you are going to have to get more information about the Sensor Shield since it seems to be the culprit in spite of your measurements. Terry, one of the proprietors of Yourduino, used to be quite active on this forum. Try: terry@yourduino.com

Don

Random thought: when the sensor shield is below the display shield, are any sensor shield pins touching the display shield PCB or parts?

Random thought: when the sensor shield is below the display shield, are any sensor shield pins touching the display shield PCB or parts?

It's worth looking into. I considered that possibility yesterday but when I looked at the photo of the bottom of the display it seemed that there wasn't too much there to contact the sensor board so I didn't mention it.

Don

JeffPB:
I did not find any shorts on the sensor shield and all connections were good.

Did you ohm out every female header pin to its corresponding male pin
and then checked for a short between each female header pin to all other pins?

I have what looks like the same board. (bought it on ebay).
It is all straight through with nothing active on any of the Arduino pins
other than reset.
The one thing I don't like on it is that R2 is a pullup on the reset line.
This should not be necessary.

I haven't had any issues using it in between the emartee LCD shield I have.

Just wondering if the shield is causing the AVR to not run.
(maybe a stuck reset button?)
Does the UNO download ok when the shield is installed?
i.e. can you download a blink sketch and see the LED on the uno blinking
when the shield is in place?

Are you using the backlight control by toggling D10?
That LCD shield appears to have the same broken LCD backlight control circuit used in the dfRobot shield.
(the schematic they have in their download package looks identical)
See this thread:
http://arduino.cc/forum/index.php/topic,96747.0.html

--- bill

Did you ohm out every female header pin to its corresponding male pin - Yes I did and they all checked out
and then checked for a short between each female header pin to all other pins? - Yes I checked and there were no shorts

I The one thing I don't like on it is that R2 is a pullup on the reset line. This should not be necessary. - I did not connect the reset line to the LCD keypad shield but same result

Does the UNO download ok when the shield is installed? Yes I had previous run the blink program with just the sensor shield install and it was fine

Are you using the backlight control by toggling D10? I have disconnect D10 and still get the same result.

I am very puzzled as this should be a real straight forward application.

JeffPB:
I did not connect the reset line to the LCD keypad shield but same result

I have disconnect D10 and still get the same result.

How did you disconnect those connections?
How are you connecting the LCD shield to the sensor shield?
Are you running wires/jumpers between the LCD shield and the sensor shield rather than plugging the LCD
shield into the sensor shield which is plugged into the UNO?

I am very puzzled as this should be a real straight forward application.

The sensor shield is passive (at least the one I have is, which is slightly different)
On mine: R2 is between VCC and reset : R1 is for the power LED : C1 between gnd and VCC.
There are only 6 wires/pins (7 if you count the D10 backlight control) on the LCD shield
for the LCD.
I would seem the most likely problem would be
that there is a short or open on one of the connections.

And you measured for continuity between every female header connection
by sticking a wire in the hole of the header
and then testing that wire against every single other male pin sticking out on the bottom of the sensor shield for
at least all of the 7 pins involved (10, 9, 8, 7, 6, 5,4) ?
With full continuity on the expected pin but no continuity an any of the 27 others pins?

I'm stumped.

--- bill

With both sheilds plugged in do the "blink" program to make sure that it can run.

Maybe a little test program that sets each pin (just change pin 13 in the definition to the desired pin #) involved with the lcd to be used as the blink pin (do not set pin 13 as an output-leave alone) and use a low resistance resistor (100-300 ohm for safety sake) to make a jumper to see the state of the pin by plugging it into pin13 (a poor mans logic probe).

Well everything is now suddenly working properly.

I have no idea why as I did not INTENTIONALLY change anything.

Thanks for all the assistance.

I'm still very interested in how you disconnected reset and D10 from
the LCD shield for your testing.
Were you using wires vs plugging the shields in directly?
--- bill

I used brute force and bent the pins on the lcd keypad shield so that they did not enter the sensor shield.

I was lucky and they did not break when I bent them back.