ابزار ساخت کاراکتر سفارشی برای LCD کاراکتری (آردوینو)
در این آموزش نحوه ساخت کاراکتر های سفارشی برای ال سی دی کاراکتری در آردوینو را آماده کردیم. در این صفحه میتوانید کاراکتر مورد نظر خود را ایجاد کنید و از کد آن برای نمایش کاراکتر ساخته شده در ال سی دی خود استفاده کنید. در حالت عادی شما میتوانید کاراکتر های انگلیسی و اعداد را روی ال سی دی کاراکتری نمایش بدهید. اما در اینجا یاد میگیرید چطور کاراکتر دلخواه خود را ایجاد کنید، نامی برای آن انتخاب کنید و آن را در کد آردوینو خود جایگذاری کنید.
ابزار ساخت کاراکتر سفارشی LCD
با استفاده از ابزار زیر کاراکتر خود را ایجاد کنید و کد کاراکتر داده شده را به کد آردوینو خود اضافه کنید. نحوه استفاده در ادامه مقاله گفته شده است. این روش برای هر دو روش اتصال ال سی دی کاراکتری به صورت معمولی یا I2C به خوبی عمل میکند.
نحوه اتصال ال سی دی کاراکتری به برد آردوینو در این مطلب گفته شده است و در اینجا فقط روی ایجاد کاراکتر سفارشی تمرکز میکنیم.
برای ایجاد کاراکتر دلخواه خود، به تابع ()createChar نیاز دارید. هر کاراکتر دارای عرض 5 پیکسل و ارتفاع 8 پیکسل است. حداکثر 8 کاراکتر سفارشی مختلف را می توان در یک برنامه تعریف کرد.
ما به عنوان مثال دو کاراکتر آ (Alef) و قلب (Heart) را ایجاد کردیم که کد آن ها به شرح زیر است.
byte Alef[] = { B00001, B11111, B10000, B00100, B00100, B00100, B00100, B00100 }; byte Heart[] = { B00000, B01010, B11111, B11111, B01110, B00100, B00000, B00000 };
ابزار بالا کاراکتر ها را با نام customChar ایجاد میکند که باید پس از ایجاد نام آن را به مورد دلخواه تغییر بدهید. سپس با استفاده از کد زیر به آن یک شماره اختصاص بدهید و نام کاراکتر خود را نیز وارد کنید. مثلا برای کاراکتر قلب به شکل زیر دستور زیر را در تابع Setup کد قرار میدهیم.
lcd.createChar(0، Heart);
این دستور به شما اجازه می دهد تا کاراکترهای دلخواه خود را بسازید. حداکثر 8 کاراکتر سفارشی مختلف را می توان در یک برنامه ایجاد کرد. شما باید یک عدد برای کاراکتر سفارشی خود تعیین کنید که از 0 شروع می شود و سپس نام کاراکتر خود را که در قسمت اعلان متغیر طرح شما تعریف شده است (بایت Heart[]) تعیین کنید.
پس از ایجاد کاراکتر، میتوانید از دستور lcd.setCursor برای تنظیم موقعیت کاراکتر و دستور lcd.write برای نمایش کاراکتر خود استفاده کنید. یک نمونه در کد زیر آورده شده است.
lcd.setCursor(14, 0); lcd.write(byte(1));
نمونه نمایش حرف فارسی در ال سی دی کاراکتری
شما همچنین میتوانید از این روش برای ساخت حروف فارسی نیز استفاده کنید. به عنوان مثال در تصویر زیر میتوانید حرف آ و کاراکتر قلب را مشاهده کنید:
با ایجاد کاراکتر سفارشی برای هر حرف و جایگذاری مناسب آن میتوانید متن فارسی را در LCD کاراکتری متصل به آردوینو نمایش بدهید.
کد کامل به شکل زیر است:
#include <LiquidCrystal.h> LiquidCrystal lcd(0, 1, 8, 9, 10, 11); byte Alef[] = { B00001, B11111, B10000, B00100, B00100, B00100, B00100, B00100 }; byte Heart[] = { B00000, B01010, B11111, B11111, B01110, B00100, B00000, B00000 }; void setup(){ lcd.begin(16, 2); lcd.createChar(0, Alef); lcd.createChar(1, Heart); } void loop(){ lcd.setCursor(15, 0); lcd.write(byte(0)); lcd.setCursor(14, 0); lcd.write(byte(1)); delay(1000); }