আমরা Embedded System ডেভেলপমেন্টে কাজ করার সময় IDE এর সিরিয়াল মনিটরের সাহায্যে আউটপুট দেখি। ডেভেলপমেন্টের সময় এটি খুবই সুবিধাজনক—কারণ এতে সহজেই Debugging করা যায় এবং সিস্টেম কীভাবে কাজ করছে তা পর্যবেক্ষণ করা যায়। কিন্তু একটি Complete Real Life প্রোজেক্টের ক্ষেত্রে সিরিয়াল মনিটরের উপর নির্ভর করা মোটেও বাস্তবসম্মত নয়।
এই টিউটরিয়্যালে শুধু ডিসপ্লে নয়, বরং আমরা আজ টাচ-কন্ট্রোল-ডিসপ্লে সম্পর্কে জানবো। যেখানে ডেটা দেখার পাশাপাশি, টাচ-ফিচার ব্যবহার করে তুমি কন্ট্রোলারকে বিভিন্ন ধরণের control signal ও পাঠাতে পারবে।
TFT LCD Display Module 2.8 inch with Touch ডিসপ্লেটিতে একই সাথে Display, Touch এবং SD Card ইন্টারফেসিং সুবিধা রয়েছে। ফলে Real Time Data Logger বা Similar প্রোজেক্টে ডিসপ্লেটি একটি পারফেক্ট সিলেকশন হতে পারে।
Getting Started
ILI9341 নির্ভর এই ২.৮ ইঞ্চির TFT Color LCD Display কে Serial Peripheral Interface (SPI) প্রোটকল ব্যবহার করে নিয়ন্ত্রণ করা যাবে।
Front View:

Bottom View:

কম্পনেন্ট ডেসক্রিপশন
কম্পোনেন্টের নাম |
বর্ণনা |
2.8’ TFT Display |
এটি একটি ছোট কিন্তু রঙিন active-matrix display, যা embedded system, handheld device এবং ছোট user interface-এর জন্য দারুণভাবে জনপ্রিয়। যা Thin-Film Transistor (TFT) প্রযুক্তি নির্ভর হওয়ায়, display-টি visual sharpness, দ্রুত response time এবং চমৎকার color reproduction দিতে সক্ষম। ফলে যেসব প্রজেক্টে সীমিত জায়গায় graphical output দরকার হয়, সেখানে এটি বেশ উপযোগী।
এই display-এর resolution 240 × 320 pixels, যার aspect ratio 4:3—যা text, icon এবং image display করার জন্য একটি balanced layout তৈরি করে। এর RGB interface configuration 18-bit Driver এর জন্য 262k রঙ support করে, যার ফলে color depth এবং gradient অনেক smooth হয়।
|
ILI9341 Display Driver |
ILI9341 হলো একটি জনপ্রিয় এবং শক্তিশালী TFT LCD display driver IC, যার প্রস্তুতকারক Ilitek নামক একটি প্রতিষ্ঠান। ড্রাইভারটি মূলত 240×320 পিক্সেল (QVGA) ডিসপ্লে নিয়ন্ত্রণের জন্য ডিজাইন করা হয়েছে। ড্রাইভার আইসিতে ব্যবহৃত display controller এর মাধ্যমে 2.2″, 2.4″ ও 2.8″ সাইজের কমপ্যাক্ট TFT স্ক্রিনগুলোর জন্য খুব সহজেই ইউজার-ইন্টারফেস তৈরি করা সম্ভব হয়। এটি 18-bit RGB interface-এর মাধ্যমে 262K রঙ সাপোর্ট করে।
ILI9341 বিভিন্ন communication mode সাপোর্ট করে, যেমন 8-/9-/16-/18-bit parallel, 3-/4-wire SPI serial, এবং 6-/16-/18-bit RGB interface, যা একে ESP32, STM32 কিংবা Arduino-এর মতো বিভিন্ন জনপ্রিয় microcontroller-এর সঙ্গে সহজেই ইন্টারফেস করা যায়। এতে রয়েছে 172,800 bytes এর embedded display RAM, যা একটি সম্পূর্ণ QVGA ফ্রেম ধারণ করার জন্য যথেষ্ট। এই চিপটিতে আছে partial display, scrolling এবং tearing effect signal এর মতো ফিচার, যা স্ক্রিন Refresh rate কে আরও স্মুথ করে।
|
XPT2046 Touch Driver |
XPT2046 একটি highly reliable 4-wire resistive touch screen controller IC, যা প্রধানত 2.8-inch TFT LCD মতো compact ডিভাইসে সঠিক touch coordinate detect করার জন্য ডিজাইন করা হয়েছে। এতে 12-bit ADC রয়েছে, যা analog touch signal কে digital X, Y ও pressure (Z) coordinate এ রূপান্তর করে। এর classic SAR (Successive Approximation Register) আর্কিটেকচার capacitive redistribution ভিত্তিক এবং inherent sample-and-hold ফাংশন সম্পন্ন। 0.6μm CMOS process-এ তৈরি এই চিপটি internal 2.5V reference ও external clock ব্যবহার করে, আর 2.7V থেকে 5.25V পাওয়ার সাপ্লাইতে কাজ করে। Reference voltage input range নির্ধারণ করে, যা external low-impedance source দিয়ে override করা যায়।
Analog ইনপুট যেমন X, Y, Z coordinates, battery voltage ও chip temperature multiplexer দিয়ে ADC তে যায়। বিশেষ low on-resistance touch panel driver switch ডিজাইনের মাধ্যমে unselected ADC channel power ও ground সরবরাহ করতে পারে, আর differential input-reference আর্কিটেকচার touch panel driver switch এর on-resistance থেকে error কমায়। XPT2046 SPI interface দিয়ে ESP32, STM32 বা Arduino এর মতো মাইক্রোকন্ট্রোলারের সঙ্গে দ্রুত এবং কম পিনে যোগাযোগ করে। কম power consumption, programmable sample rate এবং internal reference voltage থাকার কারণে এটি efficient এবং low overhead embedded touch input এর জন্য আদর্শ।
|
SD Card Slot |
TFT LCD মডিউলে একটি বিল্ট-ইন SD কার্ড স্লট রয়েছে, যা এক্সটার্নাল স্টোরেজ হিসেবে ব্যবহার করা যায়। এর মাধ্যমে মাইক্রোকন্ট্রোলার বা ডেভেলপমেন্ট বোর্ড সরাসরি SD কার্ড থেকে বড় ফাইল যেমন ছবি, ফন্ট, কনফিগারেশন ডেটা বা ফার্মওয়্যার অ্যাক্সেস করতে পারে, যা onboard ফ্ল্যাশ মেমোরি ব্যবহার কমায়। সাধারণত এই স্লটটি SPI মোডে কাজ করে, যা মাইক্রোকন্ট্রোলারের সঙ্গে সহজে ইন্টারফেস করার সুবিধা দেয়, যদিও কিছু মডিউল SDIO মোডও সাপোর্ট করে, যা উচ্চ গতির ডেটা ট্রান্সফারের সুযোগ দেয়।
SPI মোডে CS, MOSI, MISO, SCK, VCC এবং GND পিন ব্যবহার করা হয়, যা ডেটা আদান-প্রদানের জন্য অপরিহার্য। SPI মোডে সাধারণত 25MHz পর্যন্ত ডেটা রেট পাওয়া যায়, আর SDIO মোডে হার্ডওয়্যারের ওপর নির্ভর করে 50MHz বা তার বেশি গতি সম্ভব। এই স্লটের প্রধান ব্যবহার হলো TFT ডিসপ্লেতে ছবি দেখানো, সেন্সর ডেটা লগ করা, ফন্ট লাইব্রেরি রিড করা, এবং ইউজার ইন্টারফেস এলিমেন্ট লোড করা, যা ফার্মওয়্যার রিফ্ল্যাশ ছাড়াই সহজেই করা যায়। সাধারণত SD কার্ড ফাইল ম্যানেজমেন্টের জন্য FatFs এর মতো ফাইল সিস্টেম লাইব্রেরি ব্যবহার করা হয়।
একই সাথে TFT Display এর SPI কানেকশনের সাথে SD Card Slot-টি Parallelly ইন্টারফেস করা যায়, তবে সেক্ষেত্রে SD_CS পিনটি ভিন্ন GPIO তে কানেক্ট করতে হবে।
|
Display Interfacing Pin |
পিন হেডার অংশে সম্পূর্ণ মডিউলকে পাওয়ার আপ করার জন্য VCC এবং GND রয়েছে। তার সাথে Display ইন্টারফেসিং এর SPI Communication Related (MISO, MOSI, SCK, CS etc.) পিন এবং ডিসপ্লের ব্যাক লাইট কন্ট্রোলের জন্য LED পিন রয়েছে। |
Touch Interfacing Pin |
ডিসপ্লের টাচ ফিচার ইন্টারফেসিং এর জন্য Related Pin (T_CLK, T_CS, T_DIN, T_OUT) রয়েছে। |
SD Card Interfacing Pin |
মাইক্রোকন্ট্রোলারে সাথে SD Card Interfacing (SD_CS, SD_MISO, SD_MOSI, SD_SCK) এর জন্য Related Pin রয়েছে। |
ইন্টারফেসিং Library
TFT Display মডিউলটি ইন্টারফেসিং এর জন্য বিভিন্ন প্লাটফর্মের জনপ্রিয় কিছু লাইব্রেরী রয়েছে।

Arduino IDE
আরডুইনো-প্লাটফর্ম ব্যবহারকারীরা, Arduino IDE থেকে Sketch>Include Library> Manage Library তে গিয়ে নিচের নামগুলো সার্চ করে compatible library টি ইনষ্টল করে নিতে পারো।
- Touch: XPT2046_Touchscreen
ESP IDE/IDF
ESP IDE ব্যবহারকারীরা, ESP Component Registry ওয়েবসাইট থেকে লাইব্রেরীগুলো সংগ্রহ করতে পারবে।
(Espressif IDE-তে লাইব্রেরী ইনষ্টলেশন সম্পর্কে বিস্তারিত গাইডলাইন পেতে এই ব্লগ টিউটরিয়্যালটি অনুসরণ করতে পারো।)
প্যাকেজিং কন্টেন্ট

Order Link: TFT LCD Display Module 2.8 inch with Touch
হার্ডওয়্যার Reference
Block Diagram

Power Supply Option
TFT Display মডিউলকে পাওয়ার আপ করার জন্য দুইটি অপশন রয়েছে।
- J1 জাম্পার যদি ওপেন থাকে সেক্ষেত্রে VCC পিনে 5V ব্যবহার করতে হবে।
- J1 জাম্পার যদি ক্লোজ থাকে সেক্ষেত্রে VCC পিনে 3.3V ব্যবহার করতে হবে।
পাওয়ার পিন ব্যতীত সকল পিন (ডেটা পিন) গুলোর ক্ষেত্রে অবশ্যই 3.3V Logic Level মেইনটেইন করতে হবে। অন্যথায় ডিসপ্লেটি Electrically Damaged হয়ে যেতে পারে।

Pin Description
Pin Name |
Type |
Description |
VCC |
Power |
+3.3V বা +5V Power Supply |
GND |
Power |
Ground |
CS |
Control |
Chip Select for Display driver IC |
RESET |
Control |
Reset Pin for Display driver IC |
DC (or D/C) |
Control |
Data/Command Select for Display SPI |
SDI (MOSI) |
Input |
SPI Master Out Slave In (Display data input) |
SCK (CLK) |
Input |
SPI Clock |
SDO (MISO) |
Output |
SPI Master In Slave Out (Display data output) |
LED (or BL) |
Power |
Backlight control (3.3V or PWM) |
T_CS |
Control |
Chip Select for Touch Controller SPI |
T_IRQ |
Interrupt |
Touch interrupt output (active low) |
T_DIN |
Input |
SPI Data Input to Touch Controller (MOSI) |
T_DO |
Output |
SPI Data Output from Touch Controller (MISO) |
T_CLK |
Input |
SPI Clock for Touch Controller |
SD_CS |
Control |
Chip Select for SD Card SPI |
SD_MOSI |
Input |
SPI Master Out Slave In (to SD Card) |
SD_MISO |
Output |
SPI Master In Slave Out (from SD Card) |
SD_SCK |
Input |
SPI Clock for SD Card |
Pin Layout

Post Views: 25