so i'm trying to make a project with the LCD I2C to show to my arab family, so i'm trying to create arabic letters to display the name of the project. but i want to create my own letters because the only library i found created like 9 letters which is nothing compared to the full arabic alphabet. so i wanted to create my own,but when i created most of the letters of the alphabet and started writing different letters,but it was writing different letters than told it to,i checked the code like 10 times but still there was no mistake in the code,i'm dealing with an arduino uno board,i connected the SDA pin to A4,and the SCL to the A5 PIN and this is my code:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
byte m[] = {
B00000,
B00000,
B00000,
B00000,
B11111,
B00101,
B00111,
B00000,
};
byte sh[] = {
B00100,
B01010,
B00000,
B10101,
B11111,
B00000,
B00000,
B00000
};
byte r[] = {
B00000,
B00000,
B00000,
B00000,
B00001,
B00001,
B00010,
B11100,
};
byte wow[] = {
B00000,
B00000,
B00111,
B00101,
B00111,
B00001,
B00010,
B11100
};
byte eye[] = {
B01110,
B01000,
B01110,
B10000,
B10000,
B10000,
B10001,
B01110
};
byte space[] = {
B00000,
B00000,
B00001,
B00000,
B00000,
B00001,
B00000,
B00000
};
byte a[] = {
B00010,
B00010,
B00010,
B00010,
B00010,
B00010,
B00010,
B00010
};
byte l[] = {
B00010,
B00010,
B00010,
B00010,
B11110,
B00000,
B00000,
B00000
};
byte A[] = {
B10000,
B10000,
B10000,
B10000,
B11111,
B00000,
B00000,
B00000
};
byte h[] = {
B01100,
B10010,
B01110,
B00010,
B00011,
B00000,
B00000,
B00000
};
void setup ()
{
lcd.init();
lcd.backlight();
lcd.clear();
lcd.createChar(1, m);
lcd.createChar(2, sh);
lcd.createChar(3, r);
lcd.createChar(4, wow);
lcd.createChar(5, eye);
lcd.createChar(6, space);
lcd.createChar(7, a);
lcd.createChar(8, l);
lcd.createChar(9, A);
lcd.createChar(10, h);
lcd.setCursor(15,0);
lcd.write(1);
lcd.setCursor(14,0);
lcd.write(2);
lcd.setCursor(13,0);
lcd.write(3);
lcd.setCursor(12,0);
lcd.write(4);
lcd.setCursor(11,0);
lcd.write(5);
lcd.setCursor(10,0);
lcd.write(6);
lcd.setCursor(9,0);
lcd.write(7);
lcd.setCursor(8,0);
lcd.write(8);
lcd.setCursor(7,0);
lcd.write(2);
lcd.setCursor(6,0);
lcd.write(9);
lcd.setCursor(5,0);
lcd.write(2);
lcd.setCursor(4,0);
lcd.write(10);
}
void loop ()
{
}
it just began to replace the "A" with the "m" and the "sh" with the "h" and it even started to combine them