Display (Arabic text) on an (LCD screen) connected to an Arduino Uno using an I2C converter

 

 

website: LCD Custom Character Generator (maxpromer.github.io)

Code:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // Set the LCD I2C address and the number of columns and rows

// Define custom Arabic-like characters at addresses 0 and 1

byte arabicChar3[8] = {
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000
};
byte arabicChar4[8] = {
B01110,
B01110,
B01110,
B10001,
B10001,
B10001,
B10001,
B11111
};
byte arabicChar5[8] = {
B00000,
B00100,
B00100,
B00100,
B00100,
B11111,
B00000,
B01010
};
byte arabicChar6[8] = {
B01000,
B01000,
B01000,
B11111,
B10001,
B11111,
B00000,
B00000
};
byte arabicChar7[8] = {
B00000,
B00000,
B10101,
B10101,
B10101,
B11111,
B00000,
B00000
};
byte arabicChar8[8] = {
B00100,
B00100,
B00100,
B00100,
B00100,
B11111,
B00000,
B00000
};
byte arabicChar9[8] = {
B00110,
B00110,
B00000,
B00111,
B00101,
B11111,
B00000,
B00000
};

// ██████╗ ███████╗██╗███████╗███████╗    ██████╗ ██████╗ ███╗   ███╗
//██╔═████╗██╔════╝██║██╔════╝██╔════╝   ██╔════╝██╔═══██╗████╗ ████║
//██║██╔██║███████╗██║█████╗  █████╗     ██║     ██║   ██║██╔████╔██║
//████╔╝██║╚════██║██║██╔══╝  ██╔══╝     ██║     ██║   ██║██║╚██╔╝██║
//╚██████╔╝███████║██║███████╗██║  ██╗   ╚██████╗╚██████╔╝██║ ╚═╝ ██║
// ╚═════╝ ╚══════╝╚═╝╚══════╝╚═╝  ╚═╝   ╚═════╝ ╚═════╝ ╚═╝      ╚═╝

void setup() {
lcd.init(); // Initialize the LCD
lcd.backlight(); // Turn on the backlight

lcd.createChar(3, arabicChar3);
lcd.createChar(4, arabicChar4);
lcd.createChar(5, arabicChar5);
lcd.createChar(6, arabicChar6);
lcd.createChar(7, arabicChar7);
lcd.createChar(8, arabicChar8);
lcd.createChar(9, arabicChar9);

 

lcd.setCursor(0, 0); // Set the cursor to the start of the first row
lcd.print(“Free Palestine”);
}

//  ▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄  ▄▄       ▄▄ 
// ▐░░░░░░░░░▌ ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░▌     ▐░░▌
//▐░█░█▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀▀▀  ▀▀▀▀█░█▀▀▀▀ ▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌▐░▌░▌   ▐░▐░▌
//▐░▌▐░▌    ▐░▌▐░▌               ▐░▌     ▐░▌          ▐░▌          ▐░▌          ▐░▌       ▐░▌▐░▌▐░▌ ▐░▌▐░▌
//▐░▌ ▐░▌   ▐░▌▐░█▄▄▄▄▄▄▄▄▄      ▐░▌     ▐░█▄▄▄▄▄▄▄▄▄ ▐░█▄▄▄▄▄▄▄▄▄ ▐░▌          ▐░▌       ▐░▌▐░▌ ▐░▐░▌ ▐░▌
//▐░▌  ▐░▌  ▐░▌▐░░░░░░░░░░░▌     ▐░▌     ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░▌          ▐░▌       ▐░▌▐░▌  ▐░▌  ▐░▌
//▐░▌   ▐░▌ ▐░▌ ▀▀▀▀▀▀▀▀▀█░▌     ▐░▌     ▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀▀▀ ▐░▌          ▐░▌       ▐░▌▐░▌   ▀   ▐░▌
//▐░▌    ▐░▌▐░▌          ▐░▌     ▐░▌     ▐░▌          ▐░▌          ▐░▌          ▐░▌       ▐░▌▐░▌       ▐░▌
//▐░█▄▄▄▄▄█░█░▌ ▄▄▄▄▄▄▄▄▄█░▌ ▄▄▄▄█░█▄▄▄▄ ▐░█▄▄▄▄▄▄▄▄▄ ▐░▌ ▄        ▐░█▄▄▄▄▄▄▄▄▄ ▐░█▄▄▄▄▄▄▄█░▌▐░▌       ▐░▌
// ▐░░░░░░░░░▌ ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░▌▐░▌       ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░▌       ▐░▌
//  ▀▀▀▀▀▀▀▀▀   ▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀▀  ▀  ▀         ▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀▀  ▀         ▀
 
 

void loop() {
lcd.setCursor(0, 1); // Set the cursor to the second row

// Display the custom Arabic-like characters at addresses 0 and 1

lcd.write(3); // Display custom character at address 1
delay(0);
lcd.write(4); // Display custom character at address 1
delay(0);
lcd.write(5); // Display custom character at address 1
delay(0);
lcd.write(6); // Display custom character at address 1
delay(0);
lcd.write(7); // Display custom character at address 1
delay(0);
lcd.write(8); // Display custom character at address 1
delay(0);
lcd.write(9); // Display custom character at address 1
delay(0);

 

lcd.clear();
delay(0);
}

// ██████  ███████ ██ ███████ ███████     ██████  ██████  ███    ███ 
//██  ████ ██      ██ ██      ██         ██      ██    ██ ████  ████ 
//██ ██ ██ ███████ ██ █████   █████      ██      ██    ██ ██ ████ ██ 
//████  ██      ██ ██ ██      ██         ██      ██    ██ ██  ██  ██ 
// ██████  ███████ ██ ███████ ██      ██  ██████  ██████  ██      ██ 
                                                                   

0sief