TFT স্ক্রিন ST7789VI চিপ দ্বারা নিয়ন্ত্রিত তারা Arduino এবং অন্যান্য মাইক্রোকন্ট্রোলার প্রকল্পের জন্য একটি চমৎকার পছন্দ। এই ছোট কিন্তু উচ্চ-রেজোলিউশনের স্ক্রিনগুলি আপনাকে গ্রাফিক্স, পাঠ্য এবং চিত্রগুলি পরিষ্কারভাবে এবং নির্ভুলভাবে প্রদর্শন করতে দেয়। যাইহোক, এসপিআই বা শক্তি এবং নিয়ন্ত্রণের প্রয়োজনীয়তার মতো প্রোটোকলগুলির সাথে অপরিচিতদের জন্য এটির একীকরণ কিছুটা চ্যালেঞ্জিং হতে পারে। এই নির্দেশিকায়, আমরা আপনার Arduino এর সাথে সংযোগ স্থাপন, লাইব্রেরি ব্যবহার এবং এই স্ক্রিনগুলি কনফিগার করার সমস্ত দিকগুলিতে ডুব দিতে যাচ্ছি।
এছাড়াও, আপনি শিখবেন কীভাবে সেগুলিকে বিভিন্ন বোর্ডের সাথে সংযুক্ত করতে হয় যেমন NodeMCU ESP8266 এবং ক্লাসিক Arduino Nano। এইভাবে, আপনি SD কার্ড বা জটিল সার্কিটের উপর নির্ভর না করে ইন্টারনেট অফ থিংস (IoT) প্রকল্পের জন্য বা অন্য যেকোন ধরণের অ্যাপ্লিকেশনের জন্য এই ধরণের প্রদর্শনের গ্রাফিক এবং প্রযুক্তিগত ক্ষমতার সম্পূর্ণ সুবিধা নিতে সক্ষম হবেন।
ST7789VI ড্রাইভার সহ একটি TFT ডিসপ্লে কি?
পর্দা টিএফটি (পাতলা ফিল্ম ট্রানজিস্টর) সাধারণ LCD বা ছোট OLED-এর মতো অন্যান্য ধরণের স্ক্রিনের থেকে অনেক বেশি উচ্চতর একটি চিত্রের গুণমান অফার করে। নিয়ন্ত্রক ST7789VI এটি এই স্ক্রীনগুলির মস্তিষ্ক, এটিকে একটি মাইক্রোকন্ট্রোলার যেমন Arduino বা ESP8266 দ্বারা প্রেরিত সংকেতগুলি প্রক্রিয়া করার জন্য এবং এই সংকেতগুলিকে চিত্র, রঙ এবং জটিল গ্রাফিক্সে রূপান্তর করার জন্য দায়ী৷
এই ডিসপ্লেগুলির একটি দুর্দান্ত সুবিধা হল তারা SPI কমিউনিকেশন বাস ব্যবহার করে, যা বেশিরভাগ মাইক্রোকন্ট্রোলারের সাথে সংযোগ সহজ করে, শুধুমাত্র চারটি কন্ট্রোল পিন (SDA, SCL, RES এবং DC) ব্যবহার করে। এটি ওয়্যারিংকে যথেষ্ট পরিমাণে হ্রাস করতে দেয় এবং এর জন্য উপযুক্ত কমপ্যাক্ট প্রকল্প.
ST7789VI চিপের সাথে TFT স্ক্রীন সংযুক্ত করা হচ্ছে
এই স্ক্রিনগুলির সাথে কাজ করার জন্য, আপনার Arduino বা ESP8266 এর সাথে কীভাবে সঠিকভাবে সংযোগ করতে হয় তা জানা অপরিহার্য। আপনি যে মাইক্রোকন্ট্রোলার ব্যবহার করেন তার উপর নির্ভর করে, পাওয়ার এবং সংযোগ পিনগুলি সামান্য পরিবর্তন হতে পারে। নীচে আমরা সবচেয়ে গুরুত্বপূর্ণ সংযোগ বিশদ বিবরণ.
মৌলিক সংযোগ:
- VCC: পাওয়ার সিগন্যালের সাথে সংযোগ করে, যা সাধারণত 3.3V হয় (স্ক্রীনের ক্ষতি এড়াতে 5V নয়)।
- GND: এটি মাটির সাথে সংযুক্ত।
- SCL (কখনও কখনও CLK চিহ্নিত): এটি সিরিয়াল ক্লক পিন এবং তে যায় D13 একটি প্লেটে Arduino Uno বা ন্যানো।
- এস্ ডি (এছাড়াও MOSI লেবেলযুক্ত): এটি এমন একটি পিন যা ডেটা পাঠায় এবং এর সাথে সংযোগ করে D11.
- রেস: স্ক্রীন রিসেট করার জন্য দায়ী পিনের সাথে সংযোগ করে; এই ক্ষেত্রে, এ D8 Arduino এর.
- DC: কমান্ড/ডেটা পিন, যা সংযোগ করে D9.
প্লেট সংক্রান্ত ESP8266, আপনি লক্ষ্য করবেন যে এগুলি 3.3V এ কাজ করে, তাই আপনাকে ভোল্টেজের মাত্রা সামঞ্জস্য করার বিষয়ে চিন্তা করতে হবে না, যেমনটি আরডুইনোর ক্ষেত্রে, যেখানে ডিসপ্লে কন্ট্রোলারকে রক্ষা করার জন্য প্রতিরোধক সহ ভোল্টেজ ডিভাইডার ব্যবহার করা প্রয়োজন।
Arduino লাইব্রেরি ব্যবহার করে
একবার আপনার সমস্ত সংযোগ সঠিকভাবে তৈরি হয়ে গেলে, আপনাকে Arduino IDE-তে কিছু লাইব্রেরি ইনস্টল করতে হবে। এই পর্দাগুলির সাথে কাজ করার জন্য, সর্বাধিক ব্যবহৃত বিকল্পটি হল লাইব্রেরি অ্যাডফ্রুট ST7789, যা এই প্রদর্শনগুলির হার্ডওয়্যারের সাথে অত্যন্ত সামঞ্জস্যপূর্ণ এবং আমরা এটিকে লাইব্রেরির সাথে একসাথে ব্যবহার করতে পারি Adafruit GFX উন্নত গ্রাফিক্স তৈরি করতে।
লাইব্রেরি ইনস্টল করতে এই পদক্ষেপগুলি অনুসরণ করুন:
- যাও স্কেচ -> লাইব্রেরি অন্তর্ভুক্ত করুন -> লাইব্রেরি পরিচালনা করুন.
- লেখা ST7789 অনুসন্ধান বারে এবং বিকল্পটি নির্বাচন করুন Adafruit.
- লাইব্রেরির জন্য একই কাজ Adafruit GFX.
এই দুটি লাইব্রেরি ইতিমধ্যেই ইনস্টল করা আছে, আপনি আপনার প্রথম কোড লিখতে এবং চিত্র, পাঠ্য বা আপনি চান যে কোনো গ্রাফিক্স প্রদর্শন করতে প্রস্তুত হবেন।
"হ্যালো, ওয়ার্ল্ড!" এর জন্য মৌলিক কোড TFT স্ক্রিনে
আপনার স্ক্রীন পরীক্ষা করার জন্য একটি ভাল সূচনা পয়েন্ট হল একটি সাধারণ "হ্যালো, ওয়ার্ল্ড!" পর্দায় নীচে আমরা আপনাকে একটি মৌলিক কোড দেখাই যা আপনি এই উদ্দেশ্যে ব্যবহার করতে পারেন। মনে রাখবেন যে এই কোডটি ডিজাইন করা হয়েছে Arduino Uno অথবা ন্যানো, কিন্তু আপনি যদি অন্য বোর্ড ব্যবহার করেন, তাহলে আপনাকে পিনগুলিকে মানিয়ে নিতে হবে।
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
#include <SPI.h>
#define TFT_CS 10
#define TFT_RST 8
#define TFT_DC 9
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
void setup() {
tft.init(240, 240);
tft.setRotation(1);
tft.fillScreen(ST77XX_BLACK);
tft.setTextColor(ST77XX_WHITE);
tft.setTextSize(2);
tft.setCursor(50, 120);
tft.println("Hello World!");
}
void loop() {
// Nada que hacer en el loop
}
এই ছোট্ট কোডটি স্ক্রীনকে শুরু করে, এটিকে অনুভূমিকভাবে ঘুরিয়ে দেয় এবং এর মাঝখানে "হ্যালো ওয়ার্ল্ড" লেখাটি প্রদর্শন করে। আপনি পদ্ধতিগুলি ব্যবহার করে বিভিন্ন পাঠ্য আকার বা রঙ নিয়ে পরীক্ষা করতে পারেন setTextColor, setTextSize, অন্যদের মধ্যে।
ST7789VI ডিসপ্লের গ্রাফিক ক্ষমতা
এই স্ক্রিনের গ্রাফিক ক্ষমতা বেশ সম্পূর্ণ। Adafruit GFX লাইব্রেরির মাধ্যমে, আপনি কয়েকটি কমান্ডের সাহায্যে লাইন, আয়তক্ষেত্র, বৃত্ত এবং আরও অনেক কিছু আঁকতে পারেন। নীচে, আমরা সর্বাধিক ব্যবহৃত কিছু তালিকা করি:
- ড্রলাইন (x0, y0, x1, y1, রঙ): বিন্দু (x0, y0) থেকে (x1, y1) পর্যন্ত একটি রেখা আঁকুন।
- fillRect(x, y, w, h, রঙ): পর্দায় একটি ভরা আয়তক্ষেত্র আঁকে।
- ফিল সার্কেল (x, y, r, রঙ): বিন্দু (x, y) থেকে r ব্যাসার্ধ সহ একটি কঠিন বৃত্ত আঁকুন।
এই মৌলিক পদ্ধতিগুলি আপনাকে দ্রুত আপনার স্ক্রীনকে প্রাণবন্ত করতে দেয়, তবে লাইব্রেরি আপনাকে ইমেজ আমদানি করতে দেয় বিটম্যাপ, যদি আপনি জটিল গ্রাফগুলি প্রদর্শন করতে চান তবে এটি খুব দরকারী।
চিত্রগুলির সাথে কাজ করার জন্য, আপনাকে আগে সেগুলিকে একটি বিন্যাসে রূপান্তর করতে হবে যা Arduino বুঝতে পারে, যেমনটি আমরা পরে ব্যাখ্যা করি।
SD কার্ড ব্যবহার না করেই স্ক্রিনে ছবি আমদানি করুন
সাধারণত, একটি TFT স্ক্রিনে ছবি লোড করার জন্য একটি সংযুক্ত SD কার্ডের প্রয়োজন হয়, যা ছবিটি সংরক্ষণ করে এবং এটি থেকে লোড করার অনুমতি দেয়। যাইহোক, আমরা ছবিগুলিকে বিটম্যাপ কোডে রূপান্তর করে এবং সরাসরি মাইক্রোকন্ট্রোলার মেমরিতে সংরক্ষণ করে এই পদক্ষেপটি এড়াতে পারি।
প্রক্রিয়াটি মনে হওয়ার চেয়ে সহজ। আপনার ইমেজ কনভার্ট করার জন্য আপনাকে কিছু সফ্টওয়্যার ব্যবহার করতে হবে এবং তারপর এটিকে হেডার ফাইলে এম্বেড করতে হবে। এখানে আমরা আপনাকে অনুসরণ করার পদক্ষেপগুলি দেখাই:
- একটি চিত্র চয়ন করুন, বিশেষত 240x240 পিক্সেল (ডিসপ্লের আকার)।
- মত একটি প্রোগ্রাম ব্যবহার করুন এলসিডি ইমেজ কনভার্টার ইমেজটিকে মানগুলির একটি অ্যারেতে রূপান্তর করতে।
- জেনারেট করা অ্যারে সংরক্ষণ করুন এবং আপনার Arduino প্রকল্পের হেডার (.h) ফাইলে ডেটা কপি করুন।
তারপর ফাংশন ব্যবহার করে পুশ ইমেজ() Adafruit ST7789 লাইব্রেরি থেকে, আপনি সেই অ্যারেটি লোড করতে পারেন এবং প্রশ্নে থাকা চিত্রটি প্রদর্শন করতে পারেন।
মনে রাখবেন যে এই পদ্ধতিটি ছোট এবং মাঝারি আকারের প্রকল্পগুলির জন্য আদর্শ, কারণ আপনি যদি একবারে অনেকগুলি বড় ছবি লোড করার চেষ্টা করেন তবে মাইক্রোকন্ট্রোলারের মেমরির সীমাবদ্ধতাগুলি আপনার বিরুদ্ধে কাজ করতে পারে৷
অবশেষে, আপনার Arduino বা ESP7789 প্রজেক্টে ST8266VI এর সাথে TFT স্ক্রীনের সাথে কাজ করা গ্রাফিকাল সম্ভাবনার একটি বিশ্ব উন্মুক্ত করে। সঠিক কনফিগারেশন এবং সঠিক সফ্টওয়্যার সরঞ্জামগুলির সাহায্যে, আপনি খুব বেশি বাধা ছাড়াই আকর্ষণীয় এবং কার্যকরী ইন্টারফেসগুলি বাস্তবায়ন করতে পারেন।