الرسم على شاشة LCD

مبتدئ

image_pdf

الكود البرمجي للأردوينو

قم برفع البرنامج التالي على الاردوينو:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

byte M[8] = {
0b00000,
0b00000,
0b00110,
0b01001,
0b11001,
0b00110,
0b00000,
0b00000
};
byte R[8] = {
0b00000,
0b00000,
0b00010,
0b00010,
0b00011,
0b00100,
0b01000,
0b10000
};
byte H[8] = {
0b00000,
0b01100,
0b10010,
0b00001,
0b11111,
0b00000,
0b00000,
0b00000
};
byte BA[8] = {
0b10000,
0b10000,
0b10000,
0b10010,
0b11111,
0b00000,
0b00100,
0b00000
};
byte logo[8] = {
0b11111,
0b10101,
0b11111,
0b11111,
0b01110,
0b01010,
0b11011,
0b00000
};

void Word1()
{
lcd.setCursor(12,0);
lcd.write(byte(0));
lcd.write(1);
lcd.write(2);
lcd.write(3);
}
void Logo1()
{
lcd.setCursor(10,0);
lcd.write(4);
}

void setup() {
lcd.createChar(0, BA); // char (با)
lcd.createChar(1, H); //char ( ح )
lcd.createChar(2, R); //char (ـر)
lcd.createChar(3, M); //char (مـ)
lcd.createChar(4, logo);
lcd.begin(16, 2);
}

void loop() {
Word1();
Logo1();
}

شرح الكود :

تم رسم الأحرف داخل مصفوفة و تحويلها الى 8-byte :

custom-characters-on-lcd
byte M[8] = {
0b00000,
0b00000,
0b00110,
0b01001,
0b11001,
0b00110,
0b00000,
0b00000
};
byte R[8] = {
0b00000,
0b00000,
0b00010,
0b00010,
0b00011,
0b00100,
0b01000,
0b10000
};
byte H[8] = {
0b00000,
0b01100,
0b10010,
0b00001,
0b11111,
0b00000,
0b00000,
0b00000
};
byte BA[8] = {
0b10000,
0b10000,
0b10000,
0b10010,
0b11111,
0b00000,
0b00100,
0b00000
};

يتم استخدام createChar لتشكيل رمز يمكن طباعته على شاشة LCD و تكون ابعادة 8×5 بكسل.

lcd.createChar(0, BA); // char (با)
lcd.createChar(1, H); //char ( ح )
lcd.createChar(2, R); //char (ـر)
lcd.createChar(3, M); //char (مـ)

وليتم رسمه على شاشة الـ LCD  يتم استخدام الامر write

lcd.write(byte(0));
lcd.write(1);
lcd.write(2);
lcd.write(3);

بعد رفع الكود البرمجي على لوحة الأردوينو سيتم عرض كلمة مرحبا و رمز على شاشة الـ LCD .

custom-characters-on-lcd
X
تم إضافة المنتج إلى السلة بنجاح