Arduino ನೊಂದಿಗೆ ILI9341 ಪ್ರದರ್ಶನವನ್ನು ಹೇಗೆ ಬಳಸುವುದು - ಸಂಪೂರ್ಣ ಮತ್ತು ವಿವರವಾದ ಟ್ಯುಟೋರಿಯಲ್

  • ILI9341 TFT ಡಿಸ್ಪ್ಲೇ SPI ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಸಂವಹನ ನಡೆಸುತ್ತದೆ ಮತ್ತು ನಿಖರವಾದ ಸಂಪರ್ಕಗಳ ಅಗತ್ಯವಿದೆ.
  • ಡಿಸ್ಪ್ಲೇಗೆ ಹಾನಿಯಾಗದಂತೆ 5V Arduino ಬಳಸುತ್ತಿದ್ದರೆ ಲಾಜಿಕ್ ಮಟ್ಟದ ಅಡಾಪ್ಟರುಗಳನ್ನು ಬಳಸುವುದು ಅತ್ಯಗತ್ಯ.
  • ಪರದೆಯ ಮೇಲೆ ಗ್ರಾಫಿಕ್ಸ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾಡಲು Adafruit_GFX ಮತ್ತು Adafruit_ILI9341 ಲೈಬ್ರರಿಗಳು ಅತ್ಯಗತ್ಯ.
  • ಡೇಟಾ ದೃಶ್ಯೀಕರಣ ಅಥವಾ ಸ್ಪರ್ಶ ಸಂವೇದನೆಯಂತಹ ಪ್ರಾಯೋಗಿಕ ಯೋಜನೆಗಳನ್ನು ILI9341 ಪ್ರದರ್ಶನದೊಂದಿಗೆ ಅರಿತುಕೊಳ್ಳಬಹುದು.

ST7789VI MCU ನಿಯಂತ್ರಣ arduino-7 ನೊಂದಿಗೆ TFT

ಇಂದು, ILI9341 ನಿಯಂತ್ರಕದೊಂದಿಗೆ TFT ಪ್ರದರ್ಶನಗಳು ಅವುಗಳ ಬಹುಮುಖತೆ ಮತ್ತು ಚಿತ್ರಾತ್ಮಕ ಸಾಮರ್ಥ್ಯಗಳ ಕಾರಣದಿಂದಾಗಿ Arduino ಮೂಲಮಾದರಿಯ ಯೋಜನೆಗಳಿಗೆ ಅತ್ಯಂತ ಜನಪ್ರಿಯ ಆಯ್ಕೆಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳಲ್ಲಿ ಈ ಪರದೆಗಳ ಲಾಭವನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು ಎಂದು ನೀವು ಹುಡುಕುತ್ತಿದ್ದರೆ, ನೀವು ಸರಿಯಾದ ಸ್ಥಳಕ್ಕೆ ಬಂದಿರುವಿರಿ. ILI9341 TFT ಪರದೆಯನ್ನು ಸಂಪರ್ಕಿಸಲು, ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಮತ್ತು ಬಳಸಲು ನೀವು ತಿಳಿದುಕೊಳ್ಳಬೇಕಾದ ಎಲ್ಲವನ್ನೂ ನಾವು ಇಲ್ಲಿ ವಿವರಿಸುತ್ತೇವೆ ಮತ್ತು ನಾವು ಕೆಲವು ಉಪಯುಕ್ತ ಕೋಡ್ ಉದಾಹರಣೆಗಳನ್ನು ಸಹ ನೋಡುತ್ತೇವೆ.

ಅಗತ್ಯವಿರುವ ಪಿನ್‌ಗಳು ಮತ್ತು ಸಂಪರ್ಕಗಳ ಸಂಖ್ಯೆಯಿಂದಾಗಿ ಈ ಪ್ರದರ್ಶನದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು ಮೊದಲಿಗೆ ಜಟಿಲವಾಗಿದೆ ಎಂದು ತೋರುತ್ತದೆ, ಆದರೆ ಒಮ್ಮೆ ನೀವು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಂಡರೆ, ಅದು ಹೆಚ್ಚು ಸರಳವಾಗುತ್ತದೆ. ಈ ಲೇಖನದಲ್ಲಿ ನಾವು ಸಂಪರ್ಕವನ್ನು ಹೇಗೆ ಮಾಡಬೇಕೆಂದು ಹಂತ ಹಂತವಾಗಿ ನೋಡಲಿದ್ದೇವೆ, ಅದನ್ನು ಪರೀಕ್ಷಿಸಿ ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಮಾಡಿ.

Arduino ಜೊತೆಗೆ ILI9341 ಡಿಸ್‌ಪ್ಲೇಯನ್ನು ಬಳಸಲು ಬೇಕಾದ ಸಾಮಗ್ರಿಗಳು

  • Arduino UNO ಅಥವಾ 3.3V Arduino Pro Mini: ನೀವು ಬಳಸಿದರೆ a Arduino UNO, ಇದು 3.3V ಯೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದರಿಂದ ಪರದೆಯನ್ನು ಹಾನಿಗೊಳಿಸುವುದನ್ನು ತಪ್ಪಿಸಲು ನಿಮಗೆ ಲಾಜಿಕ್ ಮಟ್ಟದ ಅಡಾಪ್ಟರುಗಳ ಅಗತ್ಯವಿದೆ. ನೀವು 3.3V Arduino Pro Mini ಅನ್ನು ಬಳಸಿದರೆ, ನೀವು ನೇರವಾಗಿ ಸಂಪರ್ಕಿಸಬಹುದು.
  • TFT ಪರದೆ ILI9341: 2.4 ಅಥವಾ 2.8 ಇಂಚಿನ ಸ್ಕ್ರೀನ್ ಜೊತೆಗೆ 240x320 ಪಿಕ್ಸೆಲ್ ರೆಸಲ್ಯೂಶನ್.
  • ಲಾಜಿಕ್ ಮಟ್ಟದ ಪರಿವರ್ತಕ (ನೀವು ಬಳಸಿದರೆ Arduino UNO): 5V ನಿಂದ 3.3V ವರೆಗಿನ ಮಟ್ಟವನ್ನು ಹೊಂದಿಕೊಳ್ಳಲು.
  • ಬ್ರೆಡ್ಬೋರ್ಡ್ y ಕೇಬಲ್ಗಳು ಸಂಪರ್ಕದ.

ಹಂತ 1: ILI9341 ಪ್ರದರ್ಶನವನ್ನು Arduino ಗೆ ಸಂಪರ್ಕಪಡಿಸಿ

ILI9341 TFT ಪ್ರದರ್ಶನವು Arduino ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು SPI ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದ್ದರಿಂದ Arduino ಮತ್ತು ಪ್ರದರ್ಶನದಲ್ಲಿನ SPI ಪಿನ್‌ಗಳ ನಡುವೆ ಸರಿಯಾದ ಸಂಪರ್ಕಗಳನ್ನು ಮಾಡುವುದು ಮುಖ್ಯವಾಗಿರುತ್ತದೆ. ಮೂಲ ಸಂಪರ್ಕಗಳನ್ನು ಹೇಗೆ ಮಾಡುವುದು ಎಂಬುದನ್ನು ಕೆಳಗಿನ ಕೋಷ್ಟಕವು ವಿವರವಾಗಿ ವಿವರಿಸುತ್ತದೆ:

ಪರದೆಯ ಪಿನ್ ಆರ್ಡುನೊ ಪಿನ್
SDO (MISO) ಪಿನ್ 12
ಎಸ್‌ಸಿಕೆ ಪಿನ್ 13
SDI (MOSI) ಪಿನ್ 11
ಡಿಸಿ ಪಿನ್ 9
CS ಪಿನ್ 10
GND ಪಿನ್ GND
VCC ಪಿನ್ 3.3V
ಎಲ್ಇಡಿ ಪಿನ್ 3.3V

ನೀವು ಬಳಸುತ್ತಿದ್ದರೆ ನೆನಪಿಡಿ Arduino UNO, ಬಳಸಲು ಇದು ಅಗತ್ಯವಾಗಿರುತ್ತದೆ ತರ್ಕ ಮಟ್ಟದ ಅಡಾಪ್ಟರುಗಳು Arduino ಪಿನ್‌ಗಳ 5V ಅನ್ನು 3.3V ಗೆ ಪರಿವರ್ತಿಸಲು. ನೀವು 3.3V Arduino Pro Mini ಅನ್ನು ಬಳಸಿದರೆ, ಈ ಮುನ್ನೆಚ್ಚರಿಕೆ ಅಗತ್ಯವಿಲ್ಲ.

ಹಂತ 2: ಅಗತ್ಯ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಸ್ಥಾಪಿಸಿ

ILI9341 ಪ್ರದರ್ಶನದೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು, ನಾವು Arduino IDE ನಲ್ಲಿ ಕೆಲವು ಲೈಬ್ರರಿಗಳನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗಿದೆ. ನಾವು ಈ ಕೆಳಗಿನ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕು:

  • ಅಡಾಫ್ರೂಟ್_ILI9341: ಇದು Arduino ನೊಂದಿಗೆ ILI9341 ಡಿಸ್ಪ್ಲೇಗಳನ್ನು ಚಾಲನೆ ಮಾಡಲು ಮುಖ್ಯ ಗ್ರಂಥಾಲಯವಾಗಿದೆ.
  • Adafruit_GFX: ಈ ಲೈಬ್ರರಿಯು ರೇಖೆಗಳು, ವಲಯಗಳು, ಆಯತಗಳು ಇತ್ಯಾದಿಗಳಂತಹ ಮೂಲಭೂತ ಗ್ರಾಫಿಕ್ಸ್ ಅನ್ನು ರಚಿಸಲು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.

ಈ ಲೈಬ್ರರಿಗಳನ್ನು ಸ್ಥಾಪಿಸಲು, Arduino IDE ಅನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಹೋಗಿ ಕಾರ್ಯಕ್ರಮ > ಗ್ರಂಥಾಲಯವನ್ನು ಸೇರಿಸಿ > ಗ್ರಂಥಾಲಯಗಳನ್ನು ನಿರ್ವಹಿಸಿ ಮತ್ತು ಹುಡುಕಿ ILI9341 ಅನುಗುಣವಾದ ಗ್ರಂಥಾಲಯವನ್ನು ಸ್ಥಾಪಿಸಲು. ಅಲ್ಲದೆ, ಪುಸ್ತಕದ ಅಂಗಡಿಯನ್ನು ನೋಡಿ ಅಡಾಫ್ರೂಟ್ GFX ಮತ್ತು ನೀವು ಸರಿಯಾದದನ್ನು ಸ್ಥಾಪಿಸಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

ಹಂತ 3: ಮೂಲಭೂತ ಉದಾಹರಣೆಯೊಂದಿಗೆ TFT ಪರದೆಯನ್ನು ಪರೀಕ್ಷಿಸಿ

Arduino IDE, ಡೇಟಾ ಪ್ರಕಾರಗಳು, ಪ್ರೋಗ್ರಾಮಿಂಗ್

ಲೈಬ್ರರಿಗಳನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ಎಲ್ಲವೂ ಸರಿಯಾಗಿ ಸಂಪರ್ಕಗೊಂಡಿದೆ ಮತ್ತು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆಯೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಪರದೆಯನ್ನು ಪರೀಕ್ಷಿಸುವ ಸಮಯ. Arduino IDE ಒಂದು ಸಂಪೂರ್ಣ ಉದಾಹರಣೆಯನ್ನು ಒಳಗೊಂಡಿದೆ, ಅದು ನಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಲೋಡ್ ಮಾಡೋಣ ಗ್ರಾಫಿಕ್ಟೆಸ್ಟ್:

  • Arduino IDE ತೆರೆಯಿರಿ.
  • ಗೆ ಹೋಗಿ ಫೈಲ್ > ಉದಾಹರಣೆಗಳು > Adafruit_ILI9341 > graphictest.
  • ನಿಮ್ಮ Arduino ಗೆ ಉದಾಹರಣೆಯನ್ನು ಕಂಪೈಲ್ ಮಾಡಿ ಮತ್ತು ಅಪ್‌ಲೋಡ್ ಮಾಡಿ.

ಎಲ್ಲವೂ ಸರಿಯಾಗಿ ನಡೆದರೆ, ಪರದೆಯ ಮೇಲೆ ವಿವಿಧ ರೀತಿಯ ರೇಖೆಗಳು, ಆಕಾರಗಳು ಮತ್ತು ಬಣ್ಣಗಳನ್ನು ತೋರಿಸುವ ಗ್ರಾಫ್‌ಗಳ ಸರಣಿಯನ್ನು ನೀವು ನೋಡಬೇಕು.

ಹಂತ 4: ಪ್ರಾಯೋಗಿಕ ಯೋಜನೆಯನ್ನು ರಚಿಸಿ: ILI9341 ಪರದೆಯಲ್ಲಿ ಅನಲಾಗ್ ಮೌಲ್ಯಗಳನ್ನು ಪ್ರದರ್ಶಿಸಿ

ಈ ಪರದೆಯೊಂದಿಗೆ ನಾವು ಮಾಡಬಹುದಾದ ಮೊದಲ ಯೋಜನೆಗಳಲ್ಲಿ ಒಂದು ಅನಲಾಗ್ ಇನ್‌ಪುಟ್‌ನ ಮೌಲ್ಯವನ್ನು ಪ್ರದರ್ಶಿಸುವುದು, ಉದಾಹರಣೆಗೆ ಪೊಟೆನ್ಟಿಯೋಮೀಟರ್‌ನ ವೋಲ್ಟೇಜ್. ಇದಕ್ಕಾಗಿ, ನಾವು ಈಗಾಗಲೇ ಸಂಪರ್ಕಿಸಿರುವ ಡಿಸ್ಪ್ಲೇ ಪಿನ್‌ಗಳನ್ನು ಬಳಸುತ್ತೇವೆ, ಹಾಗೆಯೇ ಆರ್ಡುನೊದ ಅನಲಾಗ್ ಇನ್‌ಪುಟ್ 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");
    }
  }
}

ಗುಂಡಿಯನ್ನು ಒತ್ತಿದರೆ ಕೋಡ್ ಪತ್ತೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದರ ಬಣ್ಣವನ್ನು ಕೆಂಪು ಬಣ್ಣದಿಂದ ಹಸಿರು ಬಣ್ಣಕ್ಕೆ ಬದಲಾಯಿಸುತ್ತದೆ. ನಿಮ್ಮ ಅಗತ್ಯಗಳಿಗೆ ಅನುಗುಣವಾಗಿ ನೀವು ಬಟನ್‌ನ ಸ್ಥಾನ ಮತ್ತು ಗಾತ್ರವನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದು.

ಪರದೆಯು ಸರಿಯಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಅತ್ಯಗತ್ಯ ಮಾಪನಾಂಕ ನಿರ್ಣಯಿಸಲಾಗಿದೆ ಆದ್ದರಿಂದ ಸ್ಪರ್ಶಗಳು ಪರದೆಯ ನಿರ್ದೇಶಾಂಕಗಳಿಗೆ ಸರಿಯಾಗಿ ಸಂಬಂಧಿಸಿವೆ. ಸ್ಪರ್ಶ ಪ್ರತಿಕ್ರಿಯೆಯು ನಿಖರವಾಗಿಲ್ಲ ಎಂದು ನೀವು ಗಮನಿಸಿದರೆ, ಪರದೆಯ ರೆಸಲ್ಯೂಶನ್‌ಗೆ ಸಂಬಂಧಿಸಿದ ಮಾಪನಾಂಕ ನಿರ್ಣಯವು ಅಗತ್ಯವಾಗಬಹುದು.