ST7789VI ચિપ દ્વારા નિયંત્રિત TFT સ્ક્રીન તેઓ Arduino અને અન્ય માઇક્રોકન્ટ્રોલર પ્રોજેક્ટ્સ માટે ઉત્તમ પસંદગી છે. આ નાની પરંતુ ઉચ્ચ-રીઝોલ્યુશન સ્ક્રીનો તમને ગ્રાફિક્સ, ટેક્સ્ટ અને છબીઓને સ્પષ્ટ અને સચોટ રીતે પ્રદર્શિત કરવાની મંજૂરી આપે છે. જો કે, જેઓ SPI અથવા પાવર અને કંટ્રોલ જરૂરિયાતો જેવા પ્રોટોકોલથી પરિચિત નથી તેમના માટે તેનું એકીકરણ કંઈક અંશે પડકારજનક હોઈ શકે છે. આ માર્ગદર્શિકામાં, અમે તમારા Arduino સાથે આ સ્ક્રીનોને રૂપરેખાંકિત કરવા, લાઈબ્રેરીઓનો ઉપયોગ કરીને કનેક્ટ કરવાના તમામ પાસાઓમાં ડૂબકી મારવા જઈ રહ્યા છીએ.
આ ઉપરાંત, તમે શીખી શકશો કે તેમને NodeMCU ESP8266 અને ક્લાસિક Arduino Nano જેવા વિવિધ બોર્ડ સાથે કેવી રીતે કનેક્ટ કરવું. આ રીતે, તમે આ પ્રકારના ડિસ્પ્લેની ગ્રાફિક અને તકનીકી ક્ષમતાઓનો સંપૂર્ણ લાભ લઈ શકશો, પછી ભલે તે ઈન્ટરનેટ ઓફ થિંગ્સ (IoT) પ્રોજેક્ટ્સ માટે હોય કે અન્ય કોઈપણ પ્રકારની એપ્લિકેશન માટે, SD કાર્ડ અથવા જટિલ સર્કિટ પર આધાર રાખ્યા વિના.
ST7789VI ડ્રાઇવર સાથે TFT ડિસ્પ્લે શું છે?
સ્ક્રીનો ટીએફટી (પાતળા ફિલ્મ ટ્રાંઝિસ્ટર) અન્ય પ્રકારની સ્ક્રીનો જેમ કે સામાન્ય LCDs અથવા નાની OLEDs કરતાં ઘણી ચડિયાતી ઇમેજ ગુણવત્તા ઓફર કરીને લાક્ષણિકતા ધરાવે છે. નિયંત્રક ST7789VI તે આ સ્ક્રીનોનું મગજ છે, જે અર્ડિનો અથવા ESP8266 જેવા માઇક્રોકન્ટ્રોલર દ્વારા મોકલવામાં આવેલા સિગ્નલો પર પ્રક્રિયા કરવા અને આ સિગ્નલોને ઈમેજો, રંગો અને જટિલ ગ્રાફિક્સમાં રૂપાંતરિત કરવા માટે જવાબદાર છે.
આ ડિસ્પ્લેનો એક મોટો ફાયદો એ છે કે તેઓ SPI કોમ્યુનિકેશન બસનો ઉપયોગ કરે છે, જે ફક્ત ચાર કંટ્રોલ પિન (SDA, SCL, RES અને DC) નો ઉપયોગ કરીને મોટાભાગના માઇક્રોકન્ટ્રોલર સાથે કનેક્શનને સરળ બનાવે છે. આ વાયરિંગને નોંધપાત્ર રીતે ઘટાડવાની મંજૂરી આપે છે અને તે માટે યોગ્ય છે કોમ્પેક્ટ પ્રોજેક્ટ્સ.
ST7789VI ચિપ સાથે TFT સ્ક્રીનને કનેક્ટ કરી રહ્યું છે
આ સ્ક્રીનો સાથે કામ કરવા માટે, તેને તમારા Arduino અથવા ESP8266 સાથે કેવી રીતે યોગ્ય રીતે કનેક્ટ કરવું તે જાણવું જરૂરી છે. તમે ઉપયોગ કરો છો તે માઇક્રોકન્ટ્રોલરના આધારે, પાવર અને કનેક્શન પિન સહેજ બદલાઈ શકે છે. નીચે અમે સૌથી મહત્વપૂર્ણ જોડાણોની વિગતો આપીએ છીએ.
મૂળભૂત જોડાણો:
- વીસીસી: પાવર સિગ્નલ સાથે જોડાય છે, જે સામાન્ય રીતે 3.3V હોય છે (સ્ક્રીનને નુકસાન ટાળવા માટે 5V નહીં).
- GND: તે જમીન સાથે જોડાયેલ છે.
- એસસીએલ (ક્યારેક CLK ચિહ્નિત): આ સીરીયલ ક્લોક પિન છે અને તે પર જાય છે ડી13 પ્લેટ પર Arduino Uno અથવા નેનો.
- એસડીએ (મોસીનું લેબલ પણ છે): તે પિન છે જે ડેટા મોકલે છે અને સાથે જોડાય છે ડી11.
- આરએસએસ: સ્ક્રીનને રીસેટ કરવા માટે જવાબદાર પિન સાથે જોડાય છે; આ કિસ્સામાં, ખાતે D8 Arduino ના.
- DC: આદેશ/ડેટા પિન, જે સાથે જોડાય છે D9.
પ્લેટો અંગે ESP8266, તમે જોશો કે આ 3.3V પર કાર્ય કરે છે, તેથી તમારે વોલ્ટેજ સ્તરોને સમાયોજિત કરવા વિશે ચિંતા કરવાની જરૂર રહેશે નહીં, જેમ કે Arduino સાથે છે, જ્યાં ડિસ્પ્લે કંટ્રોલરને સુરક્ષિત કરવા માટે રેઝિસ્ટર સાથે વોલ્ટેજ ડિવાઈડરનો ઉપયોગ કરવો જરૂરી છે.
Arduino માં પુસ્તકાલયોનો ઉપયોગ
એકવાર તમે બધા કનેક્શન યોગ્ય રીતે કરી લો તે પછી, તમારે Arduino IDE માં કેટલીક લાઇબ્રેરીઓ ઇન્સ્ટોલ કરવાની જરૂર પડશે. આ સ્ક્રીનો સાથે કામ કરવા માટે, સૌથી વધુ ઉપયોગમાં લેવાતો વિકલ્પ પુસ્તકાલય છે એડફ્રૂટ ST7789, જે આ ડિસ્પ્લેના હાર્ડવેર સાથે અત્યંત સુસંગત છે અને અમે તેનો ઉપયોગ લાઇબ્રેરી સાથે કરી શકીએ છીએ Adafruit GFX અદ્યતન ગ્રાફિક્સ બનાવવા માટે.
પુસ્તકાલયોને ઇન્સ્ટોલ કરવા માટે આ પગલાં અનુસરો:
- પર જાઓ સ્કેચ -> લાઇબ્રેરી શામેલ કરો -> લાઇબ્રેરીઓનું સંચાલન કરો.
- લખો ST7789 શોધ બારમાં અને વિકલ્પ પસંદ કરો એડફ્રૂટ.
- પુસ્તકાલય માટે પણ આવું કરો 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) ફાઇલમાં ડેટાની નકલ કરો.
પછી ફંક્શનના ઉપયોગ સાથે pushImage() Adafruit ST7789 લાઇબ્રેરીમાંથી, તમે તે એરે લોડ કરી શકો છો અને પ્રશ્નમાં રહેલી ઇમેજ પ્રદર્શિત કરી શકો છો.
યાદ રાખો કે આ પદ્ધતિ નાના અને મધ્યમ કદના પ્રોજેક્ટ્સ માટે આદર્શ છે, કારણ કે જો તમે એક સાથે ઘણી મોટી છબીઓ લોડ કરવાનો પ્રયાસ કરો છો તો માઇક્રોકન્ટ્રોલરની મેમરી મર્યાદાઓ તમારી સામે કામ કરી શકે છે.
છેલ્લે, તમારા Arduino અથવા ESP7789 પ્રોજેક્ટ્સમાં ST8266VI સાથે TFT સ્ક્રીન સાથે કામ કરવાથી ગ્રાફિકલ શક્યતાઓની દુનિયા ખુલે છે. યોગ્ય રૂપરેખાંકન અને યોગ્ય સોફ્ટવેર ટૂલ્સ સાથે, તમે ઘણી બધી અડચણો વિના આકર્ષક અને કાર્યાત્મક ઇન્ટરફેસનો અમલ કરી શકો છો.