Как подключить 37-контактный TFT-дисплей 240x320 к Arduino Nano?

У меня есть старый TFT-дисплей (извлеченный из плеера MP5), и я не могу понять, как подключить его к Arduino Nano. Помогите, пожалуйста. Вот технический паспорт TFT: http://read.pudn.com/downloads137/sourcecode/embed/586271/Varitronix-2.8-lcd/vl-ps-cog-t280mbqi-041.pdf Спасибо.

, 👍0


1 ответ


Лучший ответ:

0

Nano не является хорошим выбором для управления этим экраном. Вам нужно, чтобы почти все контакты Nano были подключены к одному экрану, и их недостаточно, чтобы включить сенсорный экран. И это когда вы не используете последовательный порт Arduino (контакты TX/RX) для связи с ПК.

Вам необходимо подключить:

  • 16 контактов данных
  • /CS-контакт
  • /RS-контакт
  • /WR-контакт
  • Опционально вывод RD или привязать его к 3,3 В
  • /СБРОС штифта

И все это нужно сместить на уровень 3,3 В.

Вам необходимо подать 3,3 В на VCC1/2 и VCI. Светодиод A подключается к 5 В (так как он имеет большую токовую нагрузку, чем 3,3 В), а каждый вывод светодиода Kx через подходящий резистор (возможно, 220 Ом) — к земле.

Для сенсорного экрана контакты X- и Y- должны быть подключены к цифровому контакту ввода-вывода, а контакты X+ и Y+ — к аналоговым контактам ввода-вывода, которые также могут использоваться как цифровые контакты ввода-вывода (то есть не A6/A7 на платах, где они есть).

А затем вам нужно получить или написать программное обеспечение для управления ILI9320 через 16-битный интерфейс.

Управлять интерфейсом достаточно просто:

Изначально:

  1. Установить /CS HIGH
  2. Установить /WR HIGH
  3. Установите /RD HIGH (если не привязан к 3,3 В)
  4. Установить/СБРОСИТЬ ВЫСОКИЙ
  5. Короткая задержка
  6. Установить /СБРОСИТЬ НИЗКИЙ
  7. Короткая задержка
  8. Установить/СБРОСИТЬ ВЫСОКИЙ

Затем для передачи группы 16-битных слов:

  1. Установить /CS LOW
  2. Установите значение для записи на 16 выводах данных
  3. Импульс /WR НИЗКИЙ, затем ВЫСОКИЙ
  4. Повторите с пункта 2 для каждого слова
  5. Установить /CS HIGH

Ознакомьтесь с техническим описанием ILI9320, чтобы узнать, как управлять чипом, или используйте существующий код библиотеки (поддерживает ли его uTFT или u8glib?).

Для сенсорного экрана это случай установки Y- LOW и Y+ HIGH, а X- и X+ на INPUT, затем считывание аналогового значения из X+. Повторите с X-, установите LOW и X+ на HIGH, и оба Y установите на INPUT, и считывание аналогового значения из Y+.

Вы также можете получить лучшие результаты, прочитав несколько инвертированных настроек:

  • Y- = НИЗКИЙ, Y+ = ВЫСОКИЙ, X- = ВХОД, Читать X+.
  • Y- = ВЫСОКИЙ, Y- = НИЗКИЙ, X- = ВХОД, Читать X+.
  • Вычтите второе показание из 1023
  • Добавить первое и (измененное) второе чтение
  • Разделите на два.
  • Повторите для показаний X-/X+ от Y+.

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

И, конечно, вдобавок ко всему, вам нужно найти способ подключения к разъему с шагом 0,5 мм. Обычно используется гнездо FPC с шагом 0,5 мм, что означает печатную плату с одним из них. Вы можете найти для него адаптер на 37 контактов, но 37 контактов — это не распространенный формат. Обычно 50 контактов более распространены для размещения более общего интерфейса, включая контакты M0-M2, которые позволяют вам выбирать тип интерфейса, а также 18-битную шину данных для обеспечения полного интерфейса RGB6/6/6 и даже тактирования без буфера необработанных данных дисплея для очень высокоскоростных обновлений дисплея микроконтроллерами, которые поддерживают такой интерфейс.

,