Show Posts
Pages: [1] 2 3 ... 288
1  Using Arduino / Displays / Re: Problem with LCD-Display (strange rectangles in display) on: Today at 12:05:38 pm
Quote
Thank you for your help guys, but I must disappoint you, because the problem is'nt there anymore.
. . .
EDIT Doh! After 10 minutes, the same fault comes again!

Then it is almost definitely a problem with the 'Zebra strip' as mentioned above.

Also - You really should test your links after posting them.

Don
2  Using Arduino / Displays / Re: Number crunching too much load for Arduino to power LCD? on: Today at 09:47:52 am
Quote
You should only clear the display immediately before you write all your new data, not clear it, perform a calculation and then write the data.
Why?  Does it have something to do with the library?

If one is writing their own code without using a prepackaged library then doing the opposite makes more sense.  You can clear the display, use the time that it takes to perform the operation in lieu of all or part of the required (relatively lengthy) delay time and then write the data.


Don
3  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
4  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
5  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
6  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

7  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
8  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
9  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
10  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

11  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
12  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
13  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
14  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
15  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
Pages: [1] 2 3 ... 288