Здравствуйте, Коллеги!
Я плотно занимался несколько месяцев разными тестовыми проектами в связке Arduino + Nextion, много получил ответов на свои вопросы от программистов на форуме,
очень благодарен откликнувшимся, тем самым я получил первичные навыки программирования панели Nextion.
Но, к сожалению не всё так радужно, как хотелось бы, основной ужасный функционал, это прием-передача по RX-TX между Arduino и Nextion.
Не буду огорчать форумчан у которых не большой проект Arduino + Nextion, если у вас пару кнопок и пару выводов информации на дисплей, например температура и влажность с одного датчика.
Всё будет хорошо!
Но! Если у Вас не малый проект, несколько страниц в панели, на страницах более 50 кнопок, и более 40 данных (получить-задать параметр), то время передачи-отклика займет не меньше
20-30 секунд.
Если не лень, создайте проект в панели, создайте штук 50 кнопок, и просто передавайте нажатие-отпускание кнопки в Arduino (FLProg) для включения-выключения светодиода.
Подключите в проекте FLProg кнопки к базовому элементу "OR", а выход на пин светодиода, типа, как на примере картинки, только штук 50 входов.
При нажатии (удерживании) кнопки, Вы будете ожидать секунд 15-30 до того момента, пока светодиод зажжется, затем, после отпускания кнопки, светодиод будет светиться еще секунд 15-20.
Если в FLProg (при большом проекте) использовать "Получить ID страницы", то если Вы в Nextion создадите кнопку перехода между страницами (например page page2),
и перейдете со страницы 1 на страницу 2, в ардуинке еще секунд 15-20 будет висеть страница 1.
При большом проекте, например "Получить параметр" > "Период опроса" не имеет значения, какой период опроса Вы зададите, хоть 100 мс, хоть 1 сек, результат по отклику будет одинаковый.
Если есть страница, которая используется только для настроек, то в FLProg можно создать переменную и функцию "Выполнять при условии:".
Но если на этой странице постоянное отслеживание "Получить параметр", и этих параметров порядка 50 штук, то такой вариант не пройдет...
Так-же есть самое не Приятное.
Если в большом проекте у Вас есть датчик температуры, с управлением заданной температуры через ПИД, допуск составляет (+),(-) 0,1 градуса, контроль ПИД будет через 20-30 секунд,
а это разброс не менее 0,9 - 1,5 градуса.
Отправлено спустя 33 минуты 35 секунд:
Сама по себе панель работает довольно шустро.
Можно сделать весь проект в панели, а ардуино использовать только как исполнительное устройство.
Но здесь перед нами новые грабли, если нужно использовать EEPROM, то в панели всего 1024 BYTE.