خانه / آموزش های الکترونیک / آموزش Arduino / آموزش LCD گرافیکی (بخش اول)
DCF 1.0

آموزش LCD گرافیکی (بخش اول)

تو این قسمت از آموزشمون میخواهیم که طریقه ی برنامه نویسی با LCD گرافیکی (GLCD) را به شما آموزش بدهیم.

سعی کردیم که در اینجا از تمامی نکات آموزشی بهره بگیریم و از ابتدا تا انتهای این برنامه نویسی را در خدمت شما باشیم. از اینکه ما رو انتخاب کردید ممنونیم.

ما سعی میکنیم برنامه نویسی دو یا سه نوع از lcd های گرافیکی و همچنین برنامه نویسی به وسیله codevision و Atmel Stdio را به شما آموزش بدیم. و همچنین اموزش LCDهای رنگی و تاچ را هم در خدمت شمت باشیم.

بطور کلی lcdهای گرافیکی براساس تراشه راه انداز داخلی خود دسته بندی می شوند. دونوع از پرمصرف ترین این نمایشگرها را می توان به صورت زیر معرفی نمود:

1- مدل GDM  با تراشه راه انداز KS0108

2- مدل TOSHIBA با تراشه راه انداز t6963C

 

GDM12864A پرکاربرترین مدل GDM است. این مدل یک LCD ماتریسی نقطه ای گرافیکی است که براساس تکنولوژی CMOS ساخته شده است و می تواند ماتریس نقطه ای به اندازه 64 سطر و 128 ستون(8192نقطه) را توسط یک RAM نمایش (DDRAM) به ظرفیت 64*128 بیت نمایش دهد.

مدل GDM12864A توسط تراشه KS0108 کنترل می شود. این تراشه یک راه انداز با 64 کانال خروجی و به منظور کنترل LCDهای گرافیکی طراحی شده است.(منبع این قسمت:کتاب میکروکنترلرهای AVR محمدمهدی پرتوی فر، فرزاد مظاهریان و یوسف بیانلو)

دیتاشیت

پسورد: www.epc-project.ir

این نمایشگر ها گزینه خوبی برای نمایش اطلاعات پروژه و ورودی خروجی های آن است و می توان در صنعت نیز این نمایشگر را به وفور یافت  اول از همه با پایه های این ال سی دی آشنا بشیم:

پایه VSS: پایه زمین

پایه VDD: پایه تغذیه GLCD با ولتاژی بین 4/5 تا 5/5 ولت

پایه VO: پایه ای جهت کنترل روشنایی صفحه که معمولا توسط پتانسیومتر و از پایه VEE تغذیه می شود.

پایه D/I یا RS: اگر D/I=0 باشد، رجیستر دستورالعمل انتخاب شده و اطلاعات روی پایه های DB0تا DB7 به عنوان دستور شناخته می شوند و اگر D/I=1 باشد، رجیستر داده برای نمایش اطلاعات روی LCD انتخاب می شود.

پایه R/W: اگر R/W=0 باشد، اطلاعات ازروی پایه های DB0 تا DB7 خوانده می شود و اگر R/W=1 باشد، اطلاعات بر روی پایه ها قرار خواهد گرفت که توسط میکروکنترلر جانبی خوانده خواهد شد.

پایه E:  ال سی دی از این پایه برای قفل کردن اطلاعات روی پایه های DB0 تا DB7 استفاده می کند. هنگامیکه اطلاعات روی پایه های DB0 تا DB7 قرار بگیرد، با یک لبه پایین رونده روی پایه E اطلاعات درون تراشه LCD قفل می شود. حداقل پالس اعمالی به این پایه باید 450 نانوثانیه طول داشته باشد.

پایه DB0 تا DB7: از این پایه ها برای انتقال اطلاعات به LCD و یا خواندن از آن استفاده می شود.

پایه های CS1 و CS2: همانطور که در بالا گفته شد، تراشه KS0108 دارای 64 کانال خروجی است بنابراین برای کنترل یک LCD از نوع 64*128 نیاز به دوتراشه KS0108 است. توسط پایه های CS1و CS2 می توان هرکدام از این تراشه ها را که یکی مربوط به کنترل نیمه راست صفحه و دیگری مربوط به کنترل نیمه چپ صفحه است انتاب نمود.

اگر CS1=1,CS2=0 باشد، نیمه راست صفحه انتخاب می شود.

اگر CS1=0,CS2=1 باشد، نیمه چپ صفحه انتخاب می شود.

پایه RESET: با فعال کردن (LOW) این پایه، LCD در وضعیت Reset قرار میگیرد.

پایه VEE: ال سی دی گرافیکی توسط مدارهای داخلی خود یک ولتاژ منفی در حدود 9/5 ولت روی این پایه ایجاد می کند. به کمک پایه های VEE و VO می توان میزان روشنایی صفحه را توسط یک پتانسیومتر کنترل کرد.

پایه های A و K: این دو پایه مربوط به آند و کاتد روشن کننده صفحه LCD است و به ولتاژی در حدود 5 ولت نیاز دارد.

-این نوع از LCD های گرافیکی برا نمایش تصاویر، تصویر رو نصف میکنن و نصفش رو در نصف صفحه توسط CS1  نمایش میدند  و نصف دیگه هم توسط اون یکی پایه.

خب حالا میریم سر گفته ها و کارهای اولیه برای برنامه نویسی که یکی از اونها نمایش عکس مورد نظر و ایجاد کردن تمام موارد برای نمایش روی GLCD است. یکی از اینها اینه ک عکس مربوطه باید در اندازه خاص در بیاید و سپس تبدیل به کدهایی برای نمایش روی GLCD گردد. که درا ین زمینه نرم افزارهای فراوانی وجود دارد که از نظر ما و همچنین بسیاری از سایت ها و کتاب ها روی نرم افزار GLCD_Editor یا همون GLCD_ Tools هم نظریم.

که نرم افزار و کارکرد آن را در این بخش به شمامعرفی میکنیم.

دانلود نرم افزار

پسورد: www.epc-project.ir

مطلب زیر را از سایت www.dmf313.ir گفتم چون بنظرم از خیلی جاها بهتر گفته بود:

برا نمایش عکس تو LCD یه چند تا کار هست که باید انجام بدید.

۱) ایجاد عکس مورد نظرمون
۲) دادنش به نرم افزار مورد نظر و گرفتن کد ها
۳) یه دو راهی بزرگ !!!  :
۱) کد ها رو داخل کد های اصلی پروژه بزاریم
۲) کد ها رو تو یه فایل متنی جداگونه بزاریم.

۱) ایجاد عکس مورد نظرمون :
بسته به اندازه صفحه نمایش LCD ما اندازه عکسمون رو انتخاب مینیم.که در این جا اندازه ۶۴*۱۲۸ هستش.
ابتدا به منو استارت ویندوز رفته و paint رو سرچ کنید ، بعد از اجرای برنامه نقاشی اندازه صفحه رو ۶۴*۱۲۸ تعین کنید. و بعد عکستون رو بکشید.
البته اگه عکسی رو آماده دارید میتونید روش کلیک راست کرده و Edit رو انتخاب کنید.

مهم : حالا میرسیم به نحوه ذخیره کردن عکس
»»»»وقتی روی save-as کلیک میکنید حالت ذخبره کردن عکس رو حالت زیر بزارید.


۲) دادن عکس به نرم افزار و گرفتن کد ها : 

نرم افزار که دربالا  گذاشتم برای دانلود برید دانلود کنید و اجراش کنید.
از سه تا منوی بالا برید به : ks0108   (البته حالت پیشفرض همنام اجرای برنامه همین گزینه هستش)
بعد روی load bmp picture کلیک کنید و عکستون رو بدین بهش.
اگه ارور داد ببینید کدوم مرحله ی از مراحل بالا رو درست اجرا نکردید.


۳) یه دو راهی بزرگ !!!  : 

همون طور که اگه کد های این پروژه رو دیده باشید یه آرایه تعریف کردم که حدودا یه ۸ خطی هستش. که این آرایه همون کدی هست که برنامه به ما میده.(همون برنامه ای که عکس میدی و کد میگیری)

( وقتی نرم افزار عکس رو به کد تبدیل میکنه یه سری کد میده که فقط کد های شبیه به کد زیر به درد ما میخورن )

لذا شما اول چیز های اضافه رو حذف میکنید و بعد داخل کدهایی که شبیه کد بالا هستن رو میزاری  داخل پراتز در کد زیر:

;{}=flash unsigned char my_photo

به جای my_phot هم نام آرایه دلخواه خودتون را بذارید.

اگه کدها رو مستقیم بذاری تو کدهای پروژه این میشه یک روش ولی روش دومی هم هست.

( بعد از تعریف کتاب خونه ها قرارش میدیم »»» به کد اصلی پروژه دقت کنید تا محل گزاشتم این کد رو متوجه بشه )
دقت کنید که تو کد بالا به جای my_photo نام فایل و نام آرایه که تو این فایل متنی ذخیره شده رو قرار بدی.

البته میتوان همان فایل تکس ساخته شده را به محل نصب codevision برد و در پوشه ی INC کپی کرد. فقط در هنگام تعریف این کتابخانه در برنامه باید نوشت:

#include”my_photo.h”

توضیح توابع کتابخانه GLCD که تقریبا بیشترین کاربرد را دارند:

 

میخوام تا همینجا تمومش کنم که این برای توضیحات تبدیل عکس به کد و معرفی پایه ها و دستورات باشه و چیز بیشتری نگم که قشنگ نمیشه به نظرم. میخوام تو جلسه دوم برنامشو بنویسم و کتابخونش رو معرفی بکنم و بالاخره حال اساسی رو تو اونجا بدم بهتون

 

درباره ی alitakta

همچنین ببینید

تعریف IP Static برد Raspberry Pi

تعریف IP Static برد Raspberry Pi امروز قصد داریم به شما طریفه نسبت دادن ip استاتیک به Raspberry Pi را آموزش بدیم یعنی شما فقط برای یک بار ، یک ip دلخواه برای رزبری پای تعریف می‌کنید

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

1 + سه =