I have an Arduino Uno and am awaiting an LCD Keypad Shield to go with it. I have also ordered a DHT22 AM2302 Digital Temperature Humidity Sensor. Having looked at it all a little closer I cannot see any way to connect the DHT22 to the Uno/Keypad. There are no extended headers on the keypad so am at a loss as to what to do.
LCD keypad shields typically have spare holes for connecting sensors etc., and most of the pins thereon are there for that purpose.
You can even rewire the shield to use other pins, but you are most unlikely to need to do that unless you use an ethernet shield as well, and LCD uses pin 4.
You could put another shield between Uno and LCD shield for the sensors, but it is not really necessary.
In short, don't panic.
PS Other than perhaps pin 4, don't be tempted to cut any pins off the LCD shield. There is usually a better solution.
Notice along the top and bottom edge of the PCB, there are rows of plated-through holes?
Notice that they mostly correspond to the standard Arduino "headers", but some are missing?
The ones that are missing, are those which are used by the shield, so you do not need to worry about them. You can solder header pins into those rows to connect to the corresponding Arduino pins. Of course, you probably do not want to have header pins sticking up above the LCD, so you solder headers or pins pointing down form the shield and connect to them via "Dupont" leads as these pins or headers are outside the outline of the UNO. Alternatively, you can solder in right-angle header pins and have them connect horizontally to "Dupont" leads. Or you can simply solder connecting wires into them.
Now a little help here - the secondary header rows along the bottom of the board do correspond to the pins directly adjacent, but those along the top side correspond - in sequence - to unused pins not directly adjacent.
Paul__B:
And don't forget to study the warning "sticky" post at the top of the topic page here as it refers to these shields.
I have been trying to find out about this pin 10 issue. I had an email from Hobby Components and they suggested that if I cut the pin on the LCD which goes to pin 10 on the Uno, it would default the backlight to on. Is there another way without cutting the pin?
meddyliol:
I have actually ordered a Mega so this question is somewhat redundant. It would be interesting how to get around the pin problem with the Uno though.
It isn't redundant. While anything can be fixed, you still need to be aware that there may be a problem. The extra pins on a Mega are not necessarily a salvation. Other than display adapters, I have never seen a shield made exclusively for Mega, although I imagine some of the more obscure makers may offer something. As far as I am aware, all Uno shields work on a Mega, and consequently bring any clash issues along with them.
meddyliol:
I had an email from Hobby Components and they suggested that if I cut the pin on the LCD which goes to pin 10 on the UNO, it would default the backlight to on. Is there another way without cutting the pin?
One way is to ensure the code you use does not cause a problem by attempting to switch on the LED - or indeed just control it in any way - just do not access that pin at all.
I must confess - and I think I did explain in that rather long and tedious "sticky" - that I "did the job properly" - carefully unsoldered the LCD module from the shield, lifted the SMD resistor, cut the trace and soldered the resistor back over the cut in the trace. It turns out to be pretty easy once you have unsoldered the LCD module.
I recalled I had done that when at home I went and inspected my LCD shield (attached as it happens, to my mega2560 )
I have been trying to find out about this pin 10 issue. I had an email from Hobby Components and they suggested that if I cut the pin on the LCD which goes to pin 10 on the Uno, it would default the backlight to on. Is there another way without cutting the pin?
If you have read the "sticky" post at the top of this forum you would see that there is an easy software workaround.
/Do not set D10 to HIGH or use PWM on this shield unless you modify it.
//You can still control the backlight .
//First set D10 to LOW. (only need to that once)
//Then set the D10 to OUTPUT for off and INPUT for on.
digitalWrite(10,LOW);
pinMode(10,INPUT);//LCD backlight ON
//pinMode(10,OUTPUT);//LCD backlight OFF
meddyliol:
I have been trying to find out about this pin 10 issue. I had an email from Hobby Components and they suggested that if I cut the pin on the LCD which goes to pin 10 on the Uno, it would default the backlight to on. Is there another way without cutting the pin?
Brian
Read the sticky. I went into great detail starting in original post on the issue and some options available.
There are a couple of ways to fix it in h/w and there is a s/w work around.
Read the sticky, especially the full original post. All the information is there.
There is even sample code in a zip image for the s/w work around.
cattledog:
If you have read the "sticky" post at the top of this forum you would see that there is an easy software workaround.
The s/w work around information document that I provided in a zip image, not only provides information about the issue, but also explains the various alternatives (one of which is to do nothing) and it also includes some easy to use macros that the sketch code can use to turn the back light on/off.
LCDBacklight(); // turn on the backlight
LCDnoBacklight(); // turn off the backlight
That said, since not all shields have the problem. I'd first to run the test sketch to see if your shield has the problem. If it doesn't have the problem, you are done and nothing needs to be done.
If it has the problem, I'd recommend re-reading the first post and then download the zip file with the s/w workarounds document for the s/w work arounds, as I'm assuming you don't want to do any h/w modifications.
I provided links to the s/w workaround document in the first post of that sticky.
The s/w work arounds document will give you options and their limitations. One of the options is "do nothing".
Everything you need to get a grasp on the problem and the solutions and work arounds is in the first couple of posts of that sticky thread.
Further to my previous post. How can I ensure that the backlight isn't enabled? For instance, in the simple Blink sketch shown below, what lines would be added to turn the backlight off? Sorry for being such a pain. As a matter of interest, without the LCD Keypad connected the Arduino is drawing 70mA from the USB port, with it connected it is drawing 110mA. That means that the LCD board is only adding 40mA.
void setup()
{
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}