આજે, ILI9341 કંટ્રોલર સાથે TFT ડિસ્પ્લે તેમની વર્સેટિલિટી અને ગ્રાફિકલ ક્ષમતાઓને કારણે Arduino પ્રોટોટાઇપિંગ પ્રોજેક્ટ્સ માટે સૌથી લોકપ્રિય વિકલ્પો પૈકી એક છે. જો તમે તમારા પ્રોજેક્ટ્સમાં આ સ્ક્રીનોનો લાભ કેવી રીતે લેવો તે શોધી રહ્યાં છો, તો તમે યોગ્ય સ્થાન પર આવ્યા છો. ILI9341 TFT સ્ક્રીનને કનેક્ટ કરવા, રૂપરેખાંકિત કરવા અને તેનો ઉપયોગ કરવા માટે તમારે જે જાણવાની જરૂર છે તે બધું અહીં અમે સમજાવીએ છીએ, અને અમે કેટલાક ખૂબ જ ઉપયોગી કોડ ઉદાહરણો પણ જોઈશું.
પિનની સંખ્યા અને જરૂરી કનેક્શન્સને કારણે આ ડિસ્પ્લે સાથે કામ કરવું શરૂઆતમાં જટિલ લાગે છે, પરંતુ એકવાર તમે પ્રક્રિયાને સમજી લો, તે વધુ સરળ બની જાય છે. આ લેખમાં આપણે કનેક્શન કેવી રીતે બનાવવું, તેનું પરીક્ષણ અને પ્રોગ્રામ કેવી રીતે કરવું તે પગલું દ્વારા પગલું જોવા જઈ રહ્યા છીએ.
Arduino સાથે ILI9341 ડિસ્પ્લેનો ઉપયોગ કરવા માટે જરૂરી સામગ્રી
- Arduino UNO અથવા 3.3V Arduino Pro Mini: જો તમે ઉપયોગ કરો છો Arduino UNOસ્ક્રીનને નુકસાન ન થાય તે માટે તમારે લોજિક લેવલ એડેપ્ટરની જરૂર પડશે, કારણ કે તે 3.3V સાથે કામ કરે છે. જો તમે 3.3V Arduino Pro Mini નો ઉપયોગ કરો છો, તો તમે સીધા જ કનેક્ટ કરી શકો છો.
- TFT સ્ક્રીન ILI9341: 2.4x2.8 પિક્સેલ રિઝોલ્યુશન સાથે 240 અથવા 320 ઇંચની સ્ક્રીન.
- લોજિક લેવલ કન્વર્ટર (જો તમે ઉપયોગ કરો છો Arduino UNO): 5V થી 3.3V સુધીના સ્તરોને અનુકૂલિત કરવા.
- બ્રેડબોર્ડ y કેબલ જોડાણ.
પગલું 1: ILI9341 ડિસ્પ્લેને Arduino સાથે કનેક્ટ કરો
ILI9341 TFT ડિસ્પ્લે Arduino સાથે વાતચીત કરવા માટે SPI ઈન્ટરફેસનો ઉપયોગ કરે છે, તેથી Arduino અને ડિસ્પ્લે પરના SPI પિન વચ્ચે યોગ્ય કનેક્શન બનાવવું મહત્વપૂર્ણ રહેશે. નીચેનું કોષ્ટક મૂળભૂત જોડાણો કેવી રીતે બનાવવું તે વિગતવાર સમજાવે છે:
સ્ક્રીન પિન | Arduino પિન |
---|---|
SDO (MISO) | પિન 12 |
એસ.સી.કે. | પિન 13 |
SDI (MOSI) | પિન 11 |
ડીસી | પિન 9 |
CS | પિન 10 |
GND | GND પિન કરો |
વીસીસી | પિન 3.3V |
એલ.ઈ.ડી | પિન 3.3V |
યાદ રાખો કે જો તમે એ Arduino UNO, તેનો ઉપયોગ કરવો જરૂરી રહેશે તર્ક સ્તર એડેપ્ટરો Arduino પિન ના 5V ને 3.3V માં કન્વર્ટ કરવા માટે. જો તમે 3.3V Arduino Pro Mini નો ઉપયોગ કરો છો, તો આ સાવચેતી જરૂરી નથી.
પગલું 2: જરૂરી પુસ્તકાલયો ઇન્સ્ટોલ કરો
ILI9341 ડિસ્પ્લે સાથે ક્રિયાપ્રતિક્રિયા કરવા માટે, અમારે Arduino IDE માં કેટલીક લાઇબ્રેરીઓ ઇન્સ્ટોલ કરવાની જરૂર છે. અમે ખાતરી કરવી જોઈએ કે અમારી પાસે નીચેની પુસ્તકાલયો છે:
- Adafruit_ILI9341: Arduino સાથે ILI9341 ડિસ્પ્લે ચલાવવા માટેની આ મુખ્ય લાઇબ્રેરી છે.
- Adafruit_GFX: આ લાઇબ્રેરી મૂળભૂત ગ્રાફિક્સ જેમ કે રેખાઓ, વર્તુળો, લંબચોરસ વગેરે બનાવવાનું સરળ બનાવે છે.
આ લાઇબ્રેરીઓ ઇન્સ્ટોલ કરવા માટે, Arduino IDE ખોલો અને પર જાઓ પ્રોગ્રામ > લાઇબ્રેરી શામેલ કરો > લાઇબ્રેરીઓનું સંચાલન કરો અને શોધ ILI9341 અનુરૂપ પુસ્તકાલય સ્થાપિત કરવા માટે. ઉપરાંત, પુસ્તકોની દુકાન માટે જુઓ Adafruit GFX અને ખાતરી કરો કે તમે યોગ્ય ઇન્સ્ટોલ કર્યું છે.
પગલું 3: મૂળભૂત ઉદાહરણ સાથે TFT સ્ક્રીનનું પરીક્ષણ કરો
એકવાર લાઇબ્રેરીઓ ઇન્સ્ટોલ થઈ જાય પછી, બધું યોગ્ય રીતે જોડાયેલ છે અને કાર્ય કરે છે તેની ખાતરી કરવા માટે સ્ક્રીનને ચકાસવાનો સમય છે. Arduino IDE માં એક ખૂબ જ સંપૂર્ણ ઉદાહરણ શામેલ છે જે અમને ખૂબ મદદરૂપ થશે. ચાલો લોડ કરીએ ગ્રાફિકટેસ્ટ:
- Arduino IDE ખોલો.
- પર જાઓ ફાઇલ > ઉદાહરણો > Adafruit_ILI9341 > ગ્રાફિકટેસ્ટ.
- તમારા Arduino પર ઉદાહરણ કમ્પાઇલ અને અપલોડ કરો.
જો બધું બરાબર ચાલ્યું હોય, તો તમારે સ્ક્રીન પર વિવિધ પ્રકારની રેખાઓ, આકારો અને રંગો દર્શાવતા ગ્રાફની શ્રેણી જોવી જોઈએ.
પગલું 4: એક વ્યવહારુ પ્રોજેક્ટ બનાવો: ILI9341 સ્ક્રીન પર એનાલોગ મૂલ્યો દર્શાવો
આ સ્ક્રીન સાથે આપણે જે પ્રથમ પ્રોજેક્ટ કરી શકીએ છીએ તેમાંનો એક એનાલોગ ઇનપુટનું મૂલ્ય દર્શાવવાનું છે, જેમ કે પોટેન્ટિઓમીટરનું વોલ્ટેજ. આ માટે, અમે ડિસ્પ્લે પિનનો ઉપયોગ કરીશું જે અમે પહેલાથી જ કનેક્ટ કરેલ છે, તેમજ Arduino ના એનાલોગ ઇનપુટ A0 સાથે જોડાયેલ પોટેન્ટિઓમીટરનો ઉપયોગ કરીશું.
નીચેનો કોડ બતાવે છે કે આપણે કેવી રીતે પોટેન્ટિઓમીટરનું એનાલોગ મૂલ્ય વાંચી શકીએ અને તેને સ્ક્રીન પર પ્રદર્શિત કરી શકીએ:
#include
#include
#include
#define TFT_DC 9
#define TFT_CS 10
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
void setup() {
tft.begin();
tft.setRotation(1);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
}
void loop() {
int val = analogRead(A0);
float voltage = val * (5.0 / 1023.0);
tft.setCursor(60, 30);
tft.print("Voltaje: ");
tft.print(voltage);
delay(500);
}
આ પ્રોગ્રામ સતત વોલ્ટેજ વાંચે છે અને તેને ટેક્સ્ટ ફોર્મેટમાં સ્ક્રીન પર પ્રદર્શિત કરે છે. જો તમે પોટેન્ટિઓમીટર નોબ ફેરવો છો તો તમારે સ્ક્રીન પર લગભગ તરત જ ફેરફાર જોવા મળવો જોઈએ.
ILI9341 ટચ સ્ક્રીન પર એક બટન ઉમેરવું
માહિતી પ્રદર્શિત કરવા ઉપરાંત, ILI9341 ડિસ્પ્લેમાં ટચ ક્ષમતા પણ છે જો તે XPT2046 નિયંત્રકથી સજ્જ હોય. ચાલો એક સરળ ઉદાહરણ બનાવીએ જે દર્શાવે છે કે સ્ક્રીન પર ટચ કેવી રીતે શોધી શકાય.
પ્રથમ, આપણે સ્ક્રીન ટચ કંટ્રોલર જોડાણો બનાવવાની જરૂર છે. ટચ કંટ્રોલર માટે મુખ્ય પિન છે:
- TOUCH_CS: પિન 10.
- TOUCH_IRQ: પિન 2.
આ જોડાણો કર્યા પછી, અમે પુસ્તકાલયનો ઉપયોગ કરીશું XPT2046_ટચસ્ક્રીન સ્પર્શ શોધવા માટે. નીચે હું તમને એક કોડ મૂકું છું જે સ્ક્રીન પર એક બટન બતાવે છે, જે દર વખતે દબાવવામાં આવે ત્યારે રંગ બદલાય છે.
#include
#include
#include
#include
#define TFT_DC 9
#define TFT_CS 10
#define TOUCH_CS 10
#define TOUCH_IRQ 2
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
XPT2046_Touchscreen ts(TOUCH_CS, TOUCH_IRQ);
void setup() {
tft.begin();
ts.begin();
tft.setRotation(1);
tft.fillScreen(ILI9341_BLACK);
tft.fillRect(50, 160, 100, 50, ILI9341_RED);
tft.setCursor(75, 175);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
tft.println("BOTON");
}
void loop() {
if (ts.touched()) {
TS_Point p = ts.getPoint();
if (p.x >= 50 && p.x <= 150 && p.y >= 160 && p.y <= 210) {
tft.fillRect(50, 160, 100, 50, ILI9341_GREEN);
tft.setCursor(75, 175);
tft.println("PULSADO");
}
}
}
કોડ શોધે છે કે શું બટન દબાવવામાં આવ્યું છે અને તેનો રંગ લાલથી લીલામાં બદલાય છે. તમે તમારી જરૂરિયાતો અનુસાર બટનની સ્થિતિ અને કદને પણ કસ્ટમાઇઝ કરી શકો છો.
સ્ક્રીન યોગ્ય રીતે છે તેની ખાતરી કરવી જરૂરી છે માપાંકિત જેથી ટચ સ્ક્રીનના કોઓર્ડિનેટ્સ સાથે યોગ્ય રીતે અનુરૂપ હોય. જો તમે જોયું કે ટચ રિસ્પોન્સ સચોટ નથી, તો સ્ક્રીન રિઝોલ્યુશન સંબંધિત માપાંકન જરૂરી હોઈ શકે છે.