آردوینو نمایشگر LCD پروژه های آردوینو

آموزش افزودن فونت LCD گرافیکی ۱۲۸×۶۴ با کتابخانه آردوینو

add-font-with-lcd-128x64-arduino-digispark-
نوشته شده توسط محمد رئیسی نژاد

در بخش دوم راه اندازی LCD گرافیکی ۱۲۸×۶۴ ، روش افزودن فونت‌های مختلف با استفاده از آردوینو را آموزش می‌دهم. ال سی دی گرافیکی دارای تکنولوژی مشابه دات ماتریکس می‌باشند. با این تفاوت که LCD از تراکم پیکسلی بیشتری نسبت به دات ماتربس‌ها برخوردار هستند. به همین دلیل می‌توان اعداد، حروف و کاراکترهای خاص با  اندازه  و فونت‌های مختلف  را بر روی آن نمایش داد. در این آموزش از GLCD  مدل KS108 که یکی از ال سی دی‌های رایج و پرکاربرد در بازار می‌باشد استفاده می‌کنیم. این نوع نمایشگرها که دارای سایز نسبتا بزرگی نسبت به انواع کاراکتری هستند، عموما برای نمایش تصاویر، علائم و … به کار می‌روند. همچنین در سایزهای متفاوتی ساخته می‌شوند، متداول‌ترین آن‌ها ۱۲۸*۶۴ می‌باشد. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


LCD گرافیکی ۱۲۸×۶۴


 ما با استفاده از توابع کتابخانه LCD گرافیکی ۱۲۸×۶۴ ، اشکال و نوشته‌هایی را نمایش می‌دهیم. در این آموزش از LCD گرافیکی با تراشه ks0108b استفاده شده است. دقت داشته باشید، مدل‌های مختلف LCD با تراشه‌های گوناگون وجود دارند. به زبان ساده‌تر همان ال سی دی موجود در بازار مشابه هم نیستند و هر کدام یک درایور متفاوت خواهند داشت. مثلا ال سی دی LG128643 یا TSM12864E هر دو از درایورهای معتبر استفاده کرده‌اند. تراشه ks0108b یکی از درایورهای پرمصرف در این مدل LCD می‌باشد. بیشتر برای راه اندازی LCD ماتریسی ۱۲۸ در ۶۴ نقطه‌ای استفاده می‌شود. تفاوت ال سی دی‌های اصلی با کپی شده، در روشن و خاموش کردن بک لایت LCD توسط برنامه می‌باشد. همچنین در عمر کارکرد مفید LCD تاثیر گذار می‌باشند. روی برد LCD 128×64 تعداد  ۲۰ پایه وجود دارند.

 


اتصالات LCD 128×64 به آردوینو


جهت راه اندازی LCD گرافیکی ۱۲۸×۶۴ با برد آردوینو بایستی پایه‌ها را مانند تصویر زیر متصل کنید. دقت داشته باشید که در این آموزش از پایه‌های ۴ تا ۱۱ آردوینو، همچنین A0 تا A4 استفاده شده است.  یعنی جمعا ۱۳ پایه از آردوینو نیاز می‌باشد. به تصویر زیر دقت کنید.

GND : این پایه LCD باید به زمین مدار متصل شود.

Vcc : تغذیه ال سی دی می‌باشد که باید به ۵+ ولت DC متصل شود.

VEE : از این پایه برای تنظیم کانتراست صفحه نمایش استفاده می‌شود. این پایه را توسط یک پتانسومتر یا مولتی‌ترن ۱۰ کیلواهم به زمین متصل کنید.

Rs : این پایه مربوط به رجیسترهای درایور LCD می‌باشد. آدرس خواندن و نوشتن در ال سی دی LCD توسط این پایه مشخص می‌شود.

R/W : هنگامی که متن روی lCD نوشته شود، این پایه را صفر و هنکامی در حال خواندن از روی ال سی دی باشیم، این پایه را یک می‌کنیم. در پروژه‌های ساده و سطح پایین معمولا فقط بر روی LCD عملیات write انجام می‌شود. بنابراین بهتر است برای صرفه جویی در پایه‌های آردوینو ، پایه R/W را به زمین متصل کنیم.

EN : از این پایه برای فعال یا غیرفعال کردن LCD استفاده می‌شود.

پین‌های D0 تا D7  برای انتقال اطلاعات بر روی LCD می‌باشند.

led/+led- : این دو پایه برای نور پیش زمینه LCD است. Led+ باید به ۵+ ولت DC و Led- باید به GND متصل شود. توجه داشته باشید، می‌توان این دو پین را آزاد گذاشت ولی در صورت استفاده نکردن از نور پس زمینه ، مشاهده متن درون LCD بسیار دشوار می‌باشد.

 

شماتیک اتصالات LCD گرافیکی 128x64 به برد آردوینو - دیجی اسپارک

 


کتابخانه LCD گرافیکی آردوینو


برای راه اندازی این LCD کتابخانه‌های مختلفی از جمله glcd.h , U8glib.h و openGLCD.h وجود دارند. در این پست از کتابخانه glcd.h استفاده می‌کنیم. دستورات و توابع مورد استفاده در این کتابخانه را طی این پست و پست‌های بعدی آموزش خواهیم داد. نکته قابل ملاحضه در خصوص این مدل LCD گرافیکی، مانند ال سی دی کاراکتری نیستند و از قبل هیچ فونتی در حافظه LCD قرار ندارد. بنابراین پیش از هر کاری نیاز است که فونت‌ها را هم در این LCD فراخوانی کنیم. برای این منظور از کتابخانه fonts/allFonts.h استفاده می‌کنیم. پس می‌بایست در کدها، فونت مورد نظر را فراخوانی کنیم. من از یک فونت ساده به اسم Arial_bold_14 استفاده کرده‌ام. برای استفاده از کتابخانه‌های فونت به فرمت باینری در اینترنت، هر فونتی را می‌توانید به LCD گرافیکی منتقل کرده و آن را نمایش دهید. چنانچه روش نصب کتابخانه در آردوینو را نمی‌دانید، به پست آموزش نصب کتابخانه در نرم افزار آردوینو IDE مراجعه بفرمایید.

نمونه فونت LCD 128x64 آردوینو - دیجی اسپارک

 


دستورات مهم LCD گرافیکی


به چند عدد از توابع مهم جهت راه اندازی LCD گرافیکی ۱۲۸×۶۴ به صورتی که در کدها می‌نویسیم، توجه کنید. برای هر دستور توضیحات فارسی نوشته شده است. دقت داشته باشید که روش فراخوانی و استفاده از هر دستور دقیقا به همین صورت زیر می‌باشد. همچنین این موارد برای کتابخانه‌های معرفی شده مورد استفاده هستند. پلتفرم آردوینو دارای کتابخانه بسیار جامعی برای کار با ال سی دی می باشد. برای کد نویسی ال سی دی ابتدا باید  توسط دستور زیر کتابخانه openGLCD.h را به فراخوانی کنیم.

نمونه فونت LCD 128x64 آردوینو - دیجی اسپارک

 


نمونه کد LCD 128×64 آردوینو


این مثال برای تمام ال سی دی های گرافیکی که با تراشه ks0108b درایو می شوند کار می‌کند. کد زیر ، مثال  نوشتن  روی LCD با ۴ فونت  مختلف  می‌باشد.

 

 


وسایل مورد نیاز


LCD ال سی دی گرافیکی ۱۲۸×۶۴

برد آردوینو Uno

کابل فلت

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک و دانشجوکیت  و digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید. در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

درباره نویسنده

محمد رئیسی نژاد

دانشجوی مهندسی برق قدرت

تبادل نظر و رفع عیب با ثبت دیدگاه