دیتاشیت چیست:
دیتاشیت(data sheet) یا صفحه اطلاعات(داده ها): دیتاشیت ها در واقع صفحاتی هستند که ویژگی ها و ساختار و عملکرد همچنین تمامی اطلاعات مورد نیاز محصولات از قبیل ویژگی های فنی قطعات الکترونیکی، مکانیکی، شیمیایی و تمام اطلاعات مهندسی تجهیزات و…. را شرح میدهند. شاید تا به حال در هنگام خرید گوشی موبایل یا خرید لباسشویی یا هر وسیله ی الکترونیکی دیگری به دفترچه یا صفحاتی که به زبان انگلیسی و یا زبان های دیگر اطلاعات موجود در آن محصول را در خود جای میدهند دقت کرده باشید. اکثر این اطلاعات تخصصی است و خریداران به این صفحات توجهی نمیکنند اما برای مهندسان که با اطلاعات موجود در این قطعات سر و کار دارند این صفحات بسیار ارزشمند هستند و در عمل بدون داشتن این صفحات هیچ چیزی نداریم.
دردیتاشیت قطعات مورد نیاز ما از نحوه اتصال پین ها، نام و کاربرد آنها ،ابعاد و فواصل آنها ، زوایا و به طور خلاصه هر چیزی که ما باید در مورد محصول بدانیم موجود میباشد. هدف ما از این مقاله توضیح دیتاشیت به همراه تحلیل قسمت هایی از دیتاشیت ال سی دی کاراکتری است.
هر محصولی با برندهای شرکتهای مختلف دیتاشیت مخصوص به خود را دارند پس قبل از انجام هرکاری سعی کنید دیتاشیت محصول مورد نظر خود را تهیه کنید.
ما در این مقاله سعی میکنیم بخشی از دیتاشیت ال سی دی کاراکتری 2*16 را تحلیل کنیم تا با نحوه ی تحلیل و کاربرد دیتاشیت آشنا شویم.
برای اینکه بتوانیم اطلاعات قطعه ای را بررسی کنیم ابتدا باید بدانیم آن قطعه چیست و چگونه کار میکند حال بیایید نگاهی به بخش های مختلف این مقاله بیاندازیم:
بخش های مختلف این مقاله
- انواع مختلف صفحه های نمایش
- انواع صفحه نمایش ال سی دی و چگونگی کارکرد آن.
- بررسی دیتاشیت صفحه نمایش ال سی دی 2*16.
- مفهوم و استخراج اطلاعات مورد نیاز در دیتاشیت ال سی دی کاراکتری 2*16
- اطلاعات و دستورالعمل های موجود در دیتاشیت برای استفاده در کدنویسی
در این مقاله قصدداریم به تمامی اتفاقاتی که منجر میشود نوشته ها و تصاویر بر روی صفحه نمایش ال سی دی قرار بگیرند بیپردازیم همچنین برای نمایش نوشته ها و تصاویر بر روی صفحه نمایش ال سی دی دستورالعمل هایی وجود دارد که در کدنویسی استفاده خواهیم کرد این دستورالعمل ها همگی در دیتاشیت موجود میباشد. با ما تا آخر مقاله همراه باشید.
مقدمه:
انواع مختلف صفحات نمایش
- CRT(Cathode Ray Tube)
- LCD (Liquid CrystalDisplay)
- TFT(Thin Film Transistor)
- IPS
- LED
- OLED
OLED ها مشابه LED ها هستند فقط تغییراتی در فناوری آنها ایجاد شده است.
انواع مختلف LCD:
ال سی دی ها کاربرد بسیار گسترده ای در تکنولوژی دارند در حال حاضر نمایشگرهای پلاسما و ال ای دی ها در حال جایگزینی با ال سی دی ها هستند اما ال سی دی ها انرژی به مراتب کمتری از رقبای خود مصرف میکنند زیرا به جای انتشار نور در واقع بر اساس اصل مسدود کردن نور کار میکنند.یک نمایشگر کریستال مایع یا ال سی دی در واقع از تعداد بسیار زیادی پیکسل(pixel) تشکیل شده است.
کیفیت این نمایشگر بستگی به تعداد پیکسل های آن دارد. برای مثال یک نمایشگر 4k از 2160 * 3840 یا 2160 * 4096 پیکسل ساخته شده است. یک پیکسل خود از سه سابپیکسل(subpixel)ساخته شده است که هر سابپیکسل از رنگهای قرمز- سبز و آبی (RGB) تشکیل میشود. در واقع سابپیکسل ها با ترکیب رنگ، رنگ های جدیدی تولید میکنند(برای درک بهتر رجوع کنید به مقاله ی کنترل ال ای دی RGB با آردوینو _در اینجا ال ای دی استفاده شده اما کارکرد مشابه است). برای اینکه تصویری خلق شود تمامی پیکسل ها با یکدیگر کار میکنند که میتوانند میلیون ها رنگ مختلف بسازند.وقتی که این پیکس ها به سرعت روشن و خاموش میشوند و رنگ خود را با رنگ دیگر جایگزین میکنند در واقع تصویر جدیدی شکل میگیرد. بعضی از انواع ال سی دی ها عبارتند از:
TFT
TFT اولین نوع از صفحه نمایش های LCD است که با مدیریت بهتر پیکسل، میزان وضوح و کیفیت تصویر پخش شده در آن را افزایش میدهد. TFT مخفف کلمه Thin Film Transistor است و به معنی ترانزیستور لایه نازک است و به گونهای طراحی شده است که پیکسل ها به صورت افقی عمودی در کنار هم قرار گرفتهاند. هر پیکسل به یک خازن و یک ترانزیستور متصل است، این طراحی اجازه میدهد هر پیکسل به طور مستقل شارژ شود و شارژ آن حتی بعد از رفرش شدن برای تصویر جدید باقی بماند.
IPS
IPS نسخه پیشرفتهتر TFT به حساب میآید و قیمت بالاتر و کیفیت بهتری نسبت به نسخه قبلی خود دارد، همچنین برخلاف نسخه TFT در زیر نور مستقیم آفتاب هم قابل استفاده است.
بررسی دیتاشیت صفحه نمایش ال سی دی کاراکتری 2*16
حال میخواهیم دیتاشیت ال سی دی کاراکتری 2*16 و اطلاعات آن را شرح دهیم:
ابتدا روی دیتاشیت LCD 16*2 کلیک کنید و فایل دیتاشیت را دانلود کنید.
همانطور که از نام آن پیداست 2*16 یعنی صفحه ی نمایش این ال سی دی 16 ستون و دو ردیف دارد.
تصویر پین ها و ال سی دی 2*16 :
تصویر زیر شرح بصری نام پین ها است.
اطلاعات موجود در دیتاشیت(با ترجمه ی فارسی):
نگاهی به صفحه 19 دیتاشیت می اندازیم.
صفحه ی 19 دیتاشیت interface
Sr. No |
Pin No. شماره پین |
Pin Name نام پین |
Pin Type نوع پین |
Pin Description توضیحات پین |
Pin Connection اتصال پین |
1 |
Pin 1 |
Ground زمین(پایه منفی) |
Source Pin پین منبع |
This is a ground pin of LCD این پین GND ال سی دی است و به پایه ی منفی منبع تغذیه متصل میشود |
Connected to the ground of the MCU/ Power source این پین به پین Ground میکروکنترلر(همان پایه ی منفی ما است) و به منفی منبع تغذیه متصل میشود(منظور همان پین منفی باتری یا برد بورد یا انواع منبع تغذیه است) |
2 |
Pin 2 |
VDD 5V+ |
Source Pin پین منبع |
This is the supply voltage pin of LCD این پین تامین ولتاژ ال سی دی است |
Connected to the supply pin of Power source به پین مثبت منبع تغذیه متصل میشود(پین مثبت باتری و بردبورد و…) |
3 |
Pin 3 |
V0/VEE کنتراست |
Control Pin پین کنترل |
Adjusts the contrast of the LCD. این پین تنظیم کنتراست ال سی دی است |
Connected to a variable POT that can source 0-5V به ولتاژ متغیر از 0 تا 5 ولت (پتانسیومتر) متصل میشود |
4 |
Pin 4 |
Register Select |
Control Pin پین کنترل |
Toggles between Command/Data Register برای انتخاب بین ارسال دستورها و ارسال داده ها |
Connected to a MCU pin and gets either 0 or 1. به میکروکنترلر متصل شده و فقط مقدار صفر و یک میگیرد 0 -> Command Mode دستورات در این حالت فرستاده میشوند 1-> Data Mode دیتاها در این حالت فرستاده میشوند |
5 |
Pin 5 |
Read/Write |
Control Pin پین کنترل |
Toggles the LCD between Read/Write Operation انتخاب بین حالت خواندن یا نوشتن بر روی ال سی دی |
Connected to a MCU pin and gets either 0 or 1. به میکروکنترلر متصل شده و فقط مقدار صفر و یا یک میگیرد 0 -> Write Operation در این حالت نوشتن تنظیم میشود 1-> Read Operation در این حالت خواندن تنظیم میشود |
6 |
Pin 6 |
Enable |
Control Pin پین کنترل |
Must be held high to perform Read/Write Operation
باید در حالت High قرار بگیرد تاداده های RWرا پردازش کند |
Connected to MCU and always held high. به میکرو کنترلر متصل شده و فقط در حالت بالا نگه داشته شده.(در پایین توضیح داده میشود) |
7 |
Pin 7-14 |
Data Bits (0-7)
|
Data Command Pin پین دستورات و دیتا |
Pins used to send Command or data to the LCD پین ارسال دستورات و داده ها به ال سی دی هستند |
In 4-Wire Mode Only 4 pins (0-3) is connected to MCU در حالت ۴ بیتی قرار میگیرد یعنی فقط ۴ پین به میکروکنترلر متصل میشوند In 8-Wire Mode All 8 pins(0-7) are connected to MCU در حالت ۸ بیتی قرار میگیرد یعنی هر ۸ پین به میکروکنترلر متصل میشوند |
8 |
Pin 15 |
LED Positive ال ای دی آنود |
LED Pin پین ال ای دی |
Normal LED like operation to illuminate the LCD ال ای دی پشت ال سی دی این پین به پایه ی مثبت متصل شود |
Connected to +5V به پایه ی مثبت متصل میشود |
9 |
Pin 16 |
LED Negative ال ای دی کاتد |
LED Pin پین ال ای دی |
Normal LED like operation to illuminate the LCD connected with GND. ال ای دی پشت ال سی دی این پین به پایه ی منفی متصل شود |
Connected to ground به پایه ی منفی متصل میشود |
گفتیم که اولین اطلاعاتی ک در مورد ال سی دی به دست می آوریم توسط نام آن است. مثلا ال سی دی 2*16 یعنی ال سی دی ما دارای ۱۶ ستون و ۲ ردیف است. یعنی این ال سی دی میتواند ۳۲ کاراکتر را در خود جای دهد(۳۲=۲*۱۶). هر کدام از این کاراکترها(خانه های مستطیل شکل که یک عدد یا حرف را نمایش میدهد)خود تشکیل شده از ۴۰ عدد پیکسل است یعنی 5 ستون و ۸ ردیف پیکسل که در تصویر زیر مشاهده میکنید.تمام پیکسل های موجود در صفحه نمایش ال سی دی کاراکتری 2*16 تعداد مشخصی است که از حاصل 40×32 به دست می آید یعنی در این نوع ال سی دی ۱۲۸۰ پیکسل وجود دارد.
در صورتی که ما بخواهیم یک کاراکتر را نمایش دهیم باید تمام پیکسل های درون این کاراکتر با یکدیگر کار کنند و در صورتی که بخواهیم یک عبارت نمایش دهیم باید تمام این کاراکترها(و پیکسل هایی که آنها را میسازند)در کنار هم کار کنند.ما با استفاده از این پیکسل ها میتوانیم بینهایت حروف، عبارات ، نوشته و تصویر لوگو و طرح های مخصوص به خود را خلق کنیم. رجوع کنید به ساخت کاراکتر های سفارشی صفحه نمایش ال سی دی
حال فکر کنید با یک میکروکنترلر(مثلا میکروکنترلر Arduino nano) بخواهیم تمامی این داده ها و اطلاعات را از ابتدا یعنی از نحوه ی کار کردن این پیکسل ها بایکدیگر و محل قرارگیری آنها تعریف کردن پین ها و نوع آنها و تمام این موارد بررسی کنیم قطعا کار بسیار سخت میشود اما نگران نباشید! اگر نگاهی به پشت ال سی دی کاراکتری 2*16 بیاندازیم دو دایره ی مشکی را خواهیم دیدکه این وظایف را به خوبی انجام میدهند!
این دو دایره ی مشکی که بر روی ماژول پشتی صفحه ی ال سی دی قرار دارند در واقع آی سی(IC)هایی هستند که به ما برای راه اندازی ال سی دی با میکروکنترلر کمک میکنند.
آی سی HD44780 عملکرد آن دریافت دستورها و داده ها از میکروکنترلر و پردازش این دستورها و داده ها به اطلاعات قابل نمایش بر روی صفحه ی ال سی دی ما است. دانلود دیتاشیت HD44780
همانطور که ملاحظه میکنید ادرس دهی این کاراکتر ها، پیکسل ها و … در این دیتا شیت وجود میباشند.کسانی که به دنبال ایجاد و ساخت کتابخانه ویا نمایش اطلاعات و کدنویسی بدون نیاز به کتابخانه ها هستند تمامی این اطلاعات را نیاز دارند البته کتابخانه های آردوینو کار را برای ما بسیار راحت میکنند! حال بیایید درباره ی حالت های مختلف و آپشن های موجودی که بر روی ال سی دی ما قرار دارد و با استفاده از پین های موجود بر روی ال سی دی کنترل میشوند بحث کنیم:
در دیتاشیت ال سی دی نوشته شده پین های ۱ و ۲(VSS و VDD) که به پایه های مثبت و منفی منبع متصل میشدند.(VSS به پایه ی ۵ ولت و دیگری پایه ی منفی منبع) اما پین های بعدی برای حالت ها و آپشن های مختلف ال سی دی هستند.
PIN 3 یا V0 یا VEE: برای تنظیم کنتراست صفحه ی نمایش است و همانطور که در جدول بالا میبینیم با کم شدن و زیاد شدن ولتاژ کنتراست ال سی دی نیز کم و زیاد میشود به عبارتی این پین به یک پتانسیومتر(مقاومت متغیر)متصل میشود تا بتوانیم با تغییر ولتاژ کنتراست را نیز تغییر دهیم.البته برای تنظیم کنتراست به جای انجام اینکار و استفاده از پتانسیومتر میتوانیم از مدولاسیون پهنای باند هم استفاده کنیم که البته در این مقاله به آن نخواهیم پرداخت(میتوانید رجوع کنید به مبحث PWM)
Pin4 یا پین RS: همانطور که در جدول بالا میبینیم این پین برای تنظیم حالت ارسال دستور و یا طالاعات و داده ها به میکروکنترلر است. و همانطور که در دیتا شیت نوشته شده در حالت Low ما در حال ارسال دستور به میکروکنترلر هستیم و در حالت High در حال ارسال اطلاعات.
pin4 یا RW: این پین برای این است که به میکروکنترلر بگوییم که در حال خواندن اطلاعات و داده ها از ال سی دی هستیم و یا اطلاعات و داده ها را بر روی ال سی دی مینویسیم. در حالت Low در واقع ما در حالت خواتدن دیتا ها از ال سی دی هستیم و در حالت high میتوانیم دستورات خود را بر روی ال سی دی بنویسیم مانند قرار گرفتن Cursor پاک کردن صفحه ی LCD و .. در این حالت بررسی میشوند. از انجایی که IC اکثر ال سی دی ها HD44780U است برای بسیاری از اطلاعات نیاز به دیتا شیت IC HD44780U نیز خواهیم داشت.
.
pin6 یا E :این پین باید در حالت High قرار بگیرد تا دهده ها پردازش شوند یعنی اگر در حالت low قرار بگیرد اهمیتی به عبور دیتاها نخواهد داد.
pin7_14 یا D0 تا D7: ال سی دی میتواند در دو حالت مختلف کار کند حالت ۴ بیتی و حالت ۸ بیتی. در حالت ۴ بیتی ما دیتاها را نیبل به نیبل(nibble) ارسال میکنیم یعنی در دو مرحله، ابتدا نیبل بالایی ارسال میشود و بعد نیبل پایینی اما این کار فقط با ۴ بیت انجام خواهد شد. اما اگر بخواهیم از حالت ۸ بیتی استفاده کنیم تمام ۸ بیت را به صورت مستقیم ارسال خواهیم کرد. از این مبحث نتیجه میگیریم سرعت ارسال اطلاعات در حالت ۸ بیتی بیشتر است اما ما برای فعال کردن حالت ۸ بیتی نیاز به اتصال ۸ سیم به میکروکنترلر داریم و این کار را برای اتصالات ما سخت میکند. حالا اگر متوجه منظور ما نشدید لطفا به مثال زیر دقت کنید.
پیش نیاز : قبل از مطالعه ی بخش زیر مقاله های اعداد دسیمال باینری و هگزادسیمال و آموزش ساخت کاراکتر های سفارشی برای صفحه نمایش ال سی دی را مطالعه کنید.
پین D0 تا D3 در واقع با استفاده از هر کدام از این پین ها یک بیت را ارسال میکنیم. با کمک این 4 پین یک نیبل را ارسال میکنیم. به D0 تا D3 نیبل پایینی میگویند(lower nibble). یک نیبل در واقع ۴ بیت است(نصف ۸ بیت.) از پین D4 تا D7 نیز ۴ پین وجود دارد و با استفاده از هر کدام از این پین ها یک بیت را ارسال میکنیم از پین D4 تا D7 نیبل بالایی نام دارد(Upper nibble). حال فرض کنید ما فقط از ۴ پین استفاده میکنیم (پین D0 تا D3) در این حالت به جای اینکه هر ۸ بیت با یکدیگر ارسال شوند، این ۸ بیت در دو رشته ی ۴ بیتی ارسال میشوند. به تصویر زیر دقت کنید برای مثال کاراکتر B از نیبل پایینی 0010 و نیبل بالایی 0100 تشکیل شده است(یا 4 بیت پایینی و 4 بیت بالایی). در واقع اگر در حالت 8 بیتی بخواهیم این کد را ارسال کنیم تمام کدها در یک مرحله ارسال خواهند شد و در حالت 4 بیتی در دو مرحله. میتوان گفت با تغییر حالت از 8 بیت به 4 بیت تفاوتی در کار ما انجام نمیشود و فقط تفاوت در نحوه ی برنامه نویسی است.
صفحه 14 دیتاشیت ال سی دی Font table
توجه کنید ک در اکثر مواقع از حالت 4 بیتی استفاده میشود.
پین LED A و LED K : همانطور ک در جدول نوشته شده است برای کنترل نور ال سی دی استفاده میشود.
خب حال سوال اینجاست که اطلاعات بالا در کجا به کار ما می آیند؟
همانطور که گفتیم آی سی ها و میکروکنترلر ها نیز دارای دیتاشیت مربوط به خود هستند. ما برای اینکه بدانیم کدام پین بر روی ال سی دی به کدام پین بر روی میکروکنترلر متصل میشود نیاز به دیتاشیت هر دو داریم. پس اولین کارایی اتصال بین پین هاست. اما بعد از این که این اطلاعات را تطبیق دادیم و اتصالات انجام شد میرسیم به اطلاعات مورد نیاز برای کدنویسی صفحه نمایش ال سی دی.
برای اینکه چیزی بر روی صفحه نمایش ال سی دی چاپ شود چندین مرحله باید طی شود تمامی این مراحل یا به طور خلاصه دستورالعملها و کارکرد سخت افزارها برای کدنویس ها و برنامه نویس ها همگی در این دیتاشیت ها نوشته شده است.
اطلاعات و دستورالعمل های موجود در دیتاشیت برای استفاده در کدنویسی:
ابتدا باید به شما بگوییم کتابخانه هایی وجود دارند که بسیار کامل هستند و اگر مطالب زیر را متوجه نشدید اصلا نگران نباشید این کتابخانه ها برای این هستند ک کار همه ی ما را راحت کنند کمتر کسی با وجود این کتابخانه ها کدنویسی کتابخانه ی ال سی دی را خودش انجام میدهد. اما با خواندن مطالب زیر منطق این اتفاقات را متوجه خواهید شد و اگر میخواهید کار خود را راحت تر کنید به آموزش کدنویسی صفحه نمایش ال سی دی با استفاده از کتابخانه ها بروید. تمام کتابخانه های موجود براساس همین دیتاشیت ها شکل گرفته اند.
صفحه 12 دیتاشیت INITIALIZATION SEQUENCE:
همانطور که در تصویر بالا مشاهده میکنید الگوی توالی اولیه در دیتاشیت صفحه 12 موجود است نحوه ی ارسال دستورات ، زمان توقف بعد از هر دستور و… همگی در دیتاشیت موجود میباشد.
حال به تصویر زیرنگاه کنید
صفحه 13 دیتاشیت INSTRUCTION SET:
یکی دیگر از اطلاعات موجود در دیتاشیت برای ما اطلاعات موجود RAM، ROM و آدرس ها و همچنین طرز استفاده از کدها و دستورات موجود در دیتاشیت است که در مقاله ای جداگانه به آنها خواهیم پرداخت.
اگر مطالب فوق را به هر دلیلی (سن ،تجربه ی کم یا ندانستن پیش نیازها)متوجه نشدید و یا علاقه ای به آنها ندارید میتوانید بدون دانستن هر یک از این اطلاعات و با استفاده از کتابخانه های آردوینو کار خود را راحت کنید. اما به یاد داشته باشید که باید در انجام پروژه های خود تمام مراحلی که در مقالات سایت قرار گرفته است را قدم به قدم انجام دهید.
اگر سوالی دارید میتوانید در قسمت زیر برای ما بنویسید :