TFT مخفف “Thin Film Transistor” است. صفحه نمایش TFT LCD رنگی، دارای ترانزیستورهایی است که از فیلمهای نازک سیلیکون آمورف روی شیشه رسوب کرده اند. این به عنوان یک شیر کنترل برای ایجاد ولتاژ مناسب بر روی کریستال های مایع برای زیر پیکسل های جداگانه عمل می کند. به همین دلیل صفحه نمایش TFT LCD را نمایشگر Active Matrix نیز می نامند. نمایشگرهای TFT همگی دارای درجه صنعتی بوده و برای کاربردهایی مانند ترمینال های فضای باز، اتومات پارکینگ، دستگاه POS، اتوماسیون، کیوسک پرداخت، تجهیزات پزشکی و موارد دیگر قابل استفاده هستند. در ادامه آموزش و تحلیل کتابخانه TFT.h با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
نصب کتابخانه
ابتدا در نرم افزار Arduino IDE اقدام به نصب کتابخانه TFT.h خواهیمکرد. مراحل زیر را دنبال کنید:
- این مسیر را دنبال کنید Sketch > Include Library > Manage Libraries
- کلمه TFT را جستجو کنید.
- کتابخانه را نصب کنید.
اتصالات در برد های مختلف
برد را می توان به دو روش برای استفاده پیکربندی کرد. یکی استفاده از رابط سخت افزاری Arduino SPI است. دیگر این که همه پین ها را به صورت دستی تنظیم کنید. هیچ تفاوتی در عملکرد صفحه نمایش بین این دو روش وجود ندارد، اما استفاده از SPI سخت افزار به طور قابل توجهی سریعتر است. اگر قصد استفاده از کارت SD در ماژول TFT را دارید، باید از SPI سخت افزاری استفاده کنید. تمام نمونه های موجود در کتابخانه برای استفاده از SPI سخت افزار نوشته شده اند. اگر از SPI سخت افزاری با Uno استفاده می کنید ، فقط باید پین های CS ،DC و RESET را تنظیم کنید، زیرا MOSI (پایه ۱۱) و SCLK (پایه ۱۳) قبلا تعریف شده اند.
#define CS 10 #define DC 9 #define RESET 8 TFT myScreen = TFT(CS, DC, RESET);
- برای استفاده از SPI سخت افزاری با Leonardo، پین ها را به این صورت اعلام می کنید:
#define CS 7 #define DC 0 #define RESET 1 TFT myScreen = TFT(CS, DC, RESET);
- هنگام استفاده از SPI سخت افزاری، می توانید از هر پین موجود استفاده کنید، اما باید علاوه بر CD ،DC و RESET پین های MOSI و SCLK را نیز اعلام کنید.
#define SCLK 4 #define MOSI 5 #define CS 6 #define DC 7 #define RESET 8 TFT myScreen = TFT(CS, DC, MOSI, SCLK, RESET);
مستندات عملکرد اعضا کتابخانه
- ;()TFT
- cs : پین برای انتخاب تراشه
- dc : پین مورد استفاده
- rst : پین مورد استفاده برای ریست
- mosi : پین مورد استفاده برای MOSI برای زمانی که از ارتباط SPI استفاده نمیکنیم
- sclk : پین مورد استفاده برای کلاک در زمان استفاده نکردن از SPI
TFT(cs, dc, rst); //برای استفاده از SPI سخت افزاری TFT(cs, dc, mosi, sclk, rst); //برای استفاده از تمام پین ها TFT screen = TFT(cs, dc, rst);
- ;()begin
screen.begin();
- ;()screen.background
screen.background(255,255,255);
- ;()stroke
قبل از ترسیم شی بر روی صفحه، این تابع رنگ خطوط و حاشیه اشکال را تنظیم می کند. stroke برای هر کانال قرمز، سبز و آبی مقادیر ۸ بیتی را انتظار دارد، اما برد با این فرض نمایش داده نمی شود. مقادیر قرمز و آبی به رنگ ۵ بیتی (۳۲) و سبز با رنگ ۶ بیتی (۶۴) مقیاس بندی می شوند.
screen.stroke(255,255,255);
- ;()fill
screen.fill(255,255,255);
- ;()text
متن را در مختصات داده شده روی صفحه نمایش میدهد.
screen.text("Testing!", 0, 0);
- ;()setTextSize
screen.setTextSize(5);
- ;()point
screen.point(screen.width()/2, screen.height()/2);
- ;()line
screen.line(0, 0, 160, 124);
- ;()rect
screen.rect(screen.width()/2-5, screen.height()/2-5, 10, 10);
- ;()circle
screen.circle(screen.width()/2, screen.height()/2, 10);
- ;()image
PImage logo; void setup() { EsploraTFT.begin(); SD.begin(SD_CS); EsploraTFT.background(0, 0, 0); logo = EsploraTFT.loadImage("arduino.bmp"); if (logo.isValid()) { Esplora.writeGreen(255); } else{ Esplora.writeRed(255); } EsploraTFT.image(logo, 0, 0); }
جمع بندی
دو گروه مثال برای TFT وجود دارد. نمونه هایی مختص Arduino Esplora وجود دارد و نمونه هایی برای برد هایی مانند Uno یا Leonardo طراحی شده اند. که ترجمه آنها از کتابخانه به کتابخانه و عملکرد آن آسان است. به کمک این LCD های پرکاربرد قادر خواهید بود در پروژه های مختلفی که نیاز به نمایش اشکال و یا تصاویر مختلف دارید استفاده کنید. این LCD ها همچنین در ساخت منو های کاربردی برای کنترل در پروژه ها کاربرد دارد. تمام رنگ بودن این LCD از عوامل پرطرفدار بودن آنهاست که در پروژه های مختلف با سناریو های مختلف استفاده میشود.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.