Nextion Enhanced 3.5» — обновленная версия всем известной HMI панели, теперь с RTC, GPIO и EEPROM на борту

  • Цена: $29.90, платная доставка

 

Предложили на обзор панельки Nextion второго поколения, выбрал самую дешевую версию с процессором 108Mhz и макетную плату с разведенными GPIO и кнопками.
В общем, все старые фичи на месте, добавили приличное количество новых. Девайс стал гораздо интереснее и ближе к самодостаточному устройству. С задачей удобного и красивого управления чем-нибудь теперь может справиться и без Ардуин.
Подробности, как всегда, под катом.Посылка пришла стандартная для этого магазина: большая коробка с довольно щедрым количеством пупырки.
Внутри у нас стандартная картонная коробочка:

Дисплей с обоих сторон проложен вспененным материалом (на фото верхний убрал).

Комплект тоже стандартный — интерфейсный кабель и удобный переходник питания на microUSB.

Панель запечатана, что всегда приятно.
Плата расширения:

Ссылка: www.itead.cc/nextion-expansion-board.html
Тоже запечатана, в комплекте шлейф. Защитного материала не вложено, но сломать кусок текстолита в коробке не так просто. =)

Посмотрим на железо

Панель

Размеры 100.5(L)×54.94(W)×5.45(H), разрешение 480×320. См. даташит.
Дисплей заклеен транспортировочной пленкой. Тачскрин резистивный, на стеклянной подложке. При нажатии радугу не показывает.

Качество матрицы идентично предыдущей версии — TN без изысков.

А вот сзади всё гораздо интереснее.

Микроконтроллер использован GigaDevice GD32F103.
Это STM32F103-подобный МК с несколько большей производительностью.

Новинка два: RTC. Батарейка выбрана… странная. Это CR1220, хотя CR2032 поместилась бы. Видимо, так сделано из соображений унификации с меньшими версиями.

RTC сделаны на микросхеме NXP PCF8563. Не топовое решение, ибо использует внешний кристалл и не считает поправку на температуру. Но для большинства задач точности плюс-минус пара минут в месяц хватит.
Рядом EEPROM AT24C08BN на 1024кб. Сидит на той же шине I2C. =)

Основная флеш-память W25Q256FV. Не соврали, на 32 мегабайта.

Под МК находится контроллер тачскрина XPT2046:

Стабилизатор питания применен линейный на 3.3 вольта.
Вроде бы, это LR6209, но маркировка странная. В любом случае, потребление дисплея до 150мА и линейный стабилизатор вполне уместен.

GPIO
Только разъем под шлейф с шагом 1мм, гребенки 2,54мм нет. А жаль.

Плата расширения

Тут всё прикольно. И 6 кнопок есть, и светодиод, и пьезо-пищалка, и гребенка 8 GPIO.
Размеры 45х65мм.

Сзади пусто.

Софт

Напомню, что работа с панелью осуществляется через Nextion Editor.
Попробовать можно и без покупки чего-либо, среда разработки включает себя эмуляторы всех девайсов серии Nextion.
Как обычно, из коробки зашито демо.
Первая страница демонстрирует разблокировку свайпом:


Вторая RTC и работу с EEPROM.
RTC настраиваются в Nextion Editor (Debug -> Operation -> Nextion Device RTC Calibration).
Также часы можно выставлять как угодно через системные переменные rtc0-rtc5.

«Пароль» лежит в энергонезависимой памяти и его можно изменять.

Это всё хорошо, но не освещена работа GPIO.
Так что попробуем сами.

PWM выход

Для начала изучим документацию:
www.itead.cc/wiki/Nextion_Instruction_Set
В общем, попробуем управлять светодиодом (gpio6) на плате.
Берем демо-проект, выкидываем лишнее:

СКАЧАТЬ
Управлять скважностью будем ползунком, индикация в поле t0.
Код ползунка, «Touch release event»:

va0.val=h0.val //записываем положение ползунка (0-100) в переменную va0
pwm6=h0.val //записываем va0 в системную переменную pwm6
cov va0.val,t0.txt,0 //конвертируем значение в текст и выводим в поле t0
cfgpio 6,3,0 //включаем ШИМ

И всё работает. Светодиод вполне себе изменяет яркость.
Посмотрим, что у нас на выходе.

А на выходе у нас нормальный прямоугольный сигнал 1кГц (настраиваемо командой pwmf в диапазоне 1-65536 Hz), с амплитудой 3,3В.
1%:

~30%:

~80%:

Пищалке от ШИМ становится плохо. Она активная с фиксированной частотой звука, так что лучше её использовать в цифровом режиме. Пищит громко и противно. =)

Вход, физические кнопки

GPIO работают и на вход. Как через АЦП, так и в цифровом режиме. Также можно привязать физическую кнопку к программной.
Код пишем в «Postinitialize event» главного экрана:

cfgpio 2,1,b0 //gpio2 привязан к экранной кнопке b0

И снова всё работает, кнопка нажимается. Никакое действие нажатие не выполняет.

Вывод

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

Что касается недостатков, то придерусь разве что к GPIO: они не вполне полноценные. Только цифровой/аналоговый вход, датчики без промежуточных устройств подключить не выйдет. Это не круто.
С другой стороны, и тем, что есть, вполне можно обходиться. Всё же, это таки специализированная панель управления, а не универсальная платформа для DIY.

Благодарю за внимание. 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *