Подключение Arduino к ILI9163 TFT 128×160, 128×128 и 320×240

Содержание

ILI9163 TFT дисплей является небольшим, но мощным цветным дисплеем, который находит широкое применение в различных проектах электроники. На сегодняшний день подключение такого дисплея к микроконтроллеру Arduino через интерфейс SPI является популярным способом отображения информации. В этой статье мы поговорим о подключении ILI9163 TFT к Arduino через SPI, предоставим схему подключения и оптимизированный код, который позволит вывести на экран фразу «DocsTech.ru Help You!» красными буквами на черном фоне.

Код подходит для всех экранов с любыми размерами(128×160, 128×128, 320×240) и дюймами дисплеев(1.8, 2.2, 2.4, 3.5, 4.0).

Схема подключения ILI9163 TFT к Arduino через SPI

Для успешного подключения ILI9163 TFT к Arduino через SPI потребуется следующее:

  1. ILI9163 TFT дисплей
  2. Любое Arduino! В нашем случаем Arduino Uno.
  3. Провода для соединения компонентов
Схема подключения ILI9163 TFT 128x160 к Arduino через SPI
Рисунок 1. Схема подключения ILI9163 TFT к Arduino.

На схеме подключения следует обратить внимание на корректное соединение выводов дисплея с соответствующими пинами Arduino. Также важно правильно настроить режим работы SPI на Arduino для работы с TFT дисплеем.

Таблица 1. Подключение Arduino и ILI9163 TFT
TFT spiArduino
LED3.3V
SCK13
SDA11
A09
RESET8
CS10
GNDGND
VСС5V

Код для Arduino через SPI для вывода на ILI9163 TFT

Используя данный алгоритм вы сможете выводить данные с разных датчиков. Для вывода сложных изображений вам потребует изучение дополнительной документации.

Для программирования необходимы следующие библиотеки:

  • <SPI.h> — Базовая библиотека для инициализации SPI, но если нет можно скачать на github. Документация: SPI.h
  • <Adafruit_GFX.h> — Это основная графическая библиотека для всех наших дисплеев, предоставляющая общий набор графических примитивов (точки, линии, круги и т.д.). Скачать на github. Документация: Adafruit_GFX.h
  • <Adafruit_ILI9163.h> — Библиотека для дисплеев ILI9163. Скачать: github. Документация: Adafruit_ILI9163.h
Далее приведен оптимизированный код на C/C++ для Arduino, который позволяет вывести на ILI9163 TFT дисплее фразу «DocsTech.ru Help You!» красным цветом на черном фоне, а далее изменяет на динамический текст, через интерфейс SPI:
#include <Adafruit_ILI9341.h> #include <SPI.h> #include <Adafruit_GFX.h> #define TFT_CS 10 // объявление выводов #define TFT_RST 9 #define TFT_DC 8 // Инициализация дисплея с правильным классом Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC, TFT_RST); void setup() { tft.begin(); tft.setRotation(3); tft.fillScreen(ILI9341_BLACK); // Используйте правильное имя цвета tft.setTextColor(ILI9341_RED); // Используйте правильное имя цвета tft.setTextSize(2); tft.setCursor(10, 50); tft.println("DocsTech.ru Help You!"); } void loop() { // Изменяемый текст static String dynamicText = "Dynamic text"; // Очищаем область, где был напечатан предыдущий текст tft.fillRect(10, 50, 200, 20, ILI9341_BLACK); // Убедитесь, что ширина прямоугольника достаточна // Выводим новый текст tft.setCursor(10, 50); tft.println(dynamicText); // Делаем паузу, чтобы текст не мигал слишком быстро delay(1000); }

В данном примере, переменная dynamicText содержит текст, который будет динамически изменяться на дисплее. Внутри функции loop() происходит очистка области, где был напечатан предыдущий текст, и вывод нового текста. После каждого изменения текста делается пауза в 1 секунду с помощью delay(1000).

Используя предложенный код, вы сможете легко вывести текст на ILI9163 TFT дисплей через SPI, создавая красочные и информативные проекты. Не забывайте о корректной настройке параметров вывода для достижения нужного эффекта на дисплее. Будьте внимательны при подключении компонентов и следуйте предложенным инструкциям для успешной работы вашего проекта.