Выбрать главу

Рис. 6.26. Общий вид дисплейного модуля

Рис. 6.27. Монтаж платы расширения дисплейного модуля

Плата расширения представляет собой несложную самодельную печатную плату, на которую припаян готовый китайский клон модуля Arduino Pro Mini с рабочим напряжением 5 В и тактовой частотой 16 МГц. Использование готового модуля намного рациональнее в отношении затрат времени и денег, чем самостоятельное изготовление печатной платы, содержащей микроконтроллер и навесные элементы.

Встречаются различные варианты клонов Arduino Pro Mini. На рис. 6.28 показан внешний вид платы, использованной в дисплее. Разводка расширяющей платы дисплея выполнена под этот вариант клона. Можно приобрести другую версию модуля Arduino, но тогда придется изменить разводку расширяющей платы.

Рис. 6.28. Готовый модуль Arduino Pro Mini для дисплея

Дисплейный модуль можно приобрести в России, в магазинах, торгующих аксессуарами и модулями расширения для Arduino, либо заказать в Китае или на eBay. Также потребуется приобрести клон модуля Arduino Pro Mini. Автор приобретал компоненты на Aliexpress. Ключевые слова для поиска: "TFT SPI display" и "Arduino Pro Mini".

Печатная плата изготавливается любым удобным способом. Все они многократно и подробно описаны в Интернете и радиолюбительской литературе, поэтому здесь мы не будем останавливаться на технологических подробностях. Отметим лишь, что ширина проводников и зазоры между контактными площадками позволяют использовать "лазерно-утюжную технологию" (ЛУТ). Ч Контактные площадки под монтаж модуля Arduino выполнены без отверстий. Для качественной пайки достаточно смазать флюсом площадки и отверстия модуля. Припой легко затекает в отверстие модуля Arduino й надежно припаивает его к расширяющей плате.

Принципиальная электрическая схема изображена на рис. 6.29. Исходный файл схемы, а также рисунок печатной платы в формате DipTrace можно скачать на сайте издательства (см. приложение 4). Схема несложная и содержит минимум деталей, поэтому все соединения можно выполнить даже без печатной платы, отрезками тонкого провода.

Рис. 6.29. Схема дисплея

Резисторы R1-R4 предназначены для взаимного согласования логических уровней между модулями. Дело в том, что хоть общее напряжение питания конструкции 5 В, но внутреннее рабочее напряжение питания дисплейного модуля — 3,3 В, вырабатывается встроенным стабилизатором. А рабочее напряжение модуля Arduino — 5 В. Соответственно различаются напряжения логических уровней двух модулей. Если выходы Arduino Pro Mini соединить напрямую со входами контроллера дисплея, то он может выйти из строя. Резисторы R1-R4 ограничивают ток в цепи и в сочетании с внутренним сопротивлением входов работают, как делители напряжения.

Дисплейный модуль содержит слот для подключения карты SD, разведенный на отдельные выводы. Причем согласующие резисторы уже установлены на плате модуля. В схеме устройства предусмотрено подключение карты SD к микроконтроллеру, это позволяет в будущем использовать дисплей и для записи логов (журналов) полета. Но в настоящее время функция ведения лога в прошивке не реализована.

Для подключения дисплея к полетному контроллеру, а также для записи прошивки используется разъем J1. По разводке выводов он совпадает с популярной платой MinimOSD и совместим с фирменным адаптером FTDI USB-COM и его клонами. Поэтому один и тот же адаптер пригодится для записи прошивок в разные модули. Поскольку дисплей подключается к порту SERIAL0, то для подключения по USB дисплей следует отключать.

Запись прошивки в контроллер дисплея

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

Но в стандартном наборе библиотек Arduino IDE нужной нам библиотеки нет, ее следует установить отдельно. В скачанном с сайта издательства архиве найдите папку с названием Adafruit_ST7735 и скопируйте ее полностью, не меняя название, в папку для библиотек Arduino — C:\Program Files\Arduino\libraries. Затем скопируйте туда же библиотеку графического ядра AdafruitGFX. Содержимое папки библиотек должно выглядеть приблизительно так, как на рис. 6.30.