راه اندازی نمایشگر ILI9486 با ESP8266 در آردوینو

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

ساخت میکروکنترلرهای 32 بیتی با فرکانس 400 Mhz یا بالاتر با حافظه برنامه چند مگابایتی و رم چند صد کیلویی و وجود تعداد زیادی از امکانات جانبی باعث افزایش سطح انتظار کاربران برای داشتن یک دستگاه با رابط کاربری زیبا و کارامد بیشتر از گذشته شده است.

لذا استفاده از نمایشگر TFT در بسیاری از پروژه ها حیاتی شده است و از ان مهمتر ساخت یک  User Interface کارامد توسط طراح می باشد ولی نوشتن برنامه درایور نمایشگر (پایین ترین لایه نرم افزاری برای ارتباط میکروکنترلر با نمایشگر , تنظیم رجیسترهای چیپ کنترلر , ارسال دیتا و دستورات کنترلی و…) و توابع رسم اشکال گرافیکی و ساخت فونت برای نمایش متن روی نمایشگر کاری بسیار وقت گیر و پر زحمت می باشد.

راه حل استفاده از کتابخانه های اماده از قبل نوشته شده برای راه اندازی نمایشگر می باشد.

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

در این اموزش ما از ماژول  ESP8266 به نام برد Wemos مدل D1 R1 برای راه اندازی نمایشگر استفاده کرده ایم که در ادامه دلیل این انتخاب را شرح می دهیم :

یکی از دلایلی که استفاده از بردهای اردوینو در راه اندازی نمایشگرهایی با ابعاد بزرگ را سخت می کند پایین بودن فرکانس کاری (حداکثر 16 مگاهرتس) و حافظه رم می باشد.حتی بردی مانند Mega2560 با قیمتی بالا فقط 8 کیلوبایت حافظه رم دارد.

دلایلی که ما از ماژول ESP برای راه اندازی نمایشگر استفاده کرده ایم :

تنوع بردهای ESP در بازار و قیمت مناسب

پشتیبانی نرم افزاری خوب از ماژولهای ESP (از لحاظ تنوع کتابخانه های راه انداز نمایشگر)

دارای فرکانس کاری 80 مگاهرتسی و پردازنده 32 بیتی

دارای حافظه برنامه 4 مگابایتی و حافظه رم 64 کیلوبایتی

 

نمایشگر TFT ما با چیپ کنترلی ILI9486 با رابط SPI و در ابعاد 320 * 480 پیکسل می باشد.

در ادامه پایه هایی از ماژول ESP8266 که باید به نمایشگر متصل شوند را نشان می دهیم :

البته پایه های RST و DC نمایشگر را به هر پایه دیجیتالی دلخواه دیگر ESP می توانید متصل نمایید.

برای راه اندازی نمایشگر ما از کتابخانه TFT_eSPI استفاده کرده ایم که برای پردازنده های 32 بیتی همانند ESP , رسبری پای پیکو و STM بهینه شده است.

برای شروع ابتدا باید کتابخانه فوق را از مخزن اردوینو جستجو و نصب نماییم:

 

سپس عبارت TFT_eSPI را در کادر جستجو کرده و ان را Install می نماییم.

قبل از وارد شدن به برنامه لازم است تغییراتی کوچک روی کتابخانه اعمال نماییم تا نوع نمایشگر و پایه های استفاده شده ما مشخص گردد.برای این منظور توسط یک برنامه Text Editor همانند Visual Studio Code باید فایل User_Setup.h موجود در پوشه TFT_eSPI را باز کنیم.فایل فوق در مسیر نصب کتابخانه های اردوینو در ویندوز واقع شده است :

Documents\Arduino\libraries\TFT_eSPI

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

در اواسط فایل بخش مربوط به ESP8266 را پیدا کرده و در اینجا باید پایه های متصل شده را تنظیم نماییم:

 

نکته : در نمایشگر استفاده شده توسط ما پایه CS وجود ندارد و ما یک پایه بلااستفاده از ماژول ESP را در فایل فوق به ان اختصاص داده ایم.

همچنین نیازی به استفاده از پایه MISO نداشتیم و فقط شماره  GPIOپایه MISO را مشخص کرده ایم.

در صورت نیاز کتابخانه نرم افزاری شما به MISO باید این پایه به میکروکنترلر متصل گردد.

در اختصاص شماره پایه های ماژول ESP ما از شماره GPIO که در زیر برد درج شده است استفاده کرده ایم.

 

برای استفاده از برد WEMOS در اردوینو باید پکیج ESP8266 در اردوینو نصب گردد.

ابتدا باید URL مخزن پکیج فوق را به اردوینو اضافه نماییم برای این منظور از File گزینه Preferences را انتخاب می کنیم و در پنجره باز شده در کادر مشخص شده URL خود را اضافه می کنیم:

URL مورد نظر :

http://arduino.esp8266.com/stable/package_esp8266com_index.json

اگر قبل و بعد از URL ما URL, های دیگری وجود دارد باید بین , یا ; قرار بگیرد تا از دیگر ادرس ها تفکیک شود. بعد از اینکار باید پکیج فوق را نصب کنیم برای این منظور از مسیر زیر Boards Manager را انتخاب می کنیم.

 

و در پنجره باز شده و کادر داخل ان عبارت ESP8266 را جستجو و پکیج ان را نصب می کنیم.

در اینجا کتابخانه های مورد نیاز پروژه را اضافه کردیم حالا برای نوشتن برنامه باید نوع برد خود را تنظیم نماییم:

نوشتن یک برنامه تست:

#include <SPI.h>
#include <TFT_eSPI.h>    

ابتدا باید کتابخانه SPI و TFT_eSPI را فراخوانی نماییم.

TFT_eSPI tft = TFT_eSPI();  

و سپس یک شئی از کلاس TFT_eSPI  می سازیم.

void setup(void) {
  
  tft.init();

در قسمت setup ابتدا نمایشگر را توسط تابع init راه اندازی می نماییم.

  tft.fillScreen(TFT_BLACK);

سپس نمایشگر خود را توسط تابع fillScreen با رنگ دلخواه خود Clear می نماییم.

{


void loop() {

tft.setCursor(50, 50);

تابع setCursor مختصات x و  y ما را برای نمایش متن دریافت می کند.

tft.setTextSize(4);

توسط تابع setTextSize  می توانیم اندازه فونت خود را تعیین کنیم.

 tft.setTextColor(TFT_WHITE);

توسط تابع setTextColor رنگ متن خود را تعیین می کنیم.

  tft.println("Gil Electronic");

نوشتن متن دلخواه خود برای نمایش توسط تابع println

delay(5000);
}

برای دریافت فایل های مورد نیاز بر روی لینک زیر کلیک کنید

دانلود فایل

دیدگاهتان را بنویسید!

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

گیل الکترونیک
سبد خرید
empty basket

هیچ محصولی در سبد خرید نیست.