Winstar LCD (WH1602B)

Hi, I'm new to using the Arduino and was wondering if anybody had managed to get the Winstar LCD (WH1602B) working ??

I downloaded the pdf for the LCD from here (http://www.winstar.com.tw/products_detail.php?CID=17)

Any ideas?

Thanks

Gibbo

Gibbo:

It looks like a standard 'character mode' LCD using an HD77780 compatible controller. Start here: http://www.arduino.cc/playground/Code/LCD.

Don

The data sheet for the display says that it uses the Samsung KS0066 chip:

http://pdf1.alldatasheet.com/datasheet-pdf/view/37318/SAMSUNG/KS0066.html

It should be broadly similar to the Hitachi HD77780 but the actual data sheet might be useful, towards the end it has a nice flow chart showing step-by-step how to initialise the IC for both 8-bit and 4-bit modes - helpful if you need to modify the existing Arduino LCD driver or check the driver for compatibility.

I actually used this data sheet to write some code for an ATtiny26 to drive a Winstar WH1602D display in 4-bit mode via a I2C 16-bit I/O expander the other night... not exactly Arduino but the display should be the same so give me a yell if you need any more help.

I have one of these also, it is HD44870 compatible and will therefore work very easily with the LCD 4 Bit Library.

Thanks for all the information.. Have managed to get the LCD Powered up and adjusted the contrast. But not getting any text appear :(

I connected as follows :

LCD Arduino 1(GND) -> Ground 2(5V) -> 5V 4(RS) -> input 12 5(R/W) -> input 11 6(Enable) -> input 2 11(DB4) -> input 7 12(DB5) -> input 8 13(DB6) -> input 9 14(DB7) -> input 10

I installed the LCD 4 Bit library and used the example application. The LED flashed, but no words.. Tried the contrast but nothing..

Any ideas what I'm doing wrong??

Thanks

Gibbo

From your connection diagram, contrast is missing (LCD pin 3 to mid point of a pot, with +5V and GND connected to the extremes of the pot)

Sorry, forgot to add that.. But still nothing.. The contrast does see to work..

The resistance for the contrast setting on these displays is very sensitive. Use a potentiometer to find the correct setting, then measure it with a multimeter and put the correct value resistor in its place.

Right got it working, by attaching the r/w of the lcd to the ground :-? but it is working :) Trying to get the 2nd line working, but seems to always print on the first line..

Any ideas?

The resistance for the contrast setting on these displays is very sensitive. Use a potentiometer to find the correct setting, then measure it with a multimeter and put the correct value resistor in its place.

Another option, if you have a PWM output free, is to control the contrast with that. This example is for a 3.3V transmissive display. I use the technique for backlight.

  pinMode(LEDbacklight, OUTPUT);
  pinMode(contrast, OUTPUT);
  analogWrite(contrast, 100); // trial and error for acceptable contrast
  analogWrite(LEDbacklight, 30); // same for backlight

Hmm didn't think of using PWM. I'll give that a try myself. Thanks.

FYI pinMode only needs to be set for digital, it is not necessary for analog inputs or outputs. The arduino functions for analogRead and analogWrite will set the pins to the correct mode.

I know, I just like the orthogonality. Never mind the redundancy. :)