- Цена: $44.90
- Еще один обзор довольно интересной самодостаточной платформы для простого создания GUI к Вашим самоделкам.
- Вариант 4,3″, 480х272.
- Другие обзоры данных панелей:
- ,
- ,
- .
- Сразу уточню, это
не
- «дисплей для Ардуины», это
- . =)
Распаковка
Пришел дисплей в большой картонной коробке.
Нещадно помятой, надо заметить.
Впрочем, ничего не пострадало.
Железо
Вот и наш дисплей. В симпатичной собственной коробке.
Сверху и снизу проложен мягким материалом, вероятность повреждения крайне мала.
Сам дисплей заклеен пломбой. Это приятно.
Из аксессуаров у нас адаптер на Dupont разъемы и адаптер питания.
Кстати, классная штука. Воткнул в свою макетную плату, да там и оставил.
Сам дисплей, заклеен транспортировочной пленкой. Видна резистивная тач-панель.
Сзади это дело выглядит… весьма мило!
К чистоте и качеству пайки нареканий нет.
К сожалению, слот под карту памяти только для прошивки.
Мозги и сердце девайса — ARM микроконтроллер STM32.
Большая микросхема — ПЛИС Altera MAX II. Производитель называет её «RGB driver», я же от комментариев воздержусь, ибо не очень разбираюсь в ПЛИС.
Постоянная память объемом 16 мегабайт, что довольно некисло.
А тут оперативная память видеоядра.
На преобразователе питания не сэкономили, импульсный с танталовыми конденсаторами.
Качество изображения
Панель построена на TN-матрице. В принципе, это всё объясняет.
Углы обзора у нас ограниченны, цвета не такие сочные, уже привыкшему к IPS глазу.
Но в целом, дисплей довольно качественный. Яркости достаточно, цвета довольно убедительные.
Ну и простите, господа — это же не устройство для просмотра кино.
Кстати, цифры «4,3» и «480х272» во мне всколыхнули кое-какие воспоминания. Это же был мой 2007 и PSP!
Так что делаю скриншот в меню PSP 3000, заливаю в панель и сравниваю:
Это PSP покрупнее:
Это Nextion:
Собственно, было бы сопоставимо, но картину портят неважные градиенты.
Это не критично, просто надо учитывать особенности железки (65K цветов) при создании дизайна GUI.
Софт
nextion.itead.cc/
Ну а вот и то, за что мы платим.
В смысле, софт-то бесплатный и даже с полноценным эмулятором всех панелей изготовителя (да-да, качайте и развлекайтесь, все функции доступны, нажатия на тач выполняются мышкой), но вот залить результат можно только в Nextion. =)
Для начала, давайте проверим самые азы.
Поморгаем светодиодом, а как же.
Идем смотреть инструкцию: support.iteadstudio.com/support/discussions/topics/1000065323
Но совсем-совсем для начала, нужно откалибровать тачскрин.
Подключаем панельку USB-TTL адаптером (питание, RX-TX, TX-RX). У меня вот такой.
Открываем пустой проект в Nextion Editor, жмем Debug.
Выбираем Nextion Device и соответствующий COM-порт.
В окошке Input пишем «touch_j», Enter.
Запустится программа калибровки:
Отлично, что это предусмотрели.
Ну а теперь можно и помигать.
Hello World
Вот описание проекта: www.itead.cc/blog/product-preview-nextion-in-an-arduino-project-3
К сожалению, что-то устарело и ничего не работает. Но мы разберемся!
Проект сделаем с нуля. Скачать.
Две странички, две картинки, две кнопки.
Кнопкам задаем отсылать по COM порту своё состояние по отпусканию.
В симуляторе всё работает, кажись.
Подключаем всё так же, RX-TX, TX-RX. Ну и результат:
Идем далее, ввод-вывод
Мы можем не только управлять чем-то с дисплея, но и посылать на него данные.
Что ж, второе, что нужно сделать после мигания светодиодом — часы, ясное дело.
Подключаю свой к Ардуине свои любимые часы DS3231, иду в редактор.
Набрасываю проект:
Скачать HMI проект.
Вывод дисплея настолько понятный, что читается невооруженным глазом в мониторе COM-порта.
Зачем мне библиотеки, подумал я? Сделаем простейший парсер.
Через часок я вспомнил, что программист из меня неважный.
В общем, идем за библиотекой.
По умолчанию она настроена под Arduilo Mega с двумя физическими портами, так что под Pro Mega и подобные нужно настроить NexConfig.h так:
#define DEBUG_SERIAL_ENABLE —> //#define DEBUG_SERIAL_ENABLE
#define nexSerial Serial2 —> #define nexSerial Serial
Разобраться было не очень просто, стиль программирования в примерах… своеобразный.
В качестве отправной точки я использовал эту статью: www.itead.cc/blog/nextion-tutorial-based-on-nextion-arduino-library
Обнаружилась особенность, которая стоила некоторого количества седых волос: обязательно нужно указывать уникальные имена для всех полей, куда будем делать вывод. Nextion Editor позволяет указывать параметр global/local, но железо не всегда с ним согласно.
В общем, вышло как-то так: скетч проекта.
Код кривой и громоздкий, прошу прощения. Но надеюсь, минимально читаемый.
В работе:
Выводы
+ Просто работать
+ Широкие возможности, из которых я использовал малую часть — ползунки, барграфы, стрелочные индикаторы
+ Неубиваемость — проверено выдергивание питания нагорячую при перепрошивке
+ Неплохое качество тачскрина и дисплея
+ Навалом памяти, не удивлюсь, если туда влезет VN-игра целиком, например
± Цена. Хотя модели поменьше вполне доступны: младшая 2.4“ стоит всего-то $13.90
— Нет GPIO (впрочем, уже анонсировано следующее поколение Nextion Enhanced с GPIO и RTC на борту)
Благодарю за внимание.
Бонус
Не терпится оставить коммент, что дорого?
У меня в закромах нашелся забавный девайс с подобным функционалом. Уже не выпускается, но на eBay стоит US $895.00, что примерно в 20 раз дороже.
Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.