معرفی و راه اندازی نمایشگر TFT فول کالر 1.28 اینچ دایره ای SPI با آردوینو UNO
این نمایشگر TFT فول کالر 1.28 اینچ دایره ای SPI ، یک نمایشگر جذاب و کاربردی در ساخت انواع پروژه ها از جمله ایستگاه هواشناسی، ربات ها، گام شماری و…است که با اکثر بردهای امبدد از جمله رزبری پای ، رزبری پای پیکو، STM32 و آردوینو امکان راه اندازی را دارد؛ که در این مقاله به معرفی و راه اندازی با برد آردوینو UNO R3 خواهیم پرداخت. پس تا انتهای این مقاله همراه ما باشید تا با این نمایشگر جذاب بیشتر آشنا شوید.
صفحه نمایشOLED چیست؟ LCD یا OLED؟
نمایشگر TFT چیست و مزایای آن نسبت به سایر نمایشگرها چیست؟
نمایشگر TFT(Thin Film Transistor) ، نمایشگر “کریستال مایع ترانزیستوری لایه نازک” نیز گفته می شود، از فناوری ترانزیستور لایه نازک برای بهبود کیفیت هایی مانند کنتراست (Contrast) استفاده می کند. فناوری TFT به این معنی است که از یک ترانزیستور مجزا برای هدایت هر پیکسل استفاده میشود و زمان پاسخدهی سریعتر را ممکن میسازد. همچنین در این نمایشگر، پیکسل ها به صورت افقی عمودی در کنار همدیگر قرار گرفته اند. در واقع صفحه نمایش TFT شفاف تر و روشن تر از نمایشگر LCD معمولی است و نسبت به یک نمایشگر LCD معمولی سریعتر رفرش (refresh) میشود و حرکت ها را روانتر نشان می دهد.
مزایای TFT ها نسبت به سایر نمایشگر ها:
- تصاویر زیبا و پیچیده : همه ماژول های TFT ما نمایشگرهای گرافیکی تمام رنگی هستند. برخلاف نمایشگرهای استاندارد شخصیت تک رنگ ، شما می توانید تصاویر پیچیده ای را برای یک تجربه کاربری تخیلی ایجاد کنید.
- نازک و سبک : اینها ماژول های نمایشگر ایده آل برای دستگاه های دستی ، تجهیزات ارتباطی ، نمایشگرهای اطلاعات و تجهیزات آزمایش و اندازه گیری هستند.
- تک منبع تغذیه : بیشتر TFT ها از یک کنترل کننده یکپارچه با ولتاژ داخلی استفاده می کنند بنابراین فقط برای منبع تغذیه پنل و هم ولتاژ منطقی فقط یک منبع تغذیه ۳٫۳ ولت مورد نیاز است.
- نور پس زمینه LED : بیشتر TFT ها از LED های سفید برای نور پس زمینه نمایشگر استفاده می کنند. نور پس زمینه برخی از LCD های TFT به اندازه کافی روشن است که در زیر نور خورشید قابل خواندن است.
برای مشاهده انواع نمایشگر های TFT کلیک کنید.
نمایشگر TFT فول کالر 1.28 اینچ دایره ای SPI با درایور GC9A01
یک ماژول نمایشگر با رزولوشن 240 × 240 با کیفیت HD بوده و دارای طیف رنگی RGB و 65k رنگ میباشد. در درون این نمایشگر یک کنترل کننده تعبیه شده است و برای برقراری ارتباط از یک رابط SPI استفاده میکند، همچنین ولتاژ پیشنهادی این ماژول 3.3 ولت DC است.
این نمایشگر یک صفحه 1.28 اینچی با قطر دایرهای است که توانایی نمایش رنگهای کامل را دارد. از طریق رابط SPI با میکروکنترلر یا سایر دستگاهها ارتباط برقرار میکند و میتواند برای نمایش اطلاعات گرافیکی، عنوانها، نوشتهها و تصاویر کوچک استفاده شود.برای مشاهده مشخصات دقیق این نمایشگر در فروشگاه کلیک کنید.
کاربردهای نمایشگر TFT فول کالر 1.28 اینچ دایره ای SPI با درایور GC9A01:
این نمایشگر کاربردهای بسیاری در انواع پروژه ها و نرم افزارها برای نمایش مقدار مانند گام شمار، سنجش دما، فشار یا ساخت ربات ها و… کاربرد دارد.چند مورد دیگر از کاربرد این نمایشگر عبارتند از :
- ابزارک ها و نمونه های اولیه DIY
- ایستگاه هواشناسی: نمایش اطلاعات آب و هوا در زمان واقعی
- Mini Game Console: طراحی بازی های ساده با گرافیک رنگارنگ
- تایمر شمارش معکوس
- گام شمار
- طراحی صفحه ساعت سفارشی یا جلوه های بصری منحصر به فرد
- لوازم هوشمند IOT
- تجهیزات کنترلی
تا اینجا به شناخت مشخصی از این نمایشگر رسیدیم و دید کلی از کاربرد این نمایشگر داریم، اما چگونه این نمایشگر را راه اندازی کنیم؟!
اول از همه همانطور که در ابتدای مقاله اشاره کردیم، این نمایشگر امکان راه اندازی و برنامه نویسی با بردهای امبدد از جمله Arduino ، Raspberry pi ، ESP32، STM32 و سری رزبری های Pico و Pico W و…را دارد.ما در این مقاله با آردوینو UNO راه اندازی خواهیم کرد.
وقتی به شماتیک و پین های نمایشگر TFT نگاه میکنیم ، 8 پین طبق جدول زیر خواهیم دید.
شاید برای شما سوال باشد که با توجه به دایره بودن صفحه نمایش، اولین پیکسل کدام نقطه است؟ چگونه مختصات را تعیین کنیم؟
در واقع، شما می توانید باید فرض کنید که یک صفحه مربع در یک دایره محاط شده است و ما فقط محتوا را در این دایره محاطی نشان می دهیم و پیکسل های کنار مربع حذف می شوند. همین امر برای اکثرLCDهای دایره ای موجود در بازار صادق است.
پروتکل ارتباطی:
RESX: تنظیم مجدد، زمانی که ماژول روشن می شود پایین می آید و معمولاً روی 1 تنظیم می شود.
CSX: انتخاب تراشه slave و تراشه فقط زمانی فعال می شوند که CS کم باشد.
D/CX: پین کنترل داده/فرمان تراشه، دستور نوشتن در زمانی که DC = 0 است، نوشتن داده در زمانی که DC = 1 است.
SDA: داده های ارسال شده، یعنی داده های RGB.
SCL: ساعت ارتباطی SPI.
برای ارتباط SPI، داده ها با زمان بندی منتقل می شوند، یعنی ترکیب فاز ساعت (CPHA) و قطبیت ساعت (CPOL):
سطح CPHA تعیین می کند که آیا داده های ساعت همگام سازی سریال در لبه انتقال ساعت اول یا لبه انتقال ساعت دوم جمع آوری می شود. هنگامی که CPHA = 0، اکتساب داده ها در اولین لبه انتقال انجام می شود.
سطح CPOL سطح حالت بیکار ساعت همزمان سریال را تعیین می کند. CPOL = 0 که سطح پایینی است.
همانطور که از شکل مشخص است، زمانی که اولین لبه سقوط SCLK شروع به انتقال داده می کند، داده های 8 بیتی در یک چرخه ساعت با استفاده از SPI0، انتقال بیت به بیت، ابتدا مرتبه بالا و در نهایت مرتبه پایین منتقل می شود.
برای راه اندازی با برد Arduino ابتدا طبق جدول و تصویر زیر، نمایشگر TFT هشت پین خود را به برد آردوینو UNO متصل کنید.
در ادامه با فرض اینکه شما قبلا نرم افزار مربوط به راه اندازی آردوینو (IDE) را نصب کردید و آماده دارید، ادامه خواهیم داد.
برای راه اندازی این ماژول با آردوینو،ابتدا آردوینو را با نگه داشتن دگمه بوت به سیستم وصل میکنیم و بعد از شناسایی برد توسط سیستم و شناسایی پین اتصال در نرم افزار IDE وارد سایت waveshare.com شده و مدل ماژول نمایشگر TFT را جستجو میکنیم. لینک مستقیم نمایشگر فول کالر TFT
بعد از باز کردن لینک، راه اندازی این نمایشگر با رزبری پای، stm32 و آردوینو و همچنین کدهای راه اندازی نمونه را خواهید دید. پوشه کدهای نمونه برای راه اندازی با انواع بردها را با دانلود فایل زیر خواهید دید.
فایل راه اندازی نمایشگر TFT 1.28 اینچ دایره ای SPI
بعد از دانلود فایل و خارج کردن آن از حالت زیپ مراحل زیر را طی کنید.
سپس فایل آردوینو (INO FILE) را باز کنید.
بعد از باز کردن فایل در IDE تصویر زیر را مشاهده خواهید کرد.
توضیحات برنامه:
LCD_Driver.cpp(.h): درایور صفحه نمایش LCD است؛
DEV_Config.cpp(.h): تعریف رابط سختافزاری است که سطوح پینهای خواندن و نوشتن، انتقال دادههای SPI و مقداردهی اولیه پین را در بر میگیرد؛
font8.cpp، font12.cpp، font16.cpp، font20.cpp، font24.cpp، font24CN.cpp، fonts.h: قلمها برای اندازههای مختلف کاراکترها هستند؛
image.cpp(.h): دادههای تصویر، که توسط Img2Lcd میتواند هر تصویر BMP را به آرایه تصویر رنگی واقعی 16 بیتی تبدیل کرده و قابل بارگیری در دادههای توسعه است؛ برنامه به رابط سختافزاری لایه پایین، درایور صفحه نمایش LCD لایه میانی و برنامه لایه بالا تقسیم شده است.
در واقع با این کدها که شامل درایور LCD ، تعریف فونت های نمایش ، عکس برای نمایش و… میباشد، کاملا قابل ویرایش بوده و میتوانید با تغییر کدها هرچه را که میخواهید نمایشگر TFT شما نمایش دهد را برنامه ریزی کنید.
سلام
متاسفانه اموزش کامل نیست
برای مدل با pcb مربعی روی اردوینو در اینترنت هم پیدا نکردم چیزی و پین ها متفاوت هست
سلام دوست عزیز این اموزش راه اندازی TFT دایره ای هست و کارکرد پین ها یکسانه فقط توسط بعضی سازنده ها از مخفف های دیگه ای استفاده شده مثلا BLK , BL هردو نور پس زمینه اس یا RES , RST با هر دو نوع نوشتاری یعنی RESET
بله این مشخص هست اما در مدل pcb مربعی که از خود eca خریداری کردم
دو پین متفاوت از این آموزش هست
SDA
SCL
اما در این آموزش
DIN
CLK
هست
اینجا باید sda بجای din و scl بجای کلاک متصل کنم ؟
بعضی نمایشگرها با SPI راه اندزای می شوند بعضی ها با I2C
ماژول شما I2C است