I bought my first Arduino Uno, a Ethernet and LCD Keypad Shield some days ago and the community here was already a great help getting running the display.
Now I played around a little bit with the Arduino and the Keypad and then one question came up: I want to use the Arduino, the Ethernet and LCD Shield next year for my greenhouse, so I can see humidity and temperature, perhaps see the soil moisture, open the windows,... Not sure if I realize all over the winter or over some years.
Nevertheless, I have some experience with Raspberry Pi and the GPIOs. I now thought "when I plug in the LCD Keypad shield, there are no free GPIOs anymore, so I could read e.g. humidity and temperature?! I would like to use the LCD to see these values or e.g. start irrigation directly standing infront of the greenhouse.
How do I resolve this? Do I need one Arduino with LCD and another one that receives / sends commands / information from the LCD Arduino? Or is there a possibility to do everything with just one Arduino? An external plug would be available.
If your LCD shield is like the common one that is available all over:
Pin AllocationPinFunction
Analog 0 Button (select, up, right, down and left)
Digital 4 DB4
Digital 5 DB5
Digital 6 DB6
Digital 7 DB7
Digital 8 RS (Data or Signal Display Selection)
Digital 9 Enable
Digital 10 Backlit Control
The rest of the analog inputs (A1-A5) and pins 0, 1, 2, 3, 11, 12, 13 are available at pads that you can solder headers or wires to.
With respect to the red warning in the image in response #1,
actually D10 doesn't directly drive the backlight. It connects to the base of a transistor, but do to a design flaw in many of the shields, setting D10 to high creates a short through the transistor to ground. Net result is the same; if D10 is set to HIGH it creates aa overload on the i/o pin which can potentially damage the AVR processor.
The irony is that many 16x2 backlights draw less than 30ma so had they simply wired the backlight anode to D10 it would have been ok.
See the sticky in the top of the displays forum for the gory details: Warning to users of some vendors LCD keypad shields - Displays - Arduino Forum
The hd44780 library hd44780_pinIO ioClass comes with a test sketch, LCDKeypadCheck to test for this h/w issue.
It also will auto detect this issue and work around it in s/w.
groundFungus:
Lead solder is easier to use for a beginner.
Or indeed, anyone!.
Just don't suck on it.
bperrybap:
The irony is that many 16x2 backlights draw less than 30ma so had they simply wired the backlight anode to D10 it would have been ok.
In fact nearly all currently available 1602 displays and all used in that shield. It is of course, a comparatively old design and use of a logic-level FET as now available, instead of a transistor would be no problem. Or one additional one cent component.