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

راه اندازی و کار با نمایشگر LCD TFT با درایور ST7735 برد ESP و آردوینو

نوشته شده توسط معین صابری

یکی از مهم ترین ابزارها در طراحی سیستم های مختلف، نمایشگرها هستند. به کمک نمایشگر شما می توانید خروجی ها را به کاربر نمایش دهید. از آنجاییکه وجود یک واسط کاربری کاربرپسند امری حائز اهمیت در طراحی سیستم ها به شمار می رود، لذا استفاده از نمایشگرهای TFTبا قابلیت تولید رنگ ها و ترسیم اشکال مختلف بسیاری کاربردی خواهد بود. نمایشگر TFT با اندازه ۱٫۸ اینچ ST7735، یک نمایشگر فوق العاده کاربردی  جهت تعامل با کاربر است. این نمایشگر که از سوکت کارت SD نیز بهره می برد، قادر است تا به ترسیم نمودار، نمایش متن در رنگ و اندازهای مختلف و حتی نمایش فیلم و عکس بپردازد. در این آموزش به راه اندازی اولیه و تست این نمایشگر با برد آردوینو UNO و ماژول ESP8266-12E خواهیم پرداخت. در ادامه با مرجع تخصصی آردوینو به زبان فارسی ، دیجی اسپارک همراه باشید.

 


ماژول نمایشگر TFT با درایور ST7735


ماژول نمایشگر ST7735، یک نمایشگر فوق العاده کاربردی جهت نمایش داده و تعامل با کاربر است. به کمک این نمایشگر می توان به سادگی به نمایش متن، ترسیم اشکال هندسی و نمایش فیلم و عکس پرداخت. این نمایشگر که از پروتکل SPI پشتیبانی می کند، می تواند به سادگی با میکروکنترلرها ارتباط برقرار نماید. به لطف توسعه کتابخانه تحت آردوینو، این نمایشگر به سادگی و در کوتاهترین زمان ممکن با بردهای آردوینو، ESP8266 و ESP32 راه اندازی می شود.

Set up and work with TFT LCD monitor with ST7735 driver

 

از دیگر مزایای این نمایشگر می توان به  سوکت کارت SD بر روی آن اساره نمود. بدین ترتیب به سادگی می توانید بر روی آن داده ذخیره کرده و یا داده های آن را بخوانید. این مورد برای افزایش حافظه و عدم اشغال حافظه میکورکنترلر جهت نمایش داده های حجیم نظیر عکس ها بسیار مناسب است.

 


برد آردوینو UNO


 برد آردوینو UNO یک برد پردازشی جهت تست نمونه اولیه و یا ساخت محصول نهایی است. این برد راه اندازی، اجرا و کار با میکروکنترلرها را بسیار ساده و سریع می کند. بدین ترتیب روند توسعه بسیار تسریع خواهد یافت. وجود کریستال خارجی برای میکروکنترلر AVR-ATMEGA328P، خازن های صافی، رگولاتور ۵ و ۳٫۳، و بسیار امکان دیگر کار با این برد را بسیار ساده می نماید.

Set up and work with TFT LCD monitor with ST7735 driver دیجی اسپارک

 

برنامه نویسی بردهای آردوینو تحت زبان خاص این بردها صورت می گیرد. این زبان که مبتنی بر زبان شی گرای C++ است، به طور کامل از دستورات C++ پشتیبانی می کند. وجود کتابخانه های متعدد برای سنسورها و نمایشگرها و جامعه کاربری فعال و قوی، این برد و به طور کلی این پلتفرم را به یکی از انتخاب های مهم در طراحی و توسعه پروژه های سخت افزاری تبدیل می کند.

 


ماژول وای فای ESP8266-12E


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

Set up and work with TFT LCD monitor with ST7735 driver

ماژول های وای فای سری ESP، علاوه بر قابلیت اتصال به اینترنت، توانایی پروگرام شدن توسط نرم افزار و دستورات آردوینو را نیز دارند. بدین ترتیب جهت راه اندازی یک پروژه برای اتصال به اینترنت، نیازی به میکروکنترلر اضافه نیست. این ماژول ها دارای حافظه فلش ۴ مگابایتی و فرکانس کلاک تا ۱۶۰ مگاهرتز را دارا هستند. از طرفی دیگر جهت برنامه نویسی این ماژول ها به سادگی و بدون نیاز به یادگیری تکنولوژی جدید و صرفا از طریق دستورات آردوینو، می توانید این ماژول ها را پروگرام نمایید. در این آموزش ما علاوه بر برد آردوینو UNO،  از برد ESP8266-12E جهت راه اندازی نمایشگر TFT با درایور ST7735 استفاده خواهیم کرد. جهت راه اندازی و کار با ماژول ESP8266-12E، آموزش آن را باکلیک بر روی این لینک می توانید مطالعه نمایید.

 


نصب کتابخانه نمایشگر ST7735


جهت راه اندازی و کار با ماژول نمایشگر ST7735، ابتدا می بایست کتابخانه آن را نصب کنیم. در روش دستی، پس از دانلود فایل های کتابخانه، می بایست آن را در مسیر نصب آردویینو قرار دهید. اما در روش خودکار، تنها با تایپ نام کتابخانه در قسمت مدیریت کتابخانه ها، کتابخانه مورد نظر به صورت خودکار در مخازن آردوینو جستجو شده و پس از یافتن آن، نصب خواهد شد. به همین منظور، ابتدا در نرم افزار آردوینو، بر روی گزینه Tools و سپس Manage Libraries کلید کنید. با کلیک بر روی گزینه Manage Libraries، می توانید وضعیت کتابخانه های نصب شده و لیستی از کتابخانه های جدید و بروز را مشاهده کنید. این مورد در تصویر زیر، قابل مشاهده است.

 

مطابق فلش قرمز رنگ تصویر فوق، در کادر جستجو، با تایپ نام کتابخانه، می توان آن را یافته و سپس نصب نمود. در اینجا ما عبارت “Adafruit_ST7735” را تایپ می کنیم. پس از چند لحظه، کتابخانه مورد نظر به شکل تصویر زیر، به نمایش در می آید. با کلیک بر روی گزینه install، این کتابخانه را نصب نمایید.

توجه: ورژن کتابخانه مورد استفاده در این آموزش، ۱٫۷٫۰ است.

 


شماتیک و اتصالات برای آردوینو UNO


در این قسمت به بررسی شماتیک و اتصالات برای برد آردوینو UNO می پردازیم. تصویر زیر شمای کلی از اتصالات مدار را نمایش می دهد.

Set up and work with TFT LCD monitor with ST7735 driver

 

در ادامه، جهت برقراری ارتباط بین آردوینو UNO و نمایشگر، اتصالات را به شیوه زیر در پیش بگیرید.

نمایشگر TFT آردوینو
LED ۳٫۳V
SCK ۱۳
SDA ۱۱
AO ۸
RESET ۹
CS ۱۰
GND GND
VCC ۵V

 

 

پس از این مرحله، نوبت به سیم کشی های نمایشگر با ماژول ESP8266 می رسد. به همین منظور اتصالات را به شیوه زیر بین ماژول ESP و نمایشگر انجام دهید.

نمایشگر TFT ماژول ESP8266
LED ۳٫۳V
SCK ۱۴
SDA ۱۳
AO ۲
RESET ۳٫۳V
CS ۱۵
GND GND
VCC ۳٫۳V

 

 


کدهای پروژه برای آردوینو


 در این قسمت کدهای پروژه برای برد آردوینو مشاهده می شود. برای این موضوع، در منوی Tools->Boards برد آردوینو UNO را انتخاب کرده و سپس کدهای زیر را بر روی آن آپلود نمایید.

#include <Adafruit_ST7735.h> // فراخوانی کتابخانه نمایشگر TFT
#include <SPI.h>
// UNO تنظیمات پایه ها برای آردوینو
#define TFT_CS        10
#define TFT_RST        9
#define TFT_DC         8
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
float p = 3.1415926;

void setup(void) {
  Serial.begin(9600);
  Serial.print(F("Hello! ST77xx TFT Test"));
  tft.initR(INITR_BLACKTAB);      // راه اندازی چیپ

  Serial.println(F("Initialized"));
  uint16_t time = millis();
  tft.fillScreen(ST77XX_BLACK);
  tft.setRotation(1);
  tft.setTextSize(2);
  tft.setCursor(0, 50);
  tft.print("DIGISPARK.IR");
}

void loop() {

}

 

پس از آپلود کدها بر روی آردوینو، نوبت به آپلود کدها بر روی ESP8266 می رسد. بنابراین در منوی Tools->Board گزینه eso8266 را انتخاب کرده و کدهای زیر آپلود نمایید.

//#include <Adafruit_GFX.h>    // فراخوانی کتابخانه گرافیک
#include <Adafruit_ST7735.h> // فراخوانی کتابخانه نمایشگر TFT
#include <SPI.h>
//تنظیمات پایه ها جهت استفاده در NODEMCU
#define TFT_CS        15
#define TFT_RST        0
#define TFT_DC         2
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);  //راه اندازی اولیه
///SDA=13
//AO=GPIO2

void setup(void) {
   Serial.begin(9600);
  Serial.print(F("Hello! ST77xx TFT Test"));
  tft.initR(INITR_BLACKTAB);      // راه اندازی چیپ
  Serial.println(F("Initialized"));
  uint16_t time = millis();
  tft.fillScreen(ST77XX_BLACK);
  tft.setRotation(1);
  tft.setTextSize(2);
  tft.setCursor(10, 50);
  tft.print("DIGISPARK.IR");  //نمایش متن
}

void loop() {
}

 

 


اجرای پروژه


 در این قسمت به اجرای پروژه می پردازیم. در ابتدا پس از برقراری اتصالات و اجرای پروژه، با تصویر زیر در برای برد آردوینو مواجه می شوید.

Set up and work with TFT LCD monitor with ST7735 driver

 

در نهایت با اجرای برنامه بر روی ESP8266، تصویر زیر را مشاهده خواهید نمود.

Set up and work with TFT LCD monitor with ST7735 driver

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

 


لوازم مورد نیاز آموزش


برد آردوینو UNO

ماژول وای فای ESP8266

نمایشگر TFT با درایور ST7735

 


جمع بندی


در این آموزش به بررسی راه اندازی و کار با نمایشگر TFT با درایور ST7735 به کمک بردهای آردوینو UNO و ماژول وای فای ESP8266 پرداختیم. این نمایشگر به سادگی با بردهای آردوینو و ESP راه اندازی شده و قادر به نمایش متن در رنگ های مختلف، ترسیم اشکال هندسی و نمودارهای مختلف و نمایش عکس و فیلم است. راه اندازی و کار با این نمایشگر به لطف وجود کتابخانه قدرتمند، بسیار ساده بوده که در این آموزش به آن پرداخته شد. با توجه به قابلیت های کلیدی این نمایشگر، در آینده پروژه های بسیاری را با این نمایشگر در دست اقدام قرار خواهیم داد.

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۶ دیدگاه

  • سلام مهندس
    میشه روی برد اردوینو سیستم عامل هم نصب کرد ؟ مثل سیستم عامل جاوا
    که بشه روی اردوینو برنامه و بازی نصب کرد ؟
    و اینکه ایا میشه با استفاده از شیلد نمایشگر لمسی اردوینو و ماژول سیم‌کارت یه موبایل لمسی ساده درست کرد ؟
    یعنی باهاش پیام ارسال و دریافت کرد و تماس بگیریم و همچنین بشه با قرار دادن کارت حافظه درون شیلد نمایشگر لمسی بشه باهاش عکس و فیلم دید

    • سلام
      بر روی برد آردوینو می توان سیستم عامل نصب کرد، اما سیستم عامل های خیلی پایه های با توان پردازشی ضعیف
      بردها اردوینو مثل mega و uno حافظه کم و توان پردازشی پایینی(فرکانس پایین پردازنده) دارند. این کارها بر روی آن ها قابلیت اجرا ندارد. برای این موارد برد رزبری مناسب است. اما می توان صفحات گرافیکی و تاچ با بردهای نظیر تینسی و رزبری پیکو اجرا کرد. آموزش های زیر را می توانید در رابطه با این بردها مطالعه کنید.
      ساخت مدیا پلیر با تینسی
      لینک آموزش راه اندازی و کار با برد رزبری پیکو، کلیک کنید

  • سلام آیا برای درایو این نمایشگر با اردیونو نیازی به استفاده از مقاومت برای پین های دیتا نیست؟

    • سلام
      خیر احتیاجی نیست. به نظر می رسد به صورت داخلی دارای پول آپ است(اگر اپن کلکتور باشد!)

      • با تشکر بدون هیچ مشکلی روی اردوینو نانو و uno کار کرد ولی هر کاری میکنم روی mega2560 تصویر سفید هستش امکانش هست که پین اوت مربوط به اردوینو mega 2560 رو هم بگید؟ نمایشگر من دقیقا همین هستش که در بالا استفاده شده و از دانشجو کیت خریداری کردم
        باتشکر

  • سلام و عرض ادب
    من یک نمایشگر با آردیونو نانو راه اندازی کردم ولی سرعت نمایش هر تصویر تقریبا ۵ ثانیه است آیا راهکاری وجود دارد که سرعت نمایش افزایش پیدا کند ؟

  • سپاسگزارم
    یه سوال دیگه اینکه وقتی نمایشگر با درایور دیگه ای استفاده میکنیم کل برنامه تغییر میکنه یا فقط کتابخونه رو عوض کنیم درست میشه؟

    • خواهش می کنم
      طبعا کتابخانه باید تغییر کند، احتمالا بعضی توابع هم تغییر کنند ولی معمولا توابع یکسان هستند.

  • چطور میتوان تصویر دوربین را در نمایشگر با esp8266 یا esp32 نمایش داد؟ کتابخانه خاصی وجود دارد؟ صفحه نمایش ها میتوانند ۳۰ فریم در ثانیه رفرش شوند؟

  • می‌دانم نیت‌تان خیر است و هدفتان ارتقای دانش است. اما اینگونه کدها که مربوط به تست می‌باشد در بخشِ Examples که سازنده‌های لایبری ارائه میدهد به فوور موجود است. مهم یاد دادنِ این است که چگونه بشود از این ابزارها استفاده عملی و کاربردی کرد. این را هم میدانم که کدهای کاربردی برای کسانیکه اشتراک پریمیوم خریداری کرده‌اند موجود است. اما یک فرهنگ بدی که ما ایرانی‌ها داریم این است که برای دانش و هنر خرج نمی‌کنیم. چیزهای یادگرفتنی را دوست داریم رایگان بدست بیاوریم. فقط یاد گرفته‌ایم برای کالاهای لمس کردنی پول بدهیم. مثلن برای اکثر مردم کشورمان عجیب است که برای یک آلبوم موسیقی باید پول داد. آلبومی که آرتیستِ آن سالها وقت و هزینه صرف کرده برای تولیدش. یا عجیب است که در دنیای اینترنت برای یادگیری یک چیزی باید هزینه داد به آن آموزش دهنده.

    • با سلام
      سپاس از همراهی شما، اگر آموزشی توسط کدهای example کتابخانه ها تهیه شده باشد، ضمن ارایه توضیحات فارسی، آن آموزش رایگان خواهد بود. اما پروژه ها و آموزشهایی که توسط تیم دیجی اسپارک کدنویسی شده اند، دارای حالت اشتراکی خواهند بود.

      شاد و پیروز باشید.