TFT स्क्रीन ST7789VI चिप द्वारा नियंत्रित होती हैं वे Arduino और अन्य माइक्रोकंट्रोलर परियोजनाओं के लिए एक उत्कृष्ट विकल्प हैं। ये छोटी लेकिन उच्च-रिज़ॉल्यूशन स्क्रीन आपको ग्राफिक्स, टेक्स्ट और छवियों को स्पष्ट और सटीक रूप से प्रदर्शित करने की अनुमति देती हैं। हालाँकि, इसका एकीकरण उन लोगों के लिए कुछ हद तक चुनौतीपूर्ण हो सकता है जो एसपीआई या पावर और नियंत्रण आवश्यकताओं जैसे प्रोटोकॉल से परिचित नहीं हैं। इस गाइड में, हम आपके Arduino के साथ कनेक्ट करने, लाइब्रेरीज़ का उपयोग करने और इन स्क्रीन को कॉन्फ़िगर करने के सभी पहलुओं पर गहराई से विचार करेंगे।
इसके अलावा, आप सीखेंगे कि उन्हें NodeMCU ESP8266 और क्लासिक Arduino Nano जैसे विभिन्न बोर्डों से कैसे जोड़ा जाए। इस तरह, आप एसडी कार्ड या जटिल सर्किट पर निर्भर हुए बिना, इस प्रकार के डिस्प्ले की ग्राफिक और तकनीकी क्षमताओं का पूरा लाभ उठा पाएंगे, चाहे इंटरनेट ऑफ थिंग्स (IoT) परियोजनाओं के लिए या किसी अन्य प्रकार के एप्लिकेशन के लिए।
ST7789VI ड्राइवर वाला TFT डिस्प्ले क्या है?
स्क्रीन TFT (पतली फिल्म ट्रांजिस्टर) अन्य प्रकार की स्क्रीन जैसे सामान्य एलसीडी या छोटे ओएलईडी से कहीं बेहतर छवि गुणवत्ता प्रदान करने की विशेषता है। नियंत्रक ST7789VI यह इन स्क्रीनों का मस्तिष्क है, जो Arduino या ESP8266 जैसे माइक्रोकंट्रोलर द्वारा भेजे गए संकेतों को संसाधित करने और इन संकेतों को छवियों, रंगों और जटिल ग्राफिक्स में परिवर्तित करने के लिए जिम्मेदार है।
इन डिस्प्ले का एक बड़ा फायदा यह है कि वे एसपीआई संचार बस का उपयोग करते हैं, जो केवल चार नियंत्रण पिन (एसडीए, एससीएल, आरईएस और डीसी) का उपयोग करके अधिकांश माइक्रोकंट्रोलर के साथ कनेक्शन को सरल बनाता है। इससे वायरिंग को काफी हद तक कम किया जा सकता है और यह इसके लिए बिल्कुल उपयुक्त है कॉम्पैक्ट परियोजनाएँ.
TFT स्क्रीन को ST7789VI चिप से कनेक्ट करना
इन स्क्रीन के साथ काम करने के लिए, यह जानना आवश्यक है कि इन्हें अपने Arduino या ESP8266 से सही तरीके से कैसे जोड़ा जाए। आपके द्वारा उपयोग किए जाने वाले माइक्रोकंट्रोलर के आधार पर, पावर और कनेक्शन पिन थोड़ा बदल सकते हैं। नीचे हम सबसे महत्वपूर्ण कनेक्शनों का विवरण देते हैं।
बुनियादी कनेक्शन:
- वीसीसी: पावर सिग्नल से कनेक्ट होता है, जो आमतौर पर 3.3V होता है (स्क्रीन क्षति से बचने के लिए 5V नहीं)।
- GND: यह जमीन से जुड़ा हुआ है.
- SCL (कभी-कभी सीएलके के रूप में चिह्नित): यह सीरियल क्लॉक पिन है और पर जाता है D13 एक प्लेट पर Arduino Uno या नैनो.
- SDA (MOSI भी लेबल किया गया है): यह वह पिन है जो डेटा भेजता है और कनेक्ट होता है D11.
- आरईएस: स्क्रीन को रीसेट करने के लिए जिम्मेदार पिन से कनेक्ट होता है; इस मामले में, पर D8 Arduino का.
- DC: कमांड/डेटा पिन, जो इससे जुड़ता है D9.
प्लेटों के संबंध में ESP8266, आप देखेंगे कि ये 3.3V पर काम करते हैं, इसलिए आपको वोल्टेज स्तर को समायोजित करने के बारे में चिंता करने की आवश्यकता नहीं होगी, जैसा कि Arduino के मामले में है, जहां डिस्प्ले नियंत्रक की सुरक्षा के लिए प्रतिरोधों के साथ वोल्टेज डिवाइडर का उपयोग करना आवश्यक है।
Arduino में लाइब्रेरी का उपयोग करना
एक बार जब आपके सभी कनेक्शन सही ढंग से बन जाएं, तो आपको Arduino IDE में कुछ लाइब्रेरी स्थापित करने की आवश्यकता होगी। इन स्क्रीन के साथ काम करने के लिए सबसे अधिक उपयोग किया जाने वाला विकल्प लाइब्रेरी है एडफ्रूट ST7789, जो इन डिस्प्ले के हार्डवेयर के साथ अत्यधिक अनुकूल है और हम इसे लाइब्रेरी के साथ मिलकर उपयोग कर सकते हैं एडाफ्रूट जीएफएक्स उन्नत ग्राफ़िक्स बनाने के लिए.
पुस्तकालयों को स्थापित करने के लिए इन चरणों का पालन करें:
- के पास जाओ स्केच -> लाइब्रेरी शामिल करें -> लाइब्रेरी प्रबंधित करें.
- लिखना ST7789 सर्च बार में विकल्प चुनें Adafruit.
- पुस्तकालय के लिए भी ऐसा ही करें एडफ्रूट जीएफएक्स।
इन दो लाइब्रेरीज़ के पहले से इंस्टॉल होने से, आप अपना पहला कोड लिखने और चित्र, टेक्स्ट या अपनी इच्छानुसार कोई भी ग्राफ़िक्स प्रदर्शित करने के लिए तैयार होंगे।
"हैलो, वर्ल्ड!" के लिए मूल कोड टीएफटी स्क्रीन पर
अपनी स्क्रीन के परीक्षण के लिए एक अच्छा प्रारंभिक बिंदु एक सरल "हैलो, वर्ल्ड!" प्रदर्शित करना है। स्क्रीन पर. नीचे हम आपको एक बुनियादी कोड दिखाते हैं जिसका उपयोग आप इस उद्देश्य के लिए कर सकते हैं। याद रखें कि यह कोड डिज़ाइन किया गया है 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, रंग): स्क्रीन पर एक भरा हुआ आयत बनाता है।
- fillCircle(x, y, r, रंग): बिंदु (x, y) से r त्रिज्या वाला एक ठोस वृत्त बनाएं।
ये बुनियादी विधियाँ आपको अपनी स्क्रीन को तुरंत जीवंत बनाने की अनुमति देंगी, लेकिन लाइब्रेरी आपको छवियों को आयात करने की भी अनुमति देती है बिटमैप, यदि आप जटिल ग्राफ़ प्रदर्शित करना चाहते हैं तो यह बहुत उपयोगी है।
छवियों के साथ काम करने के लिए, आपको पहले उन्हें एक ऐसे प्रारूप में परिवर्तित करना होगा जिसे Arduino समझ सके, जैसा कि हम बाद में बताएंगे।
एसडी कार्ड का उपयोग किए बिना स्क्रीन पर छवियां आयात करें
आम तौर पर, टीएफटी स्क्रीन पर छवियों को लोड करने के लिए एक संलग्न एसडी कार्ड की आवश्यकता होती है, जो छवि को संग्रहीत करता है और इससे लोड करने की अनुमति देता है। हालाँकि, हम छवियों को बिटमैप कोड में परिवर्तित करके और उन्हें सीधे माइक्रोकंट्रोलर मेमोरी में संग्रहीत करके इस चरण से बच सकते हैं।
यह प्रक्रिया जितनी दिखती है उससे कहीं अधिक सरल है। आपको बस अपनी छवि को परिवर्तित करने और फिर उसे हेडर फ़ाइल में एम्बेड करने के लिए कुछ सॉफ़्टवेयर का उपयोग करने की आवश्यकता है। यहां हम आपको अनुसरण करने के चरण दिखाते हैं:
- एक छवि चुनें, अधिमानतः 240x240 पिक्सेल (डिस्प्ले का आकार)।
- जैसे प्रोग्राम का उपयोग करें एलसीडी छवि कनवर्टर छवि को मानों की एक श्रृंखला में परिवर्तित करने के लिए।
- जेनरेट किए गए ऐरे को सेव करें और डेटा को अपने Arduino प्रोजेक्ट के हेडर (.h) फ़ाइल में कॉपी करें।
फिर फ़ंक्शन के उपयोग के साथ पुशइमेज() Adafruit ST7789 लाइब्रेरी से, आप उस सरणी को लोड कर सकते हैं और संबंधित छवि प्रदर्शित कर सकते हैं।
याद रखें कि यह विधि छोटी और मध्यम आकार की परियोजनाओं के लिए आदर्श है, क्योंकि यदि आप एक साथ कई बड़ी छवियों को लोड करने का प्रयास करते हैं तो माइक्रोकंट्रोलर की मेमोरी सीमाएं आपके विरुद्ध काम कर सकती हैं।
अंत में, आपके Arduino या ESP7789 प्रोजेक्ट में ST8266VI के साथ TFT स्क्रीन के साथ काम करने से ग्राफिकल संभावनाओं की दुनिया खुल जाती है। सही कॉन्फ़िगरेशन और सही सॉफ़्टवेयर टूल के साथ, आप बिना किसी रुकावट के आकर्षक और कार्यात्मक इंटरफ़ेस लागू कर सकते हैं।