lcd 16x2 shield

Alright I wasn’t sure where to put this, I am not really having issues with the shield, aside from “what to do with it” my concern is the “with” since I drop it on top of the micro controller, and no more pins available. I suppose I could attach to a bread board, and then go from there?
This is what I got.
http://osepp.com/products/shield-arduino-compatible/16x2-lcd-display-keypad-shield/
I ordered it through our local electronics store, communication got bad and I got this instead of This…

… of which I just ordered, for my current project.
I also ordered
http://dx.com/p/arduino-sensor-shield-v4-0-66849#.UvVVQ_2FVSU

http://dx.com/p/keyes-24-in-1-sensor-module-set-for-arduino-multicolored-works-with-official-arduino-boards-220278#.UvVVbP2FVSU
since I was there anyways, and wanted some more cool stuff to play with.
Now What I am wondering, is what to do with this LCD shield, since it takes up the whole arduino. It is currently a clock LOL. I had to do something with it.
I guess what I am asking also is how do I get more use out of the Arduino, while this shield is plugged in.

You can put a parallel to I2C adaptor on the shield (like this one)
http://forums.lcdsmartie.org/viewtopic.php?t=3506
and connect your A0 analog input to the shield pin (it uses the analog pin with a resistor network to determine which
button in pressed , see attached schematic).
You might want to find a plastic case for the shield but once you connect the pins used by the lcd
(LiquidCrystal lcd(8, 9, 4, 5, 6, 7):wink: to the shield and the one analog pin it needs then it will not know it is
not plugged into the arduino and you can use the arduino as you wish.
If you need help setting up the I2C adaptor let us know , we’ve already been through that drill with someone
else and have all the relevant config info now.

OSEPP_LCD_Keypad_Shield_V1-0-SCH1.pdf (19.7 KB)

What you "do" with the shield, is to purchase a set of "extender" headers for the Arduino so that you can mount the display shield over the sensor shield once you have whatever sensors you require, plugged in. There is of course, a problem that the LCD shield will use pins that would otherwise be available on the sensor shield, but you would have to allocate them anyway.

Pleas note however that this shield does have the "bodgie" wiring blunder described in the "sticky" at the top of this forum and needs to be modified unless you are extremely careful with coding especially for it as it can damage the Arduino.

Thanks for the reply's guys. I appreciate it. Paul, thank you very much for the link, and the warning. I would have never figured this out, without destroying something LOL. I downloaded the LCDcheck on the forum link, yes sir, bad pin 10. So Well I guess I can use this to play with and test, and just avoid pin 10, germanium 1n34a solution, or,,, which I think is the proper answer, get one that works properly. So that being said, any recommendations for an lcd screen. I was also looking at a touch screen as well, which I would really like, but this little experience has made me a little nervous about purchasing. That being said, any recommendations for good quality lcd, and/or touch screen would be appreciated. I want to buy a touch screen anyways, so perhaps that is the route to go.

I Contacted Osepp via email yesterday , with the specifics and the link, as I thought they should know this. My intent was just to inform them about the issue, so they can at least warn people about it. They returned an email and asked for my address to get me a new one, without the 10 pin issue, ASAP. I must say I am surprised and impressed that they want to send me a new one. Go Osepp :wink:

sensai:
I must say I am surprised and impressed that they want to send me a new one. Go Osepp :wink:

That is pretty good customer service.
Let me know how that works out and I'll update the main LCDkeypad thread about it.

As far as your original shield goes, you could chose to permanently forfeit back light control
and simply cut the trace to the D10 pin or even cut off the D10 header pin.
That way you would also use D10 with another shield.

--- bill

sensai:
... to get me a new one, without the 10 pin issue, ASAP. I must say I am surprised and impressed that they want to send me a new one. Go Osepp :wink:

On the other hand, it is fascinating that they both know the problem and have two varieties of boards in stock.

bperrybap:
As far as your original shield goes, you could chose to permanently forfeit back light control
and simply cut the trace to the D10 pin or even cut off the D10 header pin.

I did consider that option. :smiley:

Paul__B:

sensai:
... to get me a new one, without the 10 pin issue, ASAP. I must say I am surprised and impressed that they want to send me a new one. Go Osepp :wink:

On the other hand, it is fascinating that they both know the problem and have two varieties of boards in stock.

Yeah I never even thought of that…LOL hmm

On the other hand I plugged this here lcd into a bread board, totally avoided pin 10 and played with this, back light is bright. I have 8,9,4,5,6,7 all plugged into the arduino. scrolling text works, but strange the back light shines, I see no difference with pin 10 in attached or not.

sensai:
I see no difference with pin 10 in attached or not.

You won't.
The problem is when you drive the pin 10 high.
If pin 10 is left alone it is in input mode and there is no issue.
I describe this in detail in the sticky referenced.

--- bill

What Bill means is that Input Mode is by definition High Impedance and Output Mode is low impedance (to drive loads)
and therefore vulnerable to shorts which could exceed the allowed current for an output. The worst thing you can do
with an output (meaning a pin that has been configure so in software) is to directly short it to ground, which is why
I always use current limiting resistors as Pullups ans Pulldowns for button switch inputs because I change circuits so
frequently if I download a program to uController that has some pin shorted to ground in Input Mode and then
reconfigure it as an Output before I realize that I could damage an output. The way I do it I can load any program any
time and NEVER short an output . As an example, some of the Example programs in the RF24 library require you to
short an input to ground to designate the Receiver. They don't mention using a resistor because they expect you
to know that. If you didn't and connected it directly because they didn't mention it, you would be fine until you
loaded a different program that changed that pin back to an OUTPUT, and by the time you realized it , it might
be too late. I don't know how long an arduino pin can tolerate a direct short to ground when configured as an
output but truthfully , I don't want to find out the hard way.

I had to re-read the sticky, I understand now. As long as I am not driving any current through pin 10 while this lcd " pin 10" is attached to the arduino I am good. Hence chop of the pin, eliminating issues. I actually like that idea. :wink:

raschemmel : good clarification for me thank you. I actually got a couple of switches, which I did put a resistor each on, it just made sense to do, I was nervous about direct "short" via switch, and of course possibly damaging the micro controller.

There's a more detailed explanation here in Reply #20.
http://forum.arduino.cc/index.php?topic=212811.msg1568930#msg1568930

The short version is :
To establish a PASSIVE "HIGH"STATE on an INPUT pin connected to a button switch:

switch -terminal -1 =>10 K resisitor => +5V
switch -terminal -1 =>INPUT pin
switch -terminal -2 =>1 k resistor => GND

To establish a PASSIVE "LOW"STATE on an INPUT pin connected to a button switch:

switch -terminal -1 =>10 K resisitor => GND
switch -terminal -1 =>INPUT pin
switch -terminal -2 =>1 k resistor => +5V

This prevents any possible direct shorts regardless of how a pin is configured in SW.

I had to read and re-read to soak this in my head, I think I get it… my two switches are wired like this
ground --> resistor --> arduino pin --> switch --> vcc
so this would be a passive low state? correct ?
I am going to read this a few more times, I would like it to settle nice and deep into my brain.
Thank you again raschemmel .

The short version is :
To establish a PASSIVE "HIGH"STATE on an INPUT pin connected to a button switch:
. . .
To establish a PASSIVE "LOW"STATE on an INPUT pin connected to a button switch:

This is very confusing to me.

I may be in the minority here but I don't recall hearing of digital circuits being described as 'passive high' or passive low. I have always remembered hearing of them as 'active high or 'active low'.

Try doing a Google search for 'passive high state' and see how many hits you get. Then repeat for 'active high state'.

Don

All I know about passive electronic components, such as resistors, inductors, capacitors, or transformers, do not require any source of energy to perform their function in an application.

that is all i could find on passive state, however when I google search electronics active state I get lots of information regarding logic devices.

You're making it more complicated than it its.
The only purpose of any pullup or pulldown resistor is to establish a KNOWN state when NOTHING (PASSIVE) is happening
OR establish an ACTIVE state when SOMETHING is happening. Yes, you could omit ALL the resistors on the ACTIVE side,
because when configured as an INPUT the pin is HIGH IMPEDANCE and you can short it directly to ground. The problem
comes when you load a different program that reconfigures it as an OUTPUT and now you're shorting it to GND. It's much
safer to always use resistors so you are protected either way.
The ACTIVE STATE resistor is on the OPPOSITE side of the switch. The PASSIVE side of the switch is the side the INPUT
pin is connected to. The pullup resistor guarantees a high when everything is PASSIVE , (like you're not pressing the button).
If you prefer to think in terms of ACTIVE LOW and ACTIVE HIGH, that's fine, but that doesn't make the PASSIVE STATE concept
go away, it just means that whatever you call ACTIVE, is the opposite of PASSIVE. Knowing a signal is ACTIVE HIGH or ACTIVE
LOW does not release you from the responsibility of establishing KNOWN (PASSIVE) state with pullup resistors.
The point is , a push button is ACTIVE HIGH or ACTIVE LOW depending on how you code it.
If it is ACTIVE HIGH, then you put a 10k resistor from the input pin to GROUND on the SAME side of the switch the input pin
is connected to. NOW you have established a PASSIVE (nothing happening) LOW STATE on the input pin. The ACTIVE STATE
is obviously the opposite of the PASSIVE state so you put a 1 k resistor on the OTHER side of the switch to +5V. Most of you
won't bother with using a resistor if the circuit is ACTIVE HIGH because you're not going to damage an input by shorting it
to +5V. But it you think like that , sooner or later you are going to confuse the two and wind up omitting the resistor for an
active LOW circuit and short an output to GND. It makes much more sense to ALWAYS use one 10k the INPUT PIN SIDE
(if PASSIVE is too confusing for you) and one 1k on the ACTIVE side. (as in ACTIVE HIGH /ACTIVE LOW, sense that what
Google responds to). If you follow that practice you will NEVER damage an input no matter what you do because there will
always be a resistor on BOTH SIDES OF THE SWITCH .
(did I connect that wire to +5V or GND ? OH NO ! DAMN ! I accidently plugged it into GND instead of Vcc ! )
Do you really want to go there ?

so ...
ground --> 10k resistor --> input pin --> switch --> 1k resistor --> vcc+5v
is really a great safe way of ensuring you do not fry anything important.
I like it, no matter what the term used to describe it.

Close, below is probably a more complete representation; since both the input pin AND the 10k resistor
are connected to the SAME side of the switch as shown below.

PASSIVE LOW/ACTIVE HIGH WIRING
ground ← [10k resistor] -->[term-1] [SWITCH] > ← ][term-2] → 1k resistor → vcc+5v
[input pin]< --------------->[term-1] [SWITCH] > ← ]

raschemmel:
Close, below is probably a more complete representation; since both the input pin AND the 10k resistor
are connected to the SAME side of the switch as shown below.

PASSIVE LOW/ACTIVE HIGH WIRING
ground ← [10k resistor] -->[term-1] [SWITCH] > ← ][term-2] → 1k resistor → vcc+5v
[input pin]< --------------->[term-1] [SWITCH] > ← ]

Yes I see, that is what I was trying to represent… I understand completely now, thanks… The 10k resistor does not go through the input pin, rather paralell with the input pin before the first terminal on the switch.
BTW I really like your “diagram” here. It sits well in my head.

BTW I really like your "diagram" here. It sits well in my head.

I finally did something right....