Hi, I need some help figuring out why my LCD display is working fine in 8-bit mode, but in 4-bit mode, some of the characters I want to display get mapped to different Japanese characters.
I am using a 16x2 QAPASS 1602A LCD screen and an Arduino MEGA 2560.
The issue is with the characters highlighted in this table from the datasheet:
For example, the characters 'fghijklmnopq7891' are shown accurately in 8-bit mode. However, in 4-bit mode, they show up as follows:
I don't think it is a hardware or soldering issue since it is working fine in one mode, but not in the other.
P.S. - In the schematics below an Arduino UNO is shown but the connections I have made with my Arduino MEGA are exactly the same.
This is my circuit in 8-bit mode and the code below:
I will post the schematic for 8-bit mode in a reply below since new users are only allowed 3 embedded media posts.
#include <LiquidCrystal.h>
const int rs=2, en=3, d0=4, d1=5, d2=6, d3=7, d4=8, d5=9, d6=10, d7=11;
LiquidCrystal lcd(rs,en,d0,d1,d2,d3,d4,d5,d6,d7);
void setup() {
lcd.begin(16,2);
lcd.print("fghijklmnopq7891");
}
void loop() {
}
This is my circuit in 4-bit mode and the code below:
#include <LiquidCrystal.h>
const int rs=2, en=3, d4=8, d5=9, d6=10, d7=11;
LiquidCrystal lcd(rs,en,d4,d5,d6,d7);
void setup() {
lcd.begin(16,2);
lcd.print("fghijklmnopq7891");
}
void loop() {
}
Thanks in advance!