Страница 2 из 2
Кнопка в Nextion
Добавлено: 18 июл 2018, 13:53
grin-mpx
Отлично. Кстати, я так и не нашел нормального русского шрифта в некстион, устал их перебирать. У Вас он довольно адекватный, у него есть название?
Кнопка в Nextion
Добавлено: 18 июл 2018, 14:23
Alias
В примерах есть, увидите, когда откроете. Но это все те же Курьер и Таймс. Те, что совсем большие и объемные - это на картинке заднего фона, их вставлял в 3Д-Паинте

Кнопка в Nextion
Добавлено: 18 июл 2018, 22:22
grin-mpx
Ну как ни странно в стандартном подключении у меня тоже кнопка не меняет состояние если находишься на другой странице. Какой-то баг. Я сделал Вам вариант через переменные и таймера в дисплее. На каждой из страниц добавлен код (выполняется сразу после перехода на страницу), добавлено по 1 переменной и по 1 таймеру. Решил проблему временной видимости синей кнопки, кстати команда ее видимости не отправляется из ардуины совсем, она формируется из переменной состояния кнопки bt0 на первой странице .
H1807_helpme GRIN-1.HMI
H1807_helpme-GRIN-1.flp
Кнопка в Nextion
Добавлено: 18 июл 2018, 22:24
Alias
Спасибо! Но теперь уже я буду ждать до завтра, чтобы проверить

Чтобы не терять время, вернулся на первоначальный вариант с двумя обычными кнопками, все работает, хоть и не так лаконично. Попробую и с Вашим. Зато уперся в шаговый двигатель, о чем отметился в другой теме о панели.
Кнопка в Nextion
Добавлено: 30 июл 2018, 13:41
Alias
Решил проблему с программным нажатием на кнопку с фиксацией, DualState.
Напомню: проблема была в том, что программное нажатие на кнопку через специальный блок "PressEl" работало только тогда, когда страница с этой самой кнопкой была активна. Если программное нажатие происходило, когда была активна любая другая страница, кнопка своего состояния не меняла, как бы все подряд ни глобалилось.
Лично для себя нашел выход из положения следующим образом:
- имеем кнопку buttonOn, тип 53;
- создаем глобальную переменную varOff на той же странице;
- создаем там же таймер, в котором прописываем следующий код:
if(varOff.val==1)
{
click buttonOn,1 //нажимаем на кнопку
click buttonOn,0 // отпускаем кнопку
varOff.val=0 // сбросили переменную
}
Теперь программное нажатие на кнопку происходит при отправке переменной varOff значения "1".
Проверено. Работает.