TFT дисплей 3.2 с открытым исходным кодом

В данном проекте используется 3.2″ TFT дисплей с открытым исходным кодом. Для создания платы используется микроконтроллер PIC32 и 3.2″ TFT сенсорный экран (ILI9320 контроллер, использующий 16-битный PMP). Программное обеспечение состоит из двух основных частей. Одна из них отвечает за 2D функции и графический пользовательский интерфейс GUI с различными виджетами (кнопками, независимыми переключателями, слайдерами и так далее).

Принципиальная схема

Принципиальная схема

Описание

В самом начале я решил протестировать недорогие TFT экраны доступные на аукционе eBay (отображающие графическую и текстовую информацию, и более ничего); шаг за шагом я разработал печатную плату и программное обеспечение для нее с множеством 2D основных функций и даже небольшим графическим пользовательским интерфейсом GUI.

2 сторонняя печатная плата имеет размеры 49 x 49 мм

Теперь несколько слов о программном обеспечении. Сначала я пытался использовать некоторые блоки готового программного кода от компании Microchip, однако ее библиотеки, на мой взгляд, немного сложные (некоторые файлы имеют более 5 тысяч строк программного кода, и слишком много тегов #ifdef…. ><«). В конечном итоге я полностью переписал программный код с нуля. Разработанное программное обеспечение состоит из двух основных частей:
— P2D: 2D функции (прочерчивание строк, добавление текста и спрайтов, рисование заполненных полигонов, буферизация памяти …)
— GUI: небольшой графический интерфейс пользователя с некоторыми базовыми виджетами (кнопки, независимые переключатели, графики, …). Каждый виджет имеет общие атрибуты (запрещенный, уведомленный, сфокусированный, …), может группироваться и связываться с конкретными сигналами (напр., выдает сигнал, когда виджет нажат).

Как обычно проект имеет открытый исходный код OSHW / GPL3

Печатная плата

Макет платы выполнен в Eagle CAD


3D рендеринг печатной платы


Печатная плата с компонентами


Изготовленные печатные платы

Файлы проекта можно скачать на GitHub

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
U1 Линейный регулятор AMS1117-3.3 1
U2 МК PIC 32-бит PIC32MX795F512L 1
U3 Микросхема SST25UF016B 1
Y1 Кварцевый генратор TD-8.000MCD-T 1
VT1 Биполярный транзистор 2N2222 1
D1 Диод 1
С1, С4, С6, С12 С14, С16-С18 Конденсатор 10 мкФ 8
С2 Конденсатор 1 мкФ 1
С3 Электролитический конденсатор 100 мкФ 1
С5, С7-С11, С13, С15 Конденсатор 0.1 мкФ 8
R1-R3, R6, R13-R16 Резистор 100 кОм 8
R4, R5, R7, R9-R12 Подстроечный резистор 100 Ом 7
R8 Резистор 4.7 кОм 1
LCD1 LCD-дисплей DST2001PH 1
X1-X3 Разьем CON_254_2x5 3
X4 Слот MIKRO_SD 1