کتابخانه نمایشگر TFT 3.5 رنگی
این کتابخانه یک پیادهسازی سبک (Lightweight) و بهینهسازی شده از کتابخانه اصلی نمایشگرهای TFT 3.5 اینچ است که برای محیطهای آردوینو و طیف گستردهای از میکروکنترلرها توسعه یافته است.
- سادگی در پیادهسازی: ارائه توابعی ساده برای ترسیم اشکال هندسی مختلف.
- مدیریت رویدادها (Event Handling): امکان تعریف قابلیت کلیک بر روی اشیاء (Objects) بدون نیاز به محاسبه دستی مختصات برخورد (Collision Detection).
- بهینهسازی منابع: کاهش پیچیدگی کد برای دستیابی به سرعت اجرای بالاتر در سیستمهای Embedded.
فراخوانی کتابخانه :
#include <Arduino.h>
#include <SPI.h>
#include <TFT_eSPI.h>
#include <XPT2046_Touchscreen.h>
#include <tfUI.h>
#include <pgmspace.h>
تعریف پین های نمایشگر :
#define TFT_CS 5
#define TFT_DC 2
#define TFT_RST 4
#define TOUCH_CS 15
#define TOUCH_IRQ 21
تعریف شی SPI و tfUI :
XPT2046_Touchscreen ts(TOUCH_CS);
TFT_eSPI tft = TFT_eSPI();
تعریف اشکال مختلف :
tf::RoundedRect NAME = tf::makeRounded(tft, WIDTH, HEIGHT, BORDER_RADIUS); //roundedrect تعریف
tf::Rect NAME = tf::makeRect(tft, WIDTH, HEIGHT); //تعریف مستطیل
tf::Circle NAME = tf::makeCircle(tft, RADIUS); //تعریف دایره
tf::Text NAME = tf::makeText(tft, SIZE); //تعریف متن
تعریف عکس(کد hex)
const uint16_t IMAGE_HEX[SIZE] PROGMEM = {
0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,
0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,
0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,
0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FD5,0x0F74,0x0FF5,0x0FF5,
0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,
0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0FF5,0x0...
};
tf::ImageHEX NAME(tft, IMAGE_HEX, WIDTH, HEIGHT);
تنظیمات اشکال :
NAME.setPosition(X,Y); //تعیین موقعیت
NAME.setFillColor(COLOR); //رنگ داخل شکل
NAME.setOutlineColor(COLOR); //رنگ دور شکل
NAME.setOutlineThickness(SIZE); //ضخامت دور شکل
NAME.setVisible(BOOL); //وضعیت مشاهده
NAME.draw(); //رسم شکل
NAME.clear(); //پاک کردن شکل
تعریف رنگ :
#define NAME tft.color565(R, G, B) // 0 <= R,G,B <= 255
تنظیمات متن :
NAME.setPosition(X,Y); //تعیین موقعیت
NAME.setbgColor(COLOR); //رنگ پس زمینه
NAME.setColor(COLOR); //رنگ متن
NAME.setString(STRING); //متن عنصر
NAME.setText(STRING); //به روز رسانی متن عنصر
NAME.setVisible(BOOL); //حالت نمایش
NAME.draw(); //رسم متن
NAME.clear(); //پاک کردن متن
تنظیمات عکس :
NAME.setPosition(X,Y); //تعیین موقعیت
NAME.setVisible(BOOL); //حالت نمایش
NAME.clear(); //پاک کردن از صفحه
NAME.draw(); //رسم تصویر
برسی کلیک روی عنصر :
NAME.isClicked(ts) //اگر کلیک شده باشد 1 اگر نه 0
//مثال:
if(NAME.isClicked(ts))
Serial.print("clicked!");
else
Serial.print("notclicked");
دانلود فایل ZIP کتابخانه