NHD-0112BZ-FL-YBW not displaying all characters
I have 2 of these displays that I purchased from Mouser and the one I am using on an Arduino PRO mini 5 volt is only displaying the first 6 characters the next 6 are blank. Bad display or issue with LiquidCrystal.h library for this display? Are the driver chips compatible with the HD44780?
I am asking here before trying the other new LCD just in case there is an issue with compatibility.
Thanks,
Bruce
-
Hi Bruce,
The ST7066U driver in the NHD-0112BZ-FL-YBW character display is compatible with the HD44780 driver and should be working with the LiquidCrystal.h library.
If the code is configured for 4-bit communication, try grounding the R/W pin 5 on the display.
Regards,0 -
Thanks for the reply.
R/W line is already grounded.
Under the command lcd.begin(12,1) or use lcd.begin(6,2) which one would be the one to use?
Using 4 bit interface should one pull high or low the unused data pins (D0 - D3) or it doesn't matter?
Bruce0 -
Hi Bruce,
Use lcd.begin(12,1). D0 - D3 can be left open.
When the display is powered on, it is by default in 8-bit mode and therefore the 4-bit data must be transferred twice. After 2 more 4-bit operations, transfer the busy flag and address counter data.
From the ST7066U datasheet:
For 4-bit interface data, only four bus lines (DB4 to DB7) are used for transfer. Bus lines DB0 to DB3
are disabled. The data transfer between the ST7066U and the MPU is completed after the 4-bit data has
been transferred twice. As for the order of data transfer, the four high order bits (for 8-bit operation, DB4 to
DB7) are transferred before the four low order bits (for 8-bit operation, DB0 to DB3). The busy flag must be
checked (one instruction) after the 4-bit data has been transferred twice. Two more 4-bit operations then
transfer the busy flag and address counter data.https://support.newhavendisplay.com/hc/en-us/articles/4414848155159-ST7066U
For further details, also see Table 12 on pg 42 of the HD44780U driver for writing to a 1 line display with 4-bit operation.0 -
Thanks for the info Ted.
I had help on the Arduino forum ( see https://forum.arduino.cc/index.php?topic=554855.0 ) and first off it was part contrast problem which I ended up using a pot to adjust. Second I had to use lcd.begin(6,2) to treat the display as 2 lines but 2nd line actually next to first.I then added the library hd44780.h which has a lcd.lineWrap() which took care of the 2 lines being added together to make one line.
The display works as expected and like the 16x2 display that i used for bread boarding.
Bruce0
Please sign in to leave a comment.
Comments
4 comments