Anybody else notice a backlight control problem in the DFRobot schematic?
http://www.robotshop.com/content/PDF/dfrobot-lcd-keypad-shield-schematic.pdfD10 is hooked up straight to the 9013 base with no current limiting resistor.
When D10 is an input, the pullup will turn on backlight.
When D10 is an output and low the base goes low and the transistor turns off.
But when D10 is an output and high won't it
"short" through the transistor to the emitter?
Seems like the circuit is missing a diode to ensure that D10 only pulls the base low
and lets the resistor pull the base high.
Without the diode it seems like D10 really needs to either be an output with the pin low to turn
off the display or an input to turn on the display which precludes the use of PWM.
I have a shield that uses a similar circuit. Mine also has a switch to disconnect the ground to the
transistor emitter so you can permanently disable the backlight.
I just measured the current from D10 when D10 is high and it is 95ma!!!
I guess it is lucky that the pin output was not fried.
While the AVR doesn't get "hot", it does get warm when D10 is high
for a few minutes.
Anyway, I'm in the process of modding my shield with a diode.
It looks like an easy mod on the shield I have as the trace to D10 is on back of the shield
for a little bit up by the header before going through to the other side to the transistor which is under the LCD.
Just cut the trace and solder a diode back to the trace.
I'll post a few before/after photos after I get the mod done.
--- bill