Жидкокристаллический дисплей ILI9341 является популярным выбором для многих проектов, использующих Arduino. В данной статье мы рассмотрим подробное описание дисплея ILI9341, его подключение к Arduino, предоставим схему подключения и рассмотрим две важные библиотеки для работы с этим дисплеем: Adafruit_ILI9341.h и Adafruit_GFX.h.
Код опубликованный в этой статье подходит для следующих устройств ILI9341 c разрешением 320×240:
- 2.8 «Touch Shield V2 (SPI)
- 2.4″ TFT LCD with Touchscreen Breakout w/MicroSD Socket (сенсорным экраном и разъемом microSD) — ILI9341
- 2.8″ TFT LCD with Touchscreen Breakout Board w/MicroSD Socket (сенсорной панелбю управления и разъемом microSD) — ILI9341
- 2.2″ 18-bit color TFT LCD display with microSD card breakout(дисплей с разъемом для карты microSD) — ILI9340
Описание дисплея ILI9341
Дисплей ILI9341 представляет собой TFT LCD дисплеем с наиболее популярным разрешением 240×320 пикселей. Он обладает ярким и четким изображением, что является хорошим выбором для проектов на портативных и измерительных устройства, игровых консолях и прочее. Дисплей поддерживает 65 тысяч цветов и имеет широкий угол обзора.
Схема подключения ILI9341 к Arduino
Схема подключения разных плат Arduino к ILI9143 320×240 отличается лишь нахождением SPI интерфейса. Мы используем Arduino Uno, пины которой совпадает с Arduino Nano.
№ | ILI9143 320×240 | Arduino Uno | Arduino Nano | Arduino Mega |
---|---|---|---|---|
1 | CS | Цифровой пин 8 | Цифровой пин 8 | Цифровой пин 53 |
2 | RST | Цифровой пин 9 | Цифровой пин 9 | Цифровой пин 49 |
3 | D/C | Цифровой пин 10 | Цифровой пин 10 | Цифровой пин 48 |
4 | MOSI | Цифровой пин 11 | Цифровой пин 11 | Цифровой пин 51 |
5 | SCK | Цифровой пин 13 | Цифровой пин 13 | Цифровой пин 52 |
6 | VCC | 5V | 5V | 5V |
7 | GND | GND | GND | GND |
8 | BL (LED) | 5V | 5V | 5V |


Библиотеки для работы с ILI9341 на Arduino
Для управления дисплеем ILI9341 на Arduino используются две ключевые библиотеки: Adafruit_ILI9341.h и Adafruit_GFX.h.
Adafruit_ILI9341.h — это библиотека, которая предоставляет функции для работы с дисплеем ILI9341. Она позволяет легко настраивать дисплей, выводить текст и графику, управлять цветами и другими параметрами.
Adafruit_GFX.h — это библиотека графики, которая предоставляет базовые функции для работы с графическими элементами на дисплее. Она содержит методы для рисования линий, прямоугольников, кругов и других форм.
Код пошивки Arduino для работы ILI9341
#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); // Пауза после вывода информации о нажатии
}
}
Объяснение изменений:
- Определены пины для сенсорного экрана TS_XP, TS_YP, TS_XM, TS_YM и значение TS_RX для сопротивления. Эти значения могут варьироваться в зависимости от подключения вашего сенсорного экрана.
- Создание объекта
теперь включает указанные пины: TouchScreen ts = TouchScreen(TS_XP, TS_YP, TS_XM, TS_YM, TS_RX);TouchScreen
Заключение
Дисплей ILI9341 – это отличное устройство для создания проектов с Arduino, требующих качественного графического отображения. Подключение дисплея ILI9341 к Arduino просто, а библиотеки Adafruit_ILI9341.h и Adafruit_GFX.h облегчают разработку приложений с использованием данного дисплея. Надеемся, что данное руководство поможет вам успешно внедрить дисплей ILI9341 в ваши проекты на Arduino.