16x2 LCD - only left side working properly

Hello everyone, now you got one more noobie asking for help and making you mad! [smiley=beer.gif]

I'm building a simple "car computer" and I'm using a stantard HD44780 LCD display with two 16 character lines to display information. It works, somehow, but it acts quite strange. First eight characters on both lines work correct, but the rightmost 8 chars don't. Pixels fade, turn on and off and all kinds of craziness. I'm using Arduinos stantard LCD library and 4-bit interface.

I WOULD POST A PHOTO HERE IF THIS FORUM WOULD LET ME

It should read "CarDuinoCarDuino" on both lines. What is strange is that I can see the backround pixels on the left side faintly if looking from straight above, but on the right side the background pixels are missing in those sections that behave odd, but still there's some visible pixels that belong to the char being displayed...

Simply said, on the left side I can see pixels belonging to "a" and the pixels that dont form the letter can be seen faintly. On the right side, I see some pixels belonging to the letter "a", but the other pixels can't be seen.

I'm not good at describing things in English, sorry for that, but I really could use some help with this! :slight_smile:

http://i8.aijaa.com/b/00474/5943610.jpg

That's the photo, stupid forum.

What happens if you print something to the display that has less than 16 Characters ?

Your code (using the hash insert code function) would help.

#include <LiquidCrystal.h>
#include <OneWire.h>

LiquidCrystal lcd( 2, 3, 4, 5, 6, 7 );

void setup()
{
  lcd.begin( 16, 2 );
}

void loop()
{
  lcd.setCursor( 0, 0 );
  lcd.print( "CarDuinoCarDuino" );
  lcd.setCursor( 0, 1 );
  lcd.print( "CarDuinoCarDuino" );

  delay( 1000 );
}

Not much code and not much that can go wrong.

If I print only 8 chars then it shows correctly, sometimes there are black boxes on the right side. And there are columns of pixels missing here and there on the right side. I wonder if the lcd is broken, it worked allright few days ago.

Rasenger

Not much code and not much that can go wrong.

Move all this stuff to setup, it doesn't belong in loop since it shouldn't be repeated:

  lcd.setCursor( 0, 0 );
  lcd.print( "CarDuinoCarDuino" );
  lcd.setCursor( 0, 1 );
  lcd.print( "CarDuinoCarDuino" );

Don

What happens if you remove the reference to onewire ?. It isn't required and sometimes libraries interfere with each other.

This problem you are seeing - this is happening on your test bench (ie, not in the car itself - that is, you are still building it, you haven't put it in the car)?

If you do have it in the car - how do you have your power supply wired to the vehicle? What I am thinking is potentially engine noise (among other possibilities)...

:slight_smile: