الكود البرمجي للأردوينو
قم برفع البرنامج التالي على الاردوينو:
#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 :
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 .