Here better images:
Is it correct you power up the LCD directly?
The method I use since recently is to wait at least a second (after startup), then power the LCD through digital I/O, then also wait the period mentioned in the manual before initialization.
Well it's different if you use a library, or if you do it all manually. It's not that difficult by the way.
Your connections seems to be correct and you wrote that you checked them using a multimeter.
About the LEDs + 4.7k Ohms, I use high brightness LEDs, they still can be used with 4.7k and this has no impact on the LCD I/O.
Slowing down the MCU simply means to choose a different clock frequency (some new PICs have internal oscillator which can be selected via software even after startup). Doesn't Atmel MCU too have internal 8 MHz oscillator?
Where is the series resistor that is required for the LED backlight?
You have your backlight directly in parallel with the VSS and VCC pins.
It is possible that the excessive current drawn by the backlight is causing your power supply voltage to drop to the point where the LCD controller does not function properly.
Don
I dind't add a resistor to LED because i didn't see it in the guide.
What resistance do i need to wire with LED+? 220ohm is enough?
I've found here datasheet:
http://www.geeetech.com/Documents/LCD1602%20White%20Datasheet.pdf
But i can't find what type of resistor i need.
takao21106:
Is it correct you power up the LCD directly?The method I use since recently is to wait at least a second (after startup), then power the LCD through digital I/O, then also wait the period mentioned in the manual before initialization.
Well it's different if you use a library, or if you do it all manually. It's not that difficult by the way.
Your connections seems to be correct and you wrote that you checked them using a multimeter.
About the LEDs + 4.7k Ohms, I use high brightness LEDs, they still can be used with 4.7k and this has no impact on the LCD I/O.
Slowing down the MCU simply means to choose a different clock frequency (some new PICs have internal oscillator which can be selected via software even after startup). Doesn't Atmel MCU too have internal 8 MHz oscillator?
I'm using liquidcrystal library. So i don't need to change timing right?
I suggested powering the LCD through digital I/O
where is led- connected to on your arduino. I see that you connected R/W to led-, when R/W should be connected to ground for writing. If you're powering the backlight off of a separate power supply, then rewire R/W to an arduino ground.
I've found here datasheet:
http://www.geeetech.com/Documents/LCD1602%20White%20Datasheet.pdf
But i can't find what type of resistor i need.
That is not the datasheet for your LCD module but it looks fairly typical.
Look in the middle of page 6 in section 7. The nominal current for the LED is 110mA and with that current the voltage drop across the LED will be 4.2 Volts. Since you are using a 5 Volt supply the series resistor will have to drop 0.8 Volts. The required resistance is 0.8 V divided by 0.110 A which gives 7.27 Ohms. I would try a 10 Ohm resistor but you could probably use a much larger value and still have a usable amount of backlight.
Don
floresta:
I've found here datasheet:
http://www.geeetech.com/Documents/LCD1602%20White%20Datasheet.pdf
But i can't find what type of resistor i need.That is not the datasheet for your LCD module but it looks fairly typical.
Look in the middle of page 6 in section 7. The nominal current for the LED is 110mA and with that current the voltage drop across the LED will be 4.2 Volts. Since you are using a 5 Volt supply the series resistor will have to drop 0.8 Volts. The required resistance is 0.8 V divided by 0.110 A which gives 7.27 Ohms. I would try a 10 Ohm resistor but you could probably use a much larger value and still have a usable amount of backlight.
Don
Using a diode is not that uncommon for that kind of voltage drop.
Using LEDs is a means of debugging, some people use a logic analyzer for this purpose.
One example, I use I2C, the code worked for one project but not for another. Using a piezo I quickly figured out the signals are emitted on the wrong pins (the project indeed used the I2C files from another directory, not the one's in the project directory).
Over the years you'd become familiar with debugging issues, I use MCUs since 2004.
Using a diode is not that uncommon for that kind of voltage drop.
But we are not really talking about voltage drop here, we are talking about current limiting. A series diode won't work in this situation.
Over the years you'd become familiar with debugging issues, I use MCUs since 2004.
So you are essentially a beginner. Microprocessors have been around since the 1970's and these LCD modules date from the 1980's. Some of us have been working with them all that time.
Don
Yes correct the diode won't limit the current directly however it will do the thing, since 4.2v and 0.7v add up to 4.9 volts. I use it myself, the LED backlight has a resistor but that is not enough, very bright, adding a diode, brightness dropped down to moderate levels. It's not always handy to have so many resistors around.
And in 10 years people will ask me if I'm not considering to retire to already...
By the way small power supplies + wires already have internal resistance of a few Ohms, not to forget the voltage regulator.
Ok, so i'll try with a 150ohm on led+ and i'll say if it work.
Yes correct the diode won't limit the current directly however it will do the thing, since 4.2v and 0.7v add up to 4.9 volts. I use it myself, the LED backlight has a resistor but that is not enough, very bright, adding a diode, brightness dropped down to moderate levels. It's not always handy to have so many resistors around.
The problem is that you just don't understand the theory. The voltage drop across a diode is a dependent variable. It depends on a specific amount of current flowing through the diode which must be determined by some external component, typically a resistor.
The LEDs in the backlight will only exhibit a voltage drop of 4.2 Volts when their nominal current flows through them. The series diode will only exhibit a voltage drop of 0.7 Volts (assuming it is a typical silicon power diode) when its nominal current flows through it. The diodes themselves cannot be used to control or determine this current.
Don
Do you believe I am unaware of this? It works since the coefficient is positive. This information can be found inside datasheets.
Here's also a circuit where I use a LED to get the right voltage level for digital inputs.
http://arduino.cc/forum/index.php/topic,96189.0.html
I have read the complete thread again, looked at the photos and I saw the videos.
Seems to be it is a white backlight and they don't draw as much power as the green one's.
If the brightness is moderate then it is OK no extra parts are required.
Here is someone using this LCD without microcontroller:
http://iamsuhasm.wordpress.com/tutsproj/using-lcds/ (in 8bit mode)
They are also having problems (with the connections):
http://walkingwithtux.wordpress.com/2010/05/01/jhd162a-lcd-display-3-wire-interface-with-arduino/
I have solved, the problem was the connection from pins to arduino, the guide configuration didn't work for unknown reason, i have tryed to use connection specified in the "helloworld" sketch and worked.
Ty all for your help!
So, what configuration did you use? Would it be too much to ask for you to take some pictures? I'm having the same problem and it's driving me crazy.
So, what configuration did you use? Would it be too much to ask for you to take some pictures? I'm having the same problem and it's driving me crazy.
Why don't you start a new thread. Outline your problem, show us your sketch, give us a picture, and we can probably get you going pretty quickly.
Don