Go Down

Topic: Warning to users of some vendors LCD keypad shields. (Read 168594 times) previous topic - next topic

dwightthinker

If you heat the soldered end of the pin on the shield, you can
pull it out. It doesn't take that much to pull it put.
That leaves a space between the shield and the arduino to
put a short pin and a wire to bring pin 10 out. A piece of tape between
on the shield to keep the end of the pin from shorting to the pad on the
shield as well.
One can then add the 1N34 or use a 2N7000 as I described ( it does
invert the pulse width control but that is just a software patch.
I just did this on my boards. It works fine.
Dwight

richard1899

I am a robotics guy and a retired electronics engineer.  While I have used the Arduino for only about 3 years,I am new to this forum.

I have 12 of the very versatile DF Robot keypad 2X16 display shields (blue background-white characters only).  I have modified all of them for my use for over a year or two.

I don't care, nor have I ever cared, about adjusting backlight brightness.  As a roboticist I am far more concerned about having usable pins.  I use only the Uno rev 3 boards and after development use the $4.95 enhanced pro-mini (Marlin P Jones), as a replacement for the UNO in the final system, thereby getting the UNO back for future use.

By merely cutting the trace to pin 10 on the DF robot board, as in post #1, the LED lights to full brightness and the entire shield draws only 24.5 ma from a 5 volt supply....PLUS... I get pin D10 available for doing real important stuff rather than the mundane task of controlling backlight brightness which I want on full blast, anyway.

The display board has a natural current limit resistor on the back in series to limit current this is why the entire Df Robot board draws no more than 24.5ma at full brightness.

If you have a small system with a necessarily small and weak battery and need the dimming or complete blackout to save the milliamps, that is different.  I just leave mine on forever as long as the project is powered up as I choose sufficient battery capacity for this purpose and none of my stuff is miniature, limiting battery size.


A solution for those who want a lot of brightness and the extra digital/PWM pin.  Sure, not for everyone but very easy and you get the free pin.

Richard

bperrybap

On some lcd keypads, D10 is not accessible from the shield since they don't have female headers on the top side of the shield. In those cases, if you don't want/need backlight control, cutting the D10 header pin from the lcd/keypad shield might be easier than finding and cutting a trace on the PCB.

dwightthinker

It is possible to do brightness from code without any parts.
In from an interrupt ( possibly feedback of a PWM signal ),
turn D10 from pinMode() input to output with the static
value of 0 as an output.
This way you never drive the pin high ( the condition that
over currents ). You still get brightness control.
Dwight

bperrybap

#139
Jan 15, 2016, 12:26 am Last Edit: Jan 20, 2016, 07:07 pm by bperrybap
It is possible to do brightness from code without any parts.
In from an interrupt ( possibly feedback of a PWM signal ),
turn D10 from pinMode() input to output with the static
value of 0 as an output.
This way you never drive the pin high ( the condition that
over currents ). You still get brightness control.
Dwight

The s/w work around of using input mode  and output LOW is mentioned in the first post and documented with some example code in a zip file in the second post.

--- bill

Oscarko

I read the beginning of the thread, then did some tests with my LCD shield (wow!) and figured out that the absolutely best and fastest way to deal with this small design oversight is to simply clip the D10 from every LCD shield. I am sure at some point a software fix will come back to hunt me, so this way I remember, LCD shield, clip 10th pin. 2sec fix and visible to naked eye if the fix is in.
Other permanent solution if power consumption is really big issue is to hardwire the shield bg led to ground through some resistor and effectively lower the backlight to 50 % or so where it is still visible.

bperrybap

I am sure at some point a software fix will come back to hunt me,
You can't ever fix this h/w problem in s/w.
You have to fix or alter the h/w to completely eliminate the potential problem.
That said, there were some s/w work arounds proposed that can be used to offer backlight on/off control
(no dimming) without modifying the h/w. However, those s/w work arounds only avoid the problem and so the actual problem still exists and can cause issues when other s/w is used.

--- bill


jazreenZIA88

#143
Jul 13, 2016, 07:52 pm Last Edit: Jul 13, 2016, 07:57 pm by jazreenZIA88
hmmm.... i'm not sure but i just had my 16x2 lcd keypad. and i use:

analogWrite(10,0); //to turn OFF the backlight

and even dim the backlight with:
analogWrite(10,50); // 0=OFF; 255=MAX power.

bperrybap

hmmm.... i'm not sure but i just had my 16x2 lcd keypad. and i use:

analogWrite(10,0); //to turn OFF the backlight

and even dim the backlight with:
analogWrite(10,50); // 0=OFF; 255=MAX power.
Did you run the diagnostic test sketch to check to see if your shield has the h/w issue?

--- bill

jazreenZIA88

no.

maybe they already fixed it. I just had the 16x2 lcd with keypad recently.
lucky me  :)

bperrybap

no.

maybe they already fixed it. I just had the 16x2 lcd with keypad recently.
lucky me  :)
Maybe? I like to deal with certainties.
Unless you visually inspected it, used an ohm meter to verify it, or ran the diagnostic sketch, you can't know if it has been fixed or not.

Using analogWrite() and seeing dimming is no verification that it works as the broken hardware will also appear to work when used that way.

--- bill

jazreenZIA88

my 1602 lcd keypad shield have "D1 ROBOT" markings.
when you say "visually inspecting" it, does it translate to my shield and/or uno board getting fried?

i let it run for more than 30 minutes already using analogWrite and it appears okay to me.
i'm into software and noob in arduino  :D

bperrybap

#148
Jul 14, 2016, 05:33 pm Last Edit: Jul 14, 2016, 05:34 pm by bperrybap
my 1602 lcd keypad shield have "D1 ROBOT" markings.
Irrelevant. What matters is the circuit design.
Quote
when you say "visually inspecting" it, does it translate to my shield and/or uno board getting fried?
I mean: Did you visually look at the board close enough to follow all the traces in the etch in the PCB to verify the circuit does not have the design with the issue.
From your comments so far it sounds like you did not do this.

Quote
i let it run for more than 30 minutes already using analogWrite and it appears okay to me.
That means nothing. Like I have said and stressed in the first post of this thread,
the broken h/w will appear to work.
Keep in mind that there is a big difference between something that "appears ok" and actually verifying that it truly does work correctly without issues.

Quote
i'm into software and noob in arduino  :D
Just run the diagnostic sketch I provided. It will tell if if your h/w has this issue.
You could have downloaded and run the diagnostic sketch in much less than 30 minutes.
Why continue down paths that won't provide the answer you need?

--- bill

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy