ELECTRONICS

Дисплей для Arduino: LCD, OLED или TFT — какой выбрать и чем отличаются

Дисплей превращает проект из коробочки с мигающим светодиодом в прибор. Но выбор здесь не сводится к «чем больше и цветнее, тем лучше»: у Arduino UNO всего два килобайта оперативной памяти, и дисплей может съесть половину только под хранение картинки.

Реальных вариантов три, и они закрывают разные задачи. Разберём, чем они отличаются на практике, а не в рекламных характеристиках.

Разборы конкретных моделей

Три типа дисплеев

Символьный LCD 1602 и 2004

Показывает только буквы и цифры: шестнадцать символов в двух строках или двадцать в четырёх. Рисовать графику нельзя, зато потребление памяти почти нулевое, текст читается при ярком солнце, а стоит дисплей копейки. С переходником I2C занимает всего два провода. Идеален, когда нужно вывести температуру, время или пункт меню.

OLED 0,96″ на SSD1306

Монохромный графический экран сто двадцать восемь на шестьдесят четыре точки. Каждая точка светится сама, поэтому чёрный по-настоящему чёрный, а угол обзора не ограничен. Подключается по двум проводам I2C. Расплата — библиотека держит весь кадр в памяти платы: это килобайт из двух доступных на UNO.

Цветной TFT 2,4″ на ILI9341

Двести сорок на триста двадцать точек и шестьдесят пять тысяч цветов. На нём помещается настоящий интерфейс с графиками и иконками. Но проводов до девяти, логика три и три десятых вольта против пяти у UNO, потребление около ста миллиампер из-за подсветки, а библиотека со шрифтами занимает заметную часть флеш-памяти.

Сколько проводов и почему это важно

Символьный LCD в прямом подключении требует шесть проводов, но с переходником I2C — всего два плюс питание. OLED тоже работает по I2C, и это его главное практическое преимущество: два провода на всю шину, сколько бы устройств вы к ней ни повесили.

TFT использует шину SPI, а она быстрее, но требует отдельных линий выбора устройства, сброса и переключения команда-данные. На UNO часть выводов при этом занята жёстко: одиннадцатый и тринадцатый переназначить нельзя. В проекте, где уже задействовано много выводов, это может стать решающим доводом.

Память: главное ограничение UNO

Символьному дисплею память практически не нужна — он хранит символы у себя. Библиотека Adafruit для OLED держит буфер кадра в оперативной памяти платы: сто двадцать восемь на шестьдесят четыре точки — это ровно килобайт из двух доступных. Работает, но места на остальную программу остаётся немного; экономнее ведёт себя библиотека U8g2 в постраничном режиме.

Для TFT буфер в памяти UNO не поместился бы физически, поэтому библиотека рисует напрямую на экране, без промежуточного кадра. Отсюда следствие: перерисовка видна глазом, и сложную анимацию на UNO не сделать. Если нужен полноценный цветной интерфейс, честнее сразу брать плату помощнее — ESP32 или STM32.

Что выбрать под задачу

Вывести показания датчика, время, состояние системы — символьный LCD с I2C. Дёшево, надёжно, читается на солнце.

Компактный прибор с иконками, графиком или крупными цифрами — OLED. Смотрится современно, ест два провода, но следите за памятью.

Полноценный интерфейс с цветом и картинками — TFT, и лучше не на UNO. Заодно многие TFT-модули идут с сенсорным слоем и слотом для карты памяти на той же плате.