Pages: [1]   Go Down
Author Topic: Is there a HD44780 compatible 16 x2 OLED out there?  (Read 1836 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am looking to replace the bog standard inefficient low contrast poor viewing angle 16 x 2 character LCD with one of the more power efficient and higher contrast OLED modules out there.  It seems none of the manufacturers of them have got the idea to make one which will swap out directly for some reason, or has someone done it?  I am not sure why but they changed things just enough to make them not work with the "standard".  I heard of the NKC one but that doesn't work I am told.

I am no code guru so modifying display libraries is out of my reach.

Is there one somewhere that will "just work" in place of the HD44780 LCD in 4 bit mode?  Has anyone taken on the task of making a library that will make these work?  It would be worth while since these OLEDs are better in almost every way than the LCDs out there.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I am fighting with a Winstar WEH001602A, should be compatible with HD44780 ---- but not 100%, the characters show up on the display, but there is a mismatch with the lines, if you find another OLED display, or knows what to do with the WEH001602A, please post :-)

Rgds
Lars
Logged

Western New York, USA
Offline Offline
Faraday Member
**
Karma: 25
Posts: 4110
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
... but there is a mismatch with the lines
Please elaborate on this.  What are you trying to display and what is actually being displayed?

Don
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 238
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I've got a similar problem.

I found out if I use the LiquidCrystal library, then line 0 should be swapped with line 1, line 1 with 0. Also 2 with 3, and 3 with 2!

However this sometimes works, not all the time!

Whereas the manufacturer's say it is HD44780 compatible! Why is that?
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Just using the simple "hello, world!" example.
If I make no changes to the program, the "hello, world!" at line 0, ends up at line 1, and somtimes I miss the first character, somtimes the 2 first. The seconds counter is at line 0 instead of line 1.
This works, and I always gets all the characters:
 // set up the LCD's number of columns and rows:
   lcd.begin(16, 2);
   lcd.setCursor(0, 1); // This is line 0 on OLED
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 0); // This is line 1 on OLED
  // print the number of seconds since reset:
  lcd.print(millis()/1000);


I have tried using the example "Autoscroll"  as well, it makes weird things, like a long delay before restarting, and of course the line thing.
Logged

Denver
Offline Offline
God Member
*****
Karma: 19
Posts: 778
Inactive - PM
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Larsen,
Same situation with the "confused line numbers" and other annoyances with that display. I first described them here.

Some observations that may help:
- For me, the problem 'almost only' happens on reset. If the display is powered down, it's almost always OK.
- lcd.clear() often doesn't reset the cursor to 0,0. (Made a clear function that adds that.)
- FWIW, the LiquidCrystal_I2C lib runs that display without the mods needed for 4 bit in the LiquidCrystal lib.

Too bad! Other than that it's a great display - bright and sharp. It's the only character based OLED I know of. The graphic OLED displays I've seen require a software character set, which is fine if you have the memory and a decent sized set.

« Last Edit: September 17, 2011, 03:42:43 pm by bHogan » Logged

"Data is not information, information is not knowledge, knowledge is not understanding, understanding is not wisdom."
~ Clifford Stoll

0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If I wait approx. 0.5 - 1.0 second before I start to write to the display, it seems to work ok.
Lines are no longer swapped.

void setup()

  delay(1000);  // wait for display

/Lars
Logged

Pages: [1]   Go Up
Jump to: