Show Posts
Pages: 1 [2] 3 4 ... 289
16  Using Arduino / Displays / Re: Problem with LCD-Display (strange rectangles in display) on: August 26, 2014, 10:08:59 pm
Try posting your picture again.  There are some restrictions on what you can do in your first post.

Also post the code that produced the picture.


Quote
... and I tried to display other strings, e.g. with the Hello World sketch in the examples of the IDE.
Did you get the rectangles?

Don
17  Using Arduino / Displays / Re: lcd.createChar before and after lcd.begin on: August 24, 2014, 03:44:11 pm
Quote
I use custom characters all the time and have used them on every hd44780 library and interface
I've been able to get my hands on.

Bill: Is the rest of stuff I mentioned in reply #2 essentially correct?

Don
18  Using Arduino / Displays / Re: lcd.createChar before and after lcd.begin on: August 24, 2014, 03:36:54 pm
I try not to look at the LiquidCrystal library code because it makes me ill every time I see it.

Quote
...and at the very bottom of init() there is a a call to  begin(16,1);
(never noticed that extra begin() call)...

I was aware of that extra begin() which is why I knew that you could 'talk' to the controller before implementing your own.

It is there to be used as a default value in case you don't include an lcd.begin() of your own.  Here's why (my opinion).

There have essentially been two versions of the LiquidCrystal library.  The version that was supplied through Arduino 0016 did not follow the recommended initialization procedure for the LCD and consequently did not work very well with the 8-bit inteface and was even worse with the four-bit interface.

The initialization procedure was (mostly) corrected in Arduino version 0017 and that was where lcd.begin() was introduced.  Since the many sketches that were already in existence did not include an lcd.begin() there was a need for some default values.  

Unfortunately the author (Lady Ada) chose to use the same parameters that the built-in initialization uses and the default is therefore set up for a 16x1 display.  This is unfortunate because there are very few displays that should be set up that way, including most 16x1s which are internally 8x2s.  A default value of 16x2 would function with virtually every display except the few true 16x1s.


Don
19  Using Arduino / Displays / Re: Best and cheapest solution to digitally control LCD contrast on: August 24, 2014, 02:10:04 pm
Quote
This discussion seems to be mostly missing the original topic of s/w control of the contrast using PWM.

That was only one of the two topics posed in the original post.  If you look at my first reply you can easily tell which one I was referring to.  On the other hand ....

Don

20  Using Arduino / Displays / Re: Two problems LCD 4x40 matrix orbital on: August 24, 2014, 10:15:20 am
Quote
Hi guys.I would like to use LCD Smartie but I have two problems....

I can't help you with LCD Smartie.

You have at least two options to deal with the dual controllers on a 40x4 display where there are two 'Enable' pins.

(1) You can treat this as being two displays in parallel as explained in this forum thread: --> http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1265969050

(2) You can use the LiquidCrystal1.0 library designed specifically for the 40x4 display.  To get a copy start here:--> http://code.google.com/p/liquidcrystal440/ and follow the Downloads link to get to the latest version.


Don
21  Using Arduino / Displays / Re: lcd.createChar before and after lcd.begin on: August 24, 2014, 09:58:52 am
Quote
I'm surprised that .createChar() works before .begin() sets the interface to 4-bit mode.

That's because it's the constructor LiquidCrystal lcd(. . .) that sets the interface to 4-bit mode, but you knew that already!

Don
22  Using Arduino / Displays / Re: lcd.createChar before and after lcd.begin on: August 24, 2014, 09:56:48 am
Disclaimer:  I have never used lcd.createChar

Without seeing all of your code we really can't tell what is going on but you should understand that creating the character and displaying the character are two different things.

When you create a custom character using lcd.createChar you are putting data into the CGRAM memory of the LCD controller chip. 

You can then display that character by using lcd.print which copies the data from the CGRAM memory to the DDRAM memory of the LCD controller.

If your program does not include an lcd.begin statement, or if the statement has not yet been executed, the lcd will still operate although it will be configured for the default configuration of a 16x1 display.  This means that the custom character data will be correctly stored in CGRAM.

It doesn't matter whether you create the character before or after the lcd.begin it but won't be displayed until after an lcd.print.   However if you expect the lcd.print to work correctly on a 16x2 display you had better do the printing after the lcd.begin statement.


Don
23  Using Arduino / Displays / Re: Best and cheapest solution to digitally control LCD contrast on: August 23, 2014, 09:05:18 am
Quote
Pin 19 actually, according to the manual and application note.

What makes you think he is using an ERM19264?

Don

24  Using Arduino / Displays / Re: LCD connections with Arduino Ethernet shield on: August 23, 2014, 08:59:31 am
Quote
For my project I am using arduino ethernet shield shield ...

Quote
.But I am really confused about which pins to use as according to arduino tutorials ...

You are only getting generalized answers because you have not specified exactly which ethernet shield you are using and exactly which arduino tutorial is confusing you.  (Most of them are confusing, to put it mildly).

The LiquidCrystal library allows you to use any available I/O pin to drive any of the six LCD data and control lines.  You specify which ones you used in the 'constructor'.

Code:
//LiquidCrystal lcd(rs,en,d4,d5,d6,d7);
  LiquidCrystal lcd(12, 11, 5, 4, 3, 2);       // put your pin numbers here

Your ethernet shield is hard-wired to use specific Arduino pins.  You must determine which ones those are and then avoid those when choosing I/O pins for the LCD.

If you are using a standalone LCD module this is no problem but if you are using an LCD shield it may be hard-wired to use some of the same pins as your hard-wired ethernet shield.  In this second case you would have to do some reworking of one of the shields as mentioned by Nick.

You might also have a similar problem with any of the various serial LCD adapters since they frequently require the use of specific I/O pins.


Don
25  Using Arduino / Displays / Re: Best and cheapest solution to digitally control LCD contrast on: August 23, 2014, 08:31:57 am
It just dawned on me that the KS0108 is for a GLCD.

Since most (all ??) GLCDs require a negative voltage for the contrast many of the modules already have a built-in negative supply, typically available on pin 17 or pin 18.  Did you check yours?


Don
26  Using Arduino / Displays / Re: 1602 LCD Internal contrast and brightness control J1 J2 J3 R1-R9 16x2 on: August 23, 2014, 08:22:53 am
Quote
... My LCDs model is 1602A; I bought few of these from different sellers, and they are all the same pretty much. so I think there is a standard for these LCD modules.

This is the first time that you have specified which module you are talking about.  The ones you are familiar with are likely all the same because they are all copies of one specific original design. 

The modules available in the decades before the introduction of cheap (and inexpensive) Chinese copies on eBay are likely to be different.


Don
27  Using Arduino / Displays / Re: Best and cheapest solution to digitally control LCD contrast on: August 22, 2014, 08:27:49 pm
Quote
... but then how would I go about efficiently getting up to -10 volts.

There is a reference to a solution in reply #11 in this forum --> http://forum.arduino.cc/index.php?topic=16880.10;  but the link is no longer valid.  Perhaps you could do some creative searching and come up with the diagram anyway.


Don
28  Using Arduino / Displays / Re: Backlight and I2C on LCD Display on: August 22, 2014, 02:57:57 pm
Quote
On the LCD board is a five resistor array, 2k2 resistors totalling 11k, from Vo to Vcc defining the six multiplex voltages for the LCD.  The contrast voltage required is generally about 4.5 to 4.8V.  If you put a resistor between 330 ohms and 1k in series with this internal resistor chain, from Vo to Gnd, this will generally provide a suitable contrast voltage.  And the display will generally work (at 4.5 to 5V supply) with Vo connected directly to ground.  Whilst a 10k potentiometer is one way of defining the voltage, 90% of its travel it totally wasted (which is even funnier when it is a ten turn pot!).  A 1k variable resistor (a pot with the wiper connected to one end) makes just as much or more sense.

If using a resistor between pin 3 and GND 'makes just as much or more sense' then I wonder why the vast majority of data sheets that provide any information on how to feed this pin specify using a potentiometer. 

Don
29  Using Arduino / Displays / Re: 1602 LCD Internal contrast and brightness control J1 J2 J3 R1-R9 16x2 on: August 22, 2014, 09:22:52 am
There are hundreds (probably thousands) of different LCD display modules out there that use the HD44780U compatible controller.  They do not however all use the same circuitry on their pc boards.

I don't think the  brightness of the LCD is adjustable and the contrast of the LCD is almost universally controlled by an external potentiometer.

Pins 15 and 16 have nothing to do with the LCD, they typically provide power to the backlight.  Those resistors may be current limiting resistors for the backlight so you may be able to vary its brightness via the jumpers, but not the brightness of the display itself.

You may be able to power the backlight via connections near one end of the display but you will then need to provide external current limiting resistors.

We will be better able to determine what those resistors do if you provide good photographs of both sides of your module along with a link to it's datasheet.


Don



30  Using Arduino / Displays / Re: 16x2 LCD Scrolling Improperly for array with more then 5 strings on: August 22, 2014, 09:05:15 am
Quote
Such a helpful article.
Thanks.

Quote
How did you manage to find it ? (Google ? Really ?)
He may remembered it from other posts on this forum over the years.

Finding things in Google relies a lot on using an appropriate search term, one that appears in the material you are searching for.  Determining what search term to use is the hard part.

In this case searching for 'LCD Addressing' will bring it right up (at least here in the USA), but of course you did not know that it was an addressing issue.


Don
Pages: 1 [2] 3 4 ... 289