NHD-0112BZ-FL-YBW not displaying all characters

Comments

4 comments

  • Ted M.
    NHD Staff

    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
  • 7b_w

    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?

    Bruce

    0
  • Ted M.
    NHD Staff
    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
  • 7b_w

    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.

    Bruce

    0

Please sign in to leave a comment.