Для работы над книгами и проектами мне приходится подключать различные дисплеи к платам Arduino. Обычно это один из трех дисплеев:

  1. TFT 240×320
  2. TFT 128×160
  3. OLED 128×64

Чтобы сэкономить время на сборку макетов и не вспоминать каждый раз схему подключения, я изготовил универсальный дисплейный шилд  для Arduino Uno R3:

Для подключения к Arduino Uno R3 применяются сквозные разъемы (Stackable Header), которые можно заказать на Aliexpress:

Благодаря сквозным разъемам, даже при установленном дисплее сохраняется полный доступ ко всем выводам платы Arduino.

Постарайтесь приобрести сквозные разъемы с максимально толстой и жесткой штыревой частью. Мне достались не очень хорошие разъемы с тонкими штырьками. Пришлось слегка изогнуть их, чтобы обеспечить надежный контакт с платой Arduino.

С обратной стороны платы находятся четыре резистора сопротивлением 1,5 кОм для согласования пятивольтовой логики Arduino с трехвольтовой логикой дисплеев. Рекомендую использовать резисторы именно этого номинала, чтобы надежно работали разные дисплеи. С резисторами меньшего номинала не у всех дисплеев будет срабатывать сброс чипа, а с резисторами номиналом больше 2 кОм может ненадежно работать шина SPI.

Для дисплея TFT 240×320 нужен гасящий резистор 15-30 ом в цепи подсветки, подключенной к линии питания +3,3 вольт. Подсветка дисплея TFT 128×160 подключается напрямую к линии +5 вольт. Сброс TFT дисплеев подключен к линии сброса Arduino и не занимает лишний вывод GPIO.

Теперь для отладки проекта с разными дисплеями достаточно установить поверх Arduino Uno R3 дисплейный шилд и вставить в разъем один из дисплеев:

Оба дисплея TFT идеально вписываются в расстояние между линейками контактов Arduino и не мешают подключать соединительные провода. На шилде очень много свободного места. Во второй версии шилда хочу добавить модуль FLASH памяти, на котором можно развернуть имитацию файловой системы и компактный слот для карты памяти MicroSD. Дисплеи TFT оборудованы слотом для SD карт, но вставленная в него крупногабаритная карта памяти загораживает один из разъемов Arduino Uno. Да и вообще, формфактор SD уже изрядно устарел.

Изменения в стандартных скетчах

Для оптимизации разводки платы незначительно изменена нумерация выводов GPIO, к которым подключены выводы дисплеев RES, CS и DC.

Для скетчей с дисплеем 240×320 на чипе ILI9341 раскладка выводов выглядит так:

Для дисплея 128×160 на чипе ST7735 добавляется определение вывода RST:

Схема, печатная плата и примеры скетчей

Архив с исходниками схемы и платы в формате DipTrace, а также готовые картинки в PDF для печати фотошаблонов.

Архив с рабочими библиотеками дисплеев и тестовыми примерами скетчей.