Show Posts
Pages: [1] 2 3 ... 289
1  Using Arduino / Displays / Re: 20 x 4 display with I2c - text overflow on: Today at 08:22:33 am
Quote
However when my text overflows the end of one line it continues on line 3.

Is that normal?

Yes it is normal.  For a complete description of what is happening follow the LCD Addressing link at http://web.alfredstate.edu/weimandn.


Don
2  Using Arduino / Displays / Re: Nano/Duemilanove compatible displays. on: September 01, 2014, 06:44:07 pm
Quote
Do you think you could bring yourself to at least specify GRAPHICS display as opposed to lcd ?

Where did he even mention LCD?

Don

Edit: No I am not an idiot.  The post to which this one refers seems to have been deleted by the author raschemmel.
3  Using Arduino / Displays / Re: ShiftLCD and wire length on: September 01, 2014, 05:46:22 pm
Quote
Someone should really revise the ShiftOut tutorial page.  The filter cap should be across the power pins of the shift register instead.
This has proven to be impossible -- we have been trying for years.

The Arduino tutorial pages are the internet equivalent of the 'Roach Motel' from the old Black Flag ads.  The tag line was "Roaches check in, but they don't check out!"


Don
4  Using Arduino / Displays / Re: lcd cell count on: September 01, 2014, 09:46:41 am
Quote
The screen doesn't give any feedback, so unless you keep track of what you display (using some kind of counter or quite simply an array), there is no way of knowing what is in each cell.

Actually the screen can give feedback but this functionality is not implemented in any of the LiquidCrystal libraries that I know of.

I have never tried this but the sequence should be essentially as follows:
- Implement the R/W line (LCD pin 5) instead of connecting it to GND.
- R/W low (write)
- RS low (instruction)
- Set the cursor to the desired address.
- R/W high (read)
- RS high (data)
- E high then E low (get the data)

If you pulse E again you will get the data from the next address (I think).  If you have previously set the address counter to decrement then you will get the data from the previous address.


Don
5  Using Arduino / Displays / Re: Problem with 20x4 LCD & i2c backpack from Uctronics on: August 31, 2014, 05:40:03 pm
Quote
Any thoughts on what the difference is between the 16 x 2 working and the 20 x 4 not? 

There essentially is no difference as far as the LCD controller is concerned.

Assuming that both displays have the same pinout then if the setup works with a 16x2 display it should also work if the display is removed and replaced with a 20x4.  

That is, anything that originally shows up on the 16x2 display should later show up at the top left of a 20x4 display.  You could possibly have to tinker with the contrast.


Don
6  Using Arduino / Displays / Re: [Help] How to know if text lcd still working ?? on: August 30, 2014, 08:48:53 am
I would suggest you follow my generic troubleshooting technique.

Here is my generic step by step approach that should work:

(1) If the module has a backlight then get it working properly.  This involves only pins 15 and 16 on most LCD modules.  Make sure to use a current limiting resistor if there is none on the LCD module.

(2) Get the power and contrast working properly.  This involves only pins 1, 2, and 3 on most LCD modules.  You should be able to just barely see blocks on one row of a two row display and on two rows of a four row display. 

NOTE:  The Arduino has not been used yet, except as a possible source for the power needed for the first two steps.  Do not try to go any further until this is working.  If you don't see the blocks then no amount of program code will help.

(3) Connect the LCD R/W pin (pin 5) to GND.

(4) Connect the six control and data wires between your LCD module and your Arduino.

(5) Upload your sketch and it should work.


Troubleshooting:

If you have a 16x1 display and there are blocks only on the left half of the row in step 2 then use lcd.begin(8, 2); in your sketch.

If you still don't get a display then make sure that your wiring matches the numbers in the descriptor (or vice versa).


Code:
//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);      // put your pin numbers here

If you get a display but it is garbled or has some other problems then try again with a 'static' sketch, one that displays a simple message on the top row of the display and then stops.  All of your code should be in setup() and loop() should be empty between the brackets.

Code:
#include <LiquidCrystal.h>

//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);      // put your pin numbers here

void setup()
  {
  lcd.begin(16, 2);                          // put your LCD parameters here
  lcd.print("hello, world!");
  lcd.setCursor(0,1);
  lcd.print("it works!");
  }

void loop()
  {
  }

If you are still having problems then we need to see a photograph of your setup that clearly and unambiguously shows all of the connections between your Arduino and your LCD module.  We also need a copy/paste version of the code that you are actually using, not a link to the code that you think you are using.

Don
7  Using Arduino / Displays / Re: 1602A 16x2 LCD with Mega displaying only blocks on top row on: August 29, 2014, 08:16:59 am
Quote
... seriously, whoever makes the screens should pay you for tech support

I asked Newhaven Display to send me a sample since their devices are somewhat different from the norm.  They declined.

It looks like you may have some 'cold' solder joints on your LCD module.  You should rework all of those joints and see if that helps.  Check out this information from Adafruit --> https://learn.adafruit.com/adafruit-guide-excellent-soldering/common-problems

Don
8  Using Arduino / Displays / Re: 1602A 16x2 LCD with Mega displaying only blocks on top row on: August 28, 2014, 05:39:09 pm
When you have blocks only on the top row of a two row display it means that the display has not been properly initialized.  This can be due to improper wiring and/or a bad program.

When troubleshooting an LCD problem like this you should remove as much code as possible, especially any code that causes changes to the display.  Generally this means that all the code should be in setup() and there should be nothing between the brackets in loop().


Code:
#include <LiquidCrystal.h>

//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);      // put your pin numbers here

void setup()
  {
  lcd.begin(16, 2);                          // put your LCD parameters here
  lcd.print("hello, world!");
  lcd.setCursor(0,1);
  lcd.print("it works!");
  }

void loop()
  {
  }

Don
9  Using Arduino / Displays / Re: LCD 16x1 to Arduino UNO on: August 27, 2014, 10:58:10 pm
According to the datasheet, available through the 'Downloads' tab on the link in the first post, it is set up as an 8x2.  This means that his original program uses the correct addressing technique.  I suggest that he try that program again without the two extraneous steps.

If his connections were incorrect then he shouldn't have seen any characters. 


Don
10  Using Arduino / Displays / Re: Problem with setCursor in 20X4 LCD on: August 27, 2014, 09:59:26 pm
Im Sorry. My mistake. I have used 12 itself in initialization and connection is also to the pin 12 of Arduino.
The problem occurs only when I use both the parts together i.e. LCD and ADIS 16210(accelerometer).

I think that you have discovered that you can't do that.  Since the LiquidCrystal library allows you to use any available I/O pin on your Arduino to drive any LCD data or control pin you should pick pins for the LCD that don't conflict with your other hardware.

Don
11  Using Arduino / Displays / Re: LCD 16x1 to Arduino UNO on: August 27, 2014, 09:52:39 pm
I just dealt with this same problem.  I ended up using the liquid crystal library.  In setup use LCD.begin(16,2);.  Then when you want to write to the right 8 character's, use LCD.set cursor(0,1) then LCD.print() (or LCD.write).
Isn't that essentially what he is already doing in his original program?

The library really doesn't do much with the first parameter in lcd.begin(x,x) - it is the second parameter that you must match with the number of lines of controller memory that you are using.  This would 1 for the few true 16x1s that exist and 2 for all the others.


Don

12  Using Arduino / Displays / Re: LCD 16x1 to Arduino UNO on: August 27, 2014, 09:52:31 pm
The problem of the text displaying like autoscroll in void loop() occurs only if I also put on the code for SPI which uses the same pin i.e. pin12.
However if I use the LCD screen alone it is working fine.

I think this belongs in another thread --> http://forum.arduino.cc/index.php?topic=263438.0

Don
13  Using Arduino / Displays / Re: Problem with setCursor in 20X4 LCD on: August 27, 2014, 09:36:36 pm
Quote
The pin layout is as follows:
ARDUINO UNO               LCD          ADIS 16210
12                                           4                    MOSI
9                                             6        

It looks like you are saying that Arduino pin 12 is being used for the LCD RS pin (LCD pin 4).  In that case the first number in the constructor should be 12, not 8.  On the other hand this causes a conflict with your DIN so I really don't know what is going on.

Also - remove the lcd.clear() from your loop and see if things improve.


Don
14  Using Arduino / Displays / Re: LCD 16x1 to Arduino UNO on: August 27, 2014, 09:19:39 pm
If your 16x1 display has only a single controller chip (or blob) then it should be configured as an 8x2. and your code should work.  You really don't need the lcd.setCursor(0,0) or the lcd.clear() since the lcd.begin() does an lcd.clear() and the lcd.clear() also sets the cursor to 0,0.  

If your 16x1 display has two controller chips (or blobs) , which is rare, then it should be configured as a 16x1 and you display everything with one lcd.print() statement.

A complete description can be found by following the LCD Addressing link at http://web.alfredstate.edu/weimandn.


Don
15  Using Arduino / Displays / Re: Problem with LCD-Display (strange rectangles in display) on: August 27, 2014, 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
Pages: [1] 2 3 ... 289