RSS блога
Подписка
Nextion Enhanced NX4827K043 - 4.3'' дисплей + тачскрин + контроллер для взаимодействия с пользователем
- Цена: $50
- Перейти в магазин
В прошлом месяце приехало весьма интересное устройство — дисплей с контроллером, встроенной памятью и UART интерфейсом.
Про то как их использовать написано уже много, поэтому я только в общих чертах расскажу, что это за зверь и с чем его едят.
Состоит устройство (язык не поворачивается называть его дисплеем) из
Судя по тому, что дорожки от МК, ОЗУ и экрана ведут к ПЛИС, можно предположить, что все данные из ОЗУ на экран проходят через неё, а МК занимается более полезными задачами.
Наружу выведены:
Expansion Board к нему — это плата с 6-ю кнопками, светодиодом, пищалкой и шлёйфом. Выглядит так:
И стоит $5.
Перед дальнейшим чтением рекомендую бегло ознакомиться ознакомиться с
В принципе, это почти всё, что вам понадобится в работе.
Из полезного есть ещё Nextion user manual
Теперь ответим себе на вопрос: «Зачем это устройство создано?».
Экран 480*272=130560 пикселя. Умножим на 2 байта на пиксель и получим размер полноэкранного изображения ровно в 255 кБ.
Флеш памяти у нас 32 МБ. Этого хватит на 128 полноэкранных картинки. Много это или мало? Для видео однозначно мало, а для всяких красивостей фона и элементов управления более чем достаточно.
UART может работать на скорости максимум 115200 бод. Это значит что наша картинка будет передаваться не менее чем за 255*1024*8/115200=18.1 секунды. Так что не то что видео, а даже картинки через него передавать не вариант.
Девайс предназначен для другого. Он предназначен чтобы взаимодействовать с человеком посредством обработки нажатий (да-да — он сам обрабатывает нажатия, для этого не нужен внешний контроллер!) и отображения заранее запрограммированных в него элементов!
К внешнему контроллеру при этом предъявляются очень низкие требования — отправлять и принимать команды (из Nextion Instruction Set) по UART на скорости от 2400 до 115200 бод. С этим может справиться даже какой-нибудь ATtiny24A с 2 кб флеша и 128 байтами ОЗУ без кварца, а пользователю при этом будет отрисовываться многомегабайтный интерфейс со всякими красивостями.
Устройство предназначено для взаимодействия внешнего контроллера с человеком. Попробовал сделать пример взаимодействия и настройки хотя бы того что есть в самом устройстве и плате расширения. Вот что получилось (обратите внимание, что внешний контроллер при этом не используется, всё реализовано средствами самого «дисплея»):
HMI файл работа которого показана на видео
Внешнему контроллеру при этом можно отправлять по UART короткие посылки.
К сожалению, качество видео очень плохое. Для оценки качества экрана сделал две фотографии:
Достоинства:
В целом, создалось впечатление весьма качественно сделанного устройства с рядом мелких недоработок.
Рекомендовать этот девайс могу только тем, для кого быстрая разработка и качество важнее цены.
Про то как их использовать написано уже много, поэтому я только в общих чертах расскажу, что это за зверь и с чем его едят.
Состоит устройство (язык не поворачивается называть его дисплеем) из
- Микроконтроллера GD32F103R8T6;
- SDRAM Winbond W9864G6KH-6 (8 МБ);
- Флеш памяти Winbond W25Q256FG (32 МБ, 100 000 циклов перезаписи);
- ПЛИС Altera MAX II EPM570T144C5N;
- Дисплея 480*272 пикселя с резистивным сенсором нажатий (не касаний!).
Судя по тому, что дорожки от МК, ОЗУ и экрана ведут к ПЛИС, можно предположить, что все данные из ОЗУ на экран проходят через неё, а МК занимается более полезными задачами.
Наружу выведены:
- Разъём GPIO под шлейф (гребёнки 2.54 мм нет, что плохо). Сразу скажу, что это не то же самое, что GPIO у Arduino или Raspberry pi. Тут оно заточено на подключение кнопок и индикаторов.
- Разъём с четырьмя контактами: питание (GND и +5V) и UART (RX, TX), провод в комплекте.
- Разъём для SD карты. Теоретически, когда устройство будет далеко от компа, через неё можно будет обновлять прошивку.
Expansion Board к нему — это плата с 6-ю кнопками, светодиодом, пищалкой и шлёйфом. Выглядит так:
И стоит $5.
Перед дальнейшим чтением рекомендую бегло ознакомиться ознакомиться с
В принципе, это почти всё, что вам понадобится в работе.
Из полезного есть ещё Nextion user manual
Теперь ответим себе на вопрос: «Зачем это устройство создано?».
Экран 480*272=130560 пикселя. Умножим на 2 байта на пиксель и получим размер полноэкранного изображения ровно в 255 кБ.
Флеш памяти у нас 32 МБ. Этого хватит на 128 полноэкранных картинки. Много это или мало? Для видео однозначно мало, а для всяких красивостей фона и элементов управления более чем достаточно.
UART может работать на скорости максимум 115200 бод. Это значит что наша картинка будет передаваться не менее чем за 255*1024*8/115200=18.1 секунды. Так что не то что видео, а даже картинки через него передавать не вариант.
Девайс предназначен для другого. Он предназначен чтобы взаимодействовать с человеком посредством обработки нажатий (да-да — он сам обрабатывает нажатия, для этого не нужен внешний контроллер!) и отображения заранее запрограммированных в него элементов!
К внешнему контроллеру при этом предъявляются очень низкие требования — отправлять и принимать команды (из Nextion Instruction Set) по UART на скорости от 2400 до 115200 бод. С этим может справиться даже какой-нибудь ATtiny24A с 2 кб флеша и 128 байтами ОЗУ без кварца, а пользователю при этом будет отрисовываться многомегабайтный интерфейс со всякими красивостями.
Устройство предназначено для взаимодействия внешнего контроллера с человеком. Попробовал сделать пример взаимодействия и настройки хотя бы того что есть в самом устройстве и плате расширения. Вот что получилось (обратите внимание, что внешний контроллер при этом не используется, всё реализовано средствами самого «дисплея»):
HMI файл работа которого показана на видео
Внешнему контроллеру при этом можно отправлять по UART короткие посылки.
К сожалению, качество видео очень плохое. Для оценки качества экрана сделал две фотографии:
Достоинства:
- Прост и изучении. За пару часов можно с нуля разобраться.
- Быстрая разработка, есть визуальный редактор.
- Качественные компоненты. Например, флеш память на 100 000 циклов перезаписи.
- Отладчик. Можно вначале поиграться, а потом решить покупать или нет.
- Резистивный сенсор. Можно нажимать ногтём или любым стилусом.
- Экран матовый.
- Цена. $55 — это много за такое устройство (с Expansion Board).
- Весьма скудная библиотека компонентов. Встроенный язык тоже не очень. Вот пример очень неудачного ограничения:
When configure a GPIO to input binding mode, only components in current page can be bind. It is recommended to put the instruction in the preinitialize event, because binding event wont not be triggered after page refreshing or switching.
Т.е. перебиндить аппаратные кнопки после перехода на другую страницу не получится.
- Мерцание при обновлении стандартных компонентов. Замечено у Gauge и Waveform.
- Не нашёл поддержки картинок с прозрачностью.
- Требователен к источнику питания: 4.75-7 В и средний ток 250 мА. При просадке напряжения, дисплей начинает мигать.
- Только UART. Могли бы сделать общение с ним ещё по SPI и I²C.
- Вывод GPIO только под шлейф (гребёнку 2,54 мм можно впаять только в Expansion Board), нет АЦП.
В целом, создалось впечатление весьма качественно сделанного устройства с рядом мелких недоработок.
Рекомендовать этот девайс могу только тем, для кого быстрая разработка и качество важнее цены.
+61 |
20666
42
|
Самые обсуждаемые обзоры
+79 |
4345
153
|
+62 |
4495
75
|
Производитель его называет Human-machine interface (HMI). По-русски это можно назвать Операторской панелью или пультом оператора.
Например, можно было бы сделать
Но не получится т.к. всё будет мерцать при обновлении.
При обновлении z0.val в данном случае j0 вообще скроется.
j0 — Progress bar
Если бы была реализована прозрачность, то для z0 можно было бы сделать фон прозрачный в районе j0 и мерцания j0 можно было бы избежать.
Другой вариант — реализовать «глубину», чтобы j0 был всегда поверх z0, но этого тоже нет.
Но за обзор плюс.
А если нужен экранчик в своё устройство, то это один из вариантов.
Ещё хороший вариант из тех, что я пробовал — дисплей Nokia 5110, но это совсем другого класса экраны.
За 50 доларов, можно взять андройд телефон/планшет и реализовать все функции на программном уровне. При этом дисплей будет получше и отзывчивость устройства, думаю тоже.
Собственно все минусы именно в программировании. Выгнать наружу с процессора, можно по свободным портам, только мелкую логику нужно допаять.
Предложенный вами вариант интересен своей ценой, но это не есть аналог рассматриваемого устройства. Тут в качестве замены больше планшет/телефон на Android подойдёт.
У меня, к примеру, возникло ощущение, что он переводит векторный (или как там его) шрифт в растр, причем делает это с далеко не лучшим качеством. В итоге даже если выбрать красивый шрифт, то генератор шрифта Itead превратит его в нечто убогое (причем чем меньше целевой размер, тем хуже).
Поэтому если хочется красоты, то вариант, по сути, один — использовать графику.
Мне, к примеру, хватило бы, может и двух — нормального Arial и Times.
Потому что если речь идет о приемлемой визуализации, то Nextion с такими шрифтами никаких быстрых результатов не даст. Или ужас-ужас, или тратим уйму времени, чтобы все, что можно, показывать графикой.
Загрубление будет в любом случае, и думаю, на этот экран никто долго и пристально не смотрит, считать показания, ткнуть несколько раз в экран и всё. Читаемость в даннном случае важнее красоты,
В крайнем случае можно создать свой шрифт и отдать генератору. Думаю после нескольких попыток всё равно всё упрётся в разрешение.
есть конечно от Adafruit RA8875 Driver Board for 40-pin TFT Touch Displays но ценник $34.95 вообще не реален лучше за 1500р. на том же али купить все в сборе.