NHD-0216B3Z-FL-GBW Strange characters
Did a search but couldn't find a similar situation.
Powered up the LCD and tried to send some characters via Arduino UNO. The following showed up. Any idea why is this so?
Thank you.
https://live.staticflickr.com/65535/52660662712_c2d5172f45.jpg
-
Hi,
Could you please confirm the display part number you are facing the issue with?
The part number and the image you provided don't match the product we have.
0 -
Here's the back. NHD-0216B3Z-FL-GBW
https://live.staticflickr.com/65535/52663285692_c8ffb83785.jpg
0 -
Hi, is there any update? I posted another picture a week ago.
0 -
Hi Ts,
Thank you for following up. It looks like your other post is pending approval so we weren't aware of your post. Could you please the code you are using? Based on the picture R1 and R2 open, you are interfacing in RS232.
0 -
Hi, thanks for writing back.
The code is exactly as the one posted on github.
https://github.com/NewhavenDisplay/Serial-LCD/blob/master/Serial_LCD/Serial_LCD.ino
0 -
Hi Ts,
Could you please try the following code:
/*
* RS232 Series
* Pin 1 goes to 5 ~ RX
* Pin 2 goes to ground
* Pin 3 goes to 5V
*/#define P1 5
#include <SoftwareSerial.h>
#define txPin P1SoftwareSerial LCD = SoftwareSerial(P1, txPin);
void clearLCD(){
LCD.write(0xFE); //command flag
LCD.write(0x51); //clear command.
delay(05);
}void command() { //a general function to call the command flag for issuing all other commands
LCD.write(0xFE);
}
void setup() {
pinMode(P1, OUTPUT);//
pinMode(txPin, OUTPUT);
delay(20);//Start 9600 Baud Rate
LCD.begin(9600);
delay(15);// Display ON
LCD.write(0xFE);
LCD.write(0x41);
delay(5);// Cursor Home
LCD.write(0xFE);
LCD.write(0x46);
delay(5);//set Contrast
LCD.write(0xFE);
LCD.write(0x52);
LCD.write(40);
delay(5);//Brightness
LCD.write(0xFE);
LCD.write(0x53);
LCD.write(8);
delay(5);
}void loop() {
clearLCD();
for (int i=0;i<80;i++){
LCD.write(0xFF);
}
delay(3000);
//Display Firmware Version
LCD.write(0xFE);
LCD.write(0x70);
delay(3000);
clearLCD();
LCD.print("XXXXXXXXXXXXXXXXXXXX");
//Change Cursor position to Line 2
LCD.write(0xFE);
LCD.write(0x45);
LCD.write(0x40);
LCD.print("XXXXXXXXXXXXXXXXXXXX");
//Change Cursor position to Line 3
LCD.write(0xFE);
LCD.write(0x45);
LCD.write(0x14);
LCD.print("XXXXXXXXXXXXXXXXXXXX");
//Change Cursor position to Line 24
LCD.write(0xFE);
LCD.write(0x45);
LCD.write(0x54);
LCD.print("XXXXXXXXXXXXXXXXXXXX");
delay(3000);clearLCD();
LCD.print("ZZZZZZZZZZZZZZZZZZZZ");
//Change Cursor position to Line 2
LCD.write(0xFE);
LCD.write(0x45);
LCD.write(0x40);
LCD.print("ZZZZZZZZZZZZZZZZZZZZ");
//Change Cursor position to Line 3
LCD.write(0xFE);
LCD.write(0x45);
LCD.write(0x14);
LCD.print("ZZZZZZZZZZZZZZZZZZZZ");
//Change Cursor position to Line 24
LCD.write(0xFE);
LCD.write(0x45);
LCD.write(0x54);
LCD.print("ZZZZZZZZZZZZZZZZZZZZ");
delay(3000);LCD.print("HHHHHHHHHHHHHHHHHHHH");
//Change Cursor position to Line 2
LCD.write(0xFE);
LCD.write(0x45);
LCD.write(0x40);
LCD.print("HHHHHHHHHHHHHHHHHHHH");
//Change Cursor position to Line 3
LCD.write(0xFE);
LCD.write(0x45);
LCD.write(0x14);
LCD.print("HHHHHHHHHHHHHHHHHHHH");
//Change Cursor position to Line 24
LCD.write(0xFE);
LCD.write(0x45);
LCD.write(0x54);
LCD.print("HHHHHHHHHHHHHHHHHHHH");
delay(3000);
}0 -
Hi, appreciate the reply. Just got around to trying the above.
Do I really have to follow these assignments? My Arduino doesn't have pins in the 20s.
/*
* RS232 Series
* Pin 1 goes to 22 ~ RX
* Pin 2 goes to ground
* Pin 3 goes to 5V
*/#define P1 22#define P2 23#define P3 24Besides, my GND and 5v are not numbered on the Arduino.0 -
Hi Ts,
You can use GND and 5V directly. For Pin 1 please go ahead and wire to 5. I updated the code in the previous comment.
0 -
Hi, appreciate the reply.
So good news and not so good news.
I found an extra LCD. Connected it.
That previous LCD is still producing weird characters with the given script while the extra LCD is performing as intended. So is the former LCD toasted? Any idea how so?
https://live.staticflickr.com/65535/52686340897_959e2f0e6a_z.jpg
0 -
Hi Ts,
I am glad the code is working ! As for the other unit, maybe the the firmware on the IC got corrupted.
Also, if you are interested on the latest version of this display please check out NHD-0216B3Z-FL-GBW-V3 on our website.
0 -
Is there a way to update the firmware?
0 -
Hi Ts,
Unfortunately there isn't. If you purchase this part through one of our distributors you can initiate a a RMA through them. If you purchased through us, you can contact us at nhtech@newhavendisplay.com for the next steps.
0
Please sign in to leave a comment.
Comments
12 comments