i have been trying for months to get a display working with a UNO ,both 2 line and 4 line sparkfun LCDs wit the common chip on board.
it lights up but theres nothing to see on the display .ive used sample progs from tronixstuff and UNO examples and arduino cookbook examples but nothing works as it should .
it should be easy with pins 4 5 6 7 8 9 connected and some V and grnd but no figures on display .
no scrolling no nothing .
i have a 10k trim pot to adjust the display but just no display figures .
help
progs upload but theres nothing on display its barren
There have been dozens (it seems like hundreds) of posts similar to yours in this forum over the past few years. It would only take a cursory look at them to see that we cannot help you unless you post the exact code that you used along with a clear photograph of your connections.
knuckles:
i have been trying for months to get a display working with a UNO ,both 2 line and 4 line sparkfun LCDs wit the common chip on board.
it lights up but theres nothing to see on the display .ive used sample progs from tronixstuff and UNO examples and arduino cookbook examples but nothing works as it should .
it should be easy with pins 4 5 6 7 8 9 connected and some V and grnd but no figures on display .
no scrolling no nothing .
i have a 10k trim pot to adjust the display but just no display figures .
help
progs upload but theres nothing on display its barren
This is probably all about the pins. The sample from tronixstuff is probably the kiss of death unless you are using their shield, which I believe is unique. I assume you are not using their shield. I have a cheapo eBay shield on a tronixstuff EtherTen, and fell into the same trap. I had the first success with code from
which may help. I do not use the Emartee shield, but mine looks very like it. The first thing to do is adjust the contrast to sees black boxes.
i got some basic blocks on the display using pins 12 11, 5 4 3 2 as the example in the arduino cookbook ,contrast works ok but no symbols dancing across the blocks ...no hello world example or scroll ...
i checked the connections over and over and theyre identical to that shown in the arduino cookbook .
lcd chip is the HD44780 standard controller .
its all a bog standard setup ,with 4 pins data transfer
knuckles:
i checked the connections over and over and theyre identical to that shown in the arduino cookbook .
lcd chip is the HD44780 standard controller .
its all a bog standard setup ,with 4 pins data transfer
We have seen all of this before.
I will try once more.
Post your code. We are not interested in what code you think you copied or where you copied it from. We want to see exactly what you used.
Post a photo that clearly and unambiguously shows both ends of all of the connections between your Arduino and your LCD module.
I just dug out the code I used when I tested my LCD a while ago. It's based on Mike Bramwell's code- I can't remember where that came from. It has this line, which I don't pretend to understand. I just used it as is and it worked...
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
I assume the order of those pin numbers is important. I see from your post, @knuckles, that you mention pins 4, 5, 6, 7, 8, 9 and wonder if you've got them coded in the order 4, 5, 6, 7, 8, 9 whereas it should maybe be 8, 9, 4, 5, 6, 7?
(But if you posted the code as suggested, we would know.....)
It has this line, which I don't pretend to understand. I just used it as is and it worked...
Well this is fully explained but very carefully hidden on the Arduino site.
Don
...on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign outside the door saying "Beware of the Leopard." [/quote]
Your recommendation points out the fact that you really don't understand it's purpose. Why don't you follow the links in reply #9 to find out?
No it isn't, I understand the purpose well, and it is very good advice.
I say this because:
While I have not read reply #9, I have read the original post, which I recommend to you, and the problem is very much like the problem I had, right down to the source of code that could be problematical.
The advice I gave actually works. Well, it did for me, indeed it is all I needed to do.
The advice was well-intended and simple enough to try, hopefully Knuckles will get the same result and, in that blessed event, we will all be glad to hear from you.
Oh, and guess what? I have also read the good news from Johannesburg in reply #8, which I also recommend. You might find it as entertaining as I do, although I guess you will not find it a pearl of wisdom.
While I have not read reply #9, I have read the original post, which I recommend to you, and the problem is very much like the problem I had, right down to the source of code that could be problematical.
The problem really isn't the code, it is that the constructor that configures the pins used by the
LiquidCrystal library does not match how the lcd is wired up.
So in reality it is that the LCD is mis-wired. i.e. the LCD is not wired up the way the sketch told the library it was wired.
All the matters is that they match. You can wire the lcd up according the constructor or alter
the constructor in the sketch to match the wiring.
It is only 6 wires/pins. With careful attention to details it isn't that difficult to make sure the
constructor properly defines the pins for how the LCD is wired.
And as Don said, part of what makes this difficult is that the LiquidCrystal examples don't clearly show what
lcd pin/function each of the pins in the constructor is used for.
Once there is an understanding of the constructor arguments and which argument (pin) represents
each LCD function it becomes a simple matter of looking at which Arduino pin is assigned to each
LCD function and then wiring that Arduino pin up to the LCD pin for that LCD function.
In fact Don, I vaguely remember reading about what those pins do, probably exactly where you pointed me. But it was certainly after the fact: I know I just used them as is without regard for what they do.
While I have not read reply #9, I have read the original post, which I recommend to you, and the problem is very much like the problem I had, right down to the source of code that could be problematical.
The problem really isn't the code, it is that the constructor that configures the pins used by the
LiquidCrystal library does not match how the lcd is wired up.
So in reality it is that the LCD is mis-wired. i.e. the LCD is not wired up the way the sketch told the library it was wired.
All the matters is that they match. You can wire the lcd up according the constructor or alter
the constructor in the sketch to match the wiring.
The problem is the code inasmuch as that quoted was written for the LCD shield designed and sold by the code writer, Oxner of tronixstuff and, while there is nothing wrong with that, is not likely to work with anything else. The shield in question is looks like no other I know of.
The problem is also the code inasmuch that, if the LCD is on a shield as I suspect, it is the code that is going to be fixed.
I can't imagine any variation in the wiring of the HD44780 but the distribution to the Arduino the pins is entirely down to the whim or convenience of the circuit-board designer. Looking at my eBay cheapo shield, I can't really see why anybody would do it any other way and this might go quite go quite some way to explain why the pin sequence I quoted is in fact quite common - hence my recommendation, and indeed my lack of surprise in seeing it recommended by others here.
Having the intended relationship of the module's pins to Arduino commented in the sketch would certainly relieve a bit of stress amongst newbies like me, particularly since this can be easily determined on the shield itself. Still, it's all part of the game, and the 16x2 is child's play compared to the Nokia 5110. Knuckles is going to love one of them....