Arduino UNO with 1602LCD cant make it display characters

Hi,
just got this kit from Amazon that had alot of parts, wires and the LCD. wired it up, ran example code, does not show any chars. 4 hours into this trying of connecting and testing an saturated have to get away. Not that I didnt wire it right but have done alot of wiring, used uC's for alot of years, but was away from it a while too.

its using the control wires and 4 data bus lines, the VSS, VDD and contrast which works fine, after many re wires am pretty sure its wired right and seems like a bad LCD

but before being sure wondered about any possible code to force the display to test it. the LCD is on a white protoboard, altho its part of the kit not the highest quality. Was going to solder wires first, glad I didnt they are all changable. if theres a way to set a dot or what ever for testing?

thanks so much!

rogersb:
and contrast which works fine,

Precisely what do you mean by that?

rogersb:
after many re wires am pretty sure its wired right and seems like a bad LCD

You may be sure, but conversely we are almost certain it is not.

But since we cannot see what you have done - or your code - absolutely nothing is going to happen to improve the situation any time soon. :roll_eyes:

Post your code.

Post clear photos of the wiring.

ok, starting over... what does the contrast control circuit is working mean for an LCD??? As in the backlight is connected and lit up, turning the dial on the potentiometer changes the contrast??

code? File/Examples/Liquid Crystal/ 5 or 6 examples all did the same

I didnt write the code, just followed Arduino example setup. At first I wired it per some photo, then realized the setup section didnt match the pins. went back and made sure. and again and again and again. then removed all the wires and did it from scratch again. its not that complex

i dont have a way to get photos yet, am somewhat crippled and the box with a usb camera has to be found

when you do wire wrapping you make a list of FROM and TO points. you dont think about what they mean, just that you put the wire on this point, then the other point, ohm it out and check it off the list and move on.

Adeept Project 1602 LCD Starter Kit Compatible with Arduino UNO R3 Mega2560 Nano Servo Relay LCD1602 Beginner/Starter Kit for Arduino with PDF Guidebook/User Manual

I put the photos of this and posted the code, it deleted my post and said it exceeds 9000 characters. code example will just do the setup part, no loop. setup includes the lcdxxxx.h file, i checked the data bus assignment, made sure, double sure, it compiles with no errors, uploads and lights on the board blink and the lcd does not change at all.

will make some step by step wire document when i have a camera

Contrast and backlight are totally different things. The pot changes only the contrast. Note that many (most) LCD tutorials have the contrast pot wiring wrong. The pot should not be connected to Vcc (see the included schematic). I find that a 1K resistor wired from Vo (LCD pin 3) to ground gives satisfactory contrast.

Here is proven wiring and code for a 16x2 display with a hd44780 controller. I use the hd44780 library, the hd44780_pinIO class.

To install the hd44780 library. The hd44780 library is the best available for I2C LCDs. The library is available in the Library Manager. Go to Library Manager (in the IDE menus, Sketch, Include Libraries, Manage Libraries) and in the Topics dropdown choose Display and in the Filter your search box enter hd44780. Select and install the hd44780 library by Bill Perry.

Here is the tested and working code, a simplified version of the hd44780_pinIO class "Hello World" sketch.

#include <hd44780.h>
#include <hd44780ioClass/hd44780_pinIO.h> // Arduino pin i/o class header

const int rs = 8, en = 9, db4 = 4, db5 = 5, db6 = 6, db7 = 7; // for all other devices

hd44780_pinIO lcd(rs, en, db4, db5, db6, db7);

// LCD geometry
const int LCD_COLS = 16;
const int LCD_ROWS = 2;

void setup()
{
   lcd.begin(LCD_COLS, LCD_ROWS);
   lcd.print("Hello, World!");
   lcd.setCursor(0, 1);
   lcd.print("millis = ");
}

void loop()
{
   static unsigned long timer = 0;
   unsigned long interval = 1000;
   if (millis() - timer >= interval)
   {
      timer = millis();

      lcd.setCursor(10, 1);
      lcd.print(millis());
   }
}

And the wiring:

If you follow this correctly and the contrast still has no effect nor do characters appear, I would buy a new display.

thanks. first pass it didnt work, but the contrast has always worked fine, backlight is bright, will add the resistor and lower that a bit. added the libraries as noted.

the lcd seems to have 2 rows, but only 1 row lights up with the contrast dialed full, the 2nd row never shows up. And what I mean is all the dots are visible on 1 row, nothing on the other. all are lit up. at no time is there or has there been text of any kind. when the code runs there is no change on the lcd. but a kit that cheap? some of the breadboard holes, the pins wont go in some holes. will look at the h files and see what can be pushed into the lcd to make anything. otherwise will return it, what a shame, needed this to work and bought cheap junk

just like cheap made in China toys in the grocery store, they dont even work once. this kit had alot of good reviews didnt see any saying it doesnt work. Odd, it had 2 and 3 star reviews, but click and there are none?

God willing, will try in the morning.

OK, so you have adjusted the contrast and managed to display the "blocks" on the top line. That is approximately the correct contrast setting.

This display result indicates that you are not actually communicating with the display. The dispaly is alnmost certainly functional, but we seem to have no idea whether you have assembled it correctly (but presumably have not) as you have failed to show a photograph which is generally the only way to comprehend what you are actually doing.

Your comment regarding "some of the breadboard holes, the pins wont go in some holes" suggests you are having difficulty using the breadboard but we really do not know what you mean or what you think this means.

Every so often, someone complains that "it does not work" and we find they have simply not even connected the header pins to the display board. It only comes out when we look at the photo and discover it has simply not been soldered. :roll_eyes:

groundFungus:
ITS WORKING

I put this on my 2nd uno setup, didnt work this time no backlight. problem was the cheap wires, broken internally. so buy cheap junk and it will bite.

wont know if it was the driver/library that did it, but there are bad wires. Tried several before one made the backlight come on. now its worth the time to wirewrap.
thanks

I went to quite a bit of trouble to try to help you, but got absolutely no response. Did you try my code and wiring or did I waste my time trying to help you.

Well, defective jumper wires are a quite common cause of failure in questions here. I generally advise using the breadboard to wire your jumpers in a continuous chain by zig-zagging them back and forth between one end and centre to begin, using successive columns and then connecting that chain in series with a LED, resistor and the Arduino "5V" and ground pin. If it lights, they are OK, if not you successively break the chain into halves until you identify the faulty wire or wires.

Aliexpress example

At least my description seems fairly obvious to me, but is probably quite insufficient to someone else reading it. That illustrates the problem in communicating what you have actually done. But when we have no idea how experienced the person asking the question actually is, it is not at all improbable that they do not understand what making a connection requires.

And yes, there are good and bad breadboards, something that also has been discussed here on more than one or two occasions with a recommendation to buy "good brands" sold through American vendors - like those expensive ones available twenty or thirty-odd years ago! I personally expect some difficulty with boards from eBay but am not surprised that those sold through Amazon are in fact, just the same because they clearly all come from the same Chinese sweat shops. :roll_eyes:

groundFungus:
I went to quite a bit of trouble to try to help you, but got absolutely no response. Did you try my code and wiring or did I waste my time trying to help you.

Thanks I followed your example and thats what made it work. I thought it was implied that what you did is what made it work, or well, the wires and or breadboard are bad, and your example worked just fine, its what I hoped for so that made all the difference and I am very grateful for your effort and help

Paul__B:
Well, defective jumper wires are a quite common cause of failure in questions here. I generally advise using the breadboard to wire your jumpers in a continuous chain by zig-zagging them back and forth between one end and centre to begin, using successive columns and then connecting that chain in series with a LED, resistor and the Arduino "5V" and ground pin. If it lights, they are OK, if not you successively break the chain into halves until you identify the faulty wire or wires.

Aliexpress example

At least my description seems fairly obvious to me, but is probably quite insufficient to someone else reading it. That illustrates the problem in communicating what you have actually done. But when we have no idea how experienced the person asking the question actually is, it is not at all improbable that they do not understand what making a connection requires.

And yes, there are good and bad breadboards, something that also has been discussed here on more than one or two occasions with a recommendation to buy "good brands" sold through American vendors - like those expensive ones available twenty or thirty-odd years ago! I personally expect some difficulty with boards from eBay but am not surprised that those sold through Amazon are in fact, just the same because they clearly all come from the same Chinese sweat shops. :roll_eyes:

Im new, so I am sure you and other experts have far more experience in whats used now, whats working or not and have seen trends that folks do wrong. The photo is exactly the kind of wires Im using and some are not new. its enticing when you see some kit of stuff for $12 that would cost nearly 100 in other stores. There were no such kits back when I did this, barely dialup modems. You drove 2-3 hours each way to buy stuff in a retail store or ordered by mail. or took your chance buying from Poly Paks

Some places I worked at would buy top quality stuff, the mistake here and now is mine. Save a few bucks to spend days? Doing the math thats not a good use of time/materials. I agree, words are not as good as putting pictures or even a video of whats going on so others can see and comment. Its a different world.
I will try to be better at explaining. how can a video be uploaded? do I need to use youtube? or is there another site that works? I will strive to mount a video camera above the work area, take video of whatever, comment and then save it and post.

You need to put your comments outside of the "quote" area - and you do not always need to quote, or quote all of the message to which you are replying. You can use the "More" => "Modify" option to the bottom right of your posts to correct them (as long as you do not remove important details later referred to! :astonished: ).

The consequence of shifting all electronic manufacture to China has been a cornucopia of "goodies" for the experimenter/ hobbyist as well as the common consumer, but has a very dark side. I have more components in storage here by at least an order of magnitude than I can ever use in retirement (or now), a fact that has definitely not escaped my wife's notice. :roll_eyes: Not quite sure how much happiness this offers me. I suspect - expect - many or most others here fare likewise regarding the quantity. :grinning:

Do you follow my explanation regarding testing the jumper wires? I have just found a pack of 5 by 65 of these that I ordered - and received - some time back; deliveries from China have been even more erratic during Covid-19 than before. I should and presumably will follow my own advice testing both the jumpers and a "MB102" breadboard before I pass some on to my granddaughter (whom I have not seen for some considerable time due again to said virus).

People generally upload videos to YouTube and post links here. I could be wrong but don't think there is a functional "embed" capability in the current forum software and there is not surprisingly, a limit to the size of uploads to the forum itself. "Restrictions: maximum total size 2 MB, maximum individual size 2 MB" so a small mpg could fit and note it says "individual" size.

This topic was automatically closed after 52 days. New replies are no longer allowed.