DocsTech
/
Дисплеи
/

~ cd ili9341 320×240 подключение к arduino uno, nano и mega

Жидкокристаллический дисплей ILI9341 является популярным выбором для многих проектов, использующих Arduino. В данной статье мы рассмотрим подробное описание дисплея ILI9341, его подключение к Arduino, предоставим схему подключения и рассмотрим две важные библиотеки для работы с этим дисплеем: Adafruit_ILI9341.h и Adafruit_GFX.h.

Код опубликованный в этой статье подходит для следующих устройств ILI9341 c разрешением 320×240:

Описание дисплея ILI9341

Дисплей ILI9341 представляет собой TFT LCD дисплеем с наиболее популярным разрешением 240×320 пикселей. Он обладает ярким и четким изображением, что является хорошим выбором для проектов на портативных и измерительных устройства, игровых консолях и прочее. Дисплей поддерживает 65 тысяч цветов и имеет широкий угол обзора.

Схема подключения ILI9341 к Arduino

Схема подключения разных плат Arduino к ILI9143 320×240 отличается лишь нахождением SPI интерфейса. Мы используем Arduino Uno, пины которой совпадает с Arduino Nano.

Таблица 1. Подключение ILI9341 к Arduino
ILI9143 320×240Arduino UnoArduino NanoArduino Mega
1CSЦифровой пин 8Цифровой пин 8Цифровой пин 53
2RSTЦифровой пин 9Цифровой пин 9Цифровой пин 49
3D/CЦифровой пин 10Цифровой пин 10Цифровой пин 48
4MOSIЦифровой пин 11Цифровой пин 11Цифровой пин 51
5SCKЦифровой пин 13Цифровой пин 13Цифровой пин 52
6VCC5V5V5V
7GNDGNDGNDGND
8BL (LED)5V5V5V
Подключение Arduino Uno к дисплею ili9341
Рисунок 1. Схема подключение ILI9341 320×240 к Arduino Uno
Подключение Arduino Mega к дисплею ili9341
Рисунок 2. Схема подключение ILI9341 320×240 к Arduino Mega

Библиотеки для работы с ILI9341 на Arduino

Для управления дисплеем ILI9341 на Arduino используются две ключевые библиотеки: Adafruit_ILI9341.h и Adafruit_GFX.h.

Adafruit_ILI9341.h — это библиотека, которая предоставляет функции для работы с дисплеем ILI9341. Она позволяет легко настраивать дисплей, выводить текст и графику, управлять цветами и другими параметрами.

Adafruit_GFX.h — это библиотека графики, которая предоставляет базовые функции для работы с графическими элементами на дисплее. Она содержит методы для рисования линий, прямоугольников, кругов и других форм.

Код пошивки Arduino для работы ILI9341

Написанная программа на языке С/C++ сначала инициализирует все необходимые переменные и производит калибровку экрана дисплея ILI9488. Первоначально отображается надпись «DocsTech Help You!» в течение 1 секунды белым цветом на черном фоне. Затем она меняется на «Touch display», что указывает на готовность к работе и возможность нажатия на экран. При касании выводится числовое значение этой точки на экране. Для вывода сложных изображений прошу прочитать документацию и подключить библиотеку Adafruit_ImageReader_EPD.h.
...
Копировать
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include <TouchScreen.h>

#define TFT_CS 10
#define TFT_RST 9
#define TFT_DC 8

Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST);

// Определите пины для сенсорного экрана
#define TS_XP A1
#define TS_YP A2
#define TS_XM 7
#define TS_YM 6
#define TS_RX 300

TouchScreen ts = TouchScreen(TS_XP, TS_YP, TS_XM, TS_YM, TS_RX);

#define WHITE 0xFFFF
#define BLACK 0x0000

void setup() {
  Serial.begin(9600);

  tft.begin();
  tft.setRotation(3);  // Если необходимо перевернуть экран

  tft.fillScreen(BLACK);  // Заливаем экран черным цветом

  tft.setCursor(20, 100);
  tft.setTextColor(WHITE);
  tft.setTextSize(3);
  tft.print("DocsTech Help You!");
  delay(1000);

  tft.fillScreen(BLACK);  // Заливаем экран черным цветом

  tft.setCursor(20, 100);
  tft.print("Touch display");
}

void loop() {
  TSPoint p = ts.getPoint();
  if (p.z > 200) {  // Проверка, что экран нажат с достаточной силой
    tft.fillScreen(BLACK);  // Заливаем экран черным цветом

    tft.setCursor(20, 100);
    tft.print("Touch: ");
    tft.print("X = ");
    tft.print(p.x);
    tft.print(", Y = ");
    tft.println(p.y);
    delay(500);  // Пауза после вывода информации о нажатии
  }
}

Объяснение изменений:

  1. Определены пины для сенсорного экрана TS_XP, TS_YP, TS_XM, TS_YM и значение TS_RX для сопротивления. Эти значения могут варьироваться в зависимости от подключения вашего сенсорного экрана.
  2. Создание объекта TouchScreen теперь включает указанные пины: TouchScreen ts = TouchScreen(TS_XP, TS_YP, TS_XM, TS_YM, TS_RX);

Заключение

Дисплей ILI9341 – это отличное устройство для создания проектов с Arduino, требующих качественного графического отображения. Подключение дисплея ILI9341 к Arduino просто, а библиотеки Adafruit_ILI9341.h и Adafruit_GFX.h облегчают разработку приложений с использованием данного дисплея. Надеемся, что данное руководство поможет вам успешно внедрить дисплей ILI9341 в ваши проекты на Arduino.

Главная
Курсы
Вебинары
LCD 1602 подключение по I2C к Arduino UNO, Nano и Mega
SSD1306 подключение по I2C к Arduino UNO, Nano и Mega
Подключение ST7735 (128/80)x(128/160) к любому Arduino
ILI9341 320×240 подключение к Arduino UNO, Nano и Mega
LCD 2004 и Arduino: описание, подключение I2C и код
Подключение SH1106 к Arduino: код, схема и библиотеки
Подключение ST7789 к Arduino: код, схема и библиотеки
Arduino к ILI9486: код, библиотека и схема подключения
Arduino к TFT ILI9488: код, библиотеки и схема подключения
Подключение Arduino к ILI9163 TFT 128×160, 128×128 и 320×240
Закрыть