Разработки ecoins для дисплея Nextion

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#321

Сообщение PaveLesp32 » 10.06.2023{, 07:39}

WildCat,
Благодарю, теперь у пк буду в пн, попробую! :yes:

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#322

Сообщение PaveLesp32 » 15.06.2023{, 17:03}

Доброго дня!

а как с применением дисплея Nextion можно сделать так чтобы после
отключения питания состояние кнопок (например включения)
после возобновления питания активизировались в прежнем состоянии
причем кнопка просто b0 без фиксации.
я понимаю что это реализуется с применением EEPROM но что и как записать
в память не могу понять.

может кто видел пост с примером или описанием?

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Разработки ecoins для дисплея Nextion

#323

Сообщение WildCat » 15.06.2023{, 18:52}

PaveLesp32, есть команды wepo и repo, запись и чтение в/из eeprom.

https://nextion.tech/instruction-set/

Есть достаточно подробный видео курс.
https://nextion.info/price_and_order.html

Платный, но считаю что это не дорого.

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#324

Сообщение PaveLesp32 » 15.06.2023{, 19:22}

WildCat, как я понимаю данный вариант использует память самого дисплея,
мне бы желательно чтобы это происходил на стороне контроллера
например при нажатии кнопки без фиксации
в Touch Press посылается out01=1 посылается 1
а при отпускании в Touch Release out01=0 посылается 0 или любые иные значения которые можно записать в память на процессоре
вопрос как реализовать это не доходит :smile37:

по поводу курса, пока не готов так как не так много еще работаю с Nextion

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Разработки ecoins для дисплея Nextion

#325

Сообщение WildCat » 15.06.2023{, 19:48}

PaveLesp32, на стороне МК это сделать ещё проще.
Состояние кнопки (или кнопок) перегнать из бит в байт, сохранить в eeprom. Затем из eeprom читать состояние для использования в проекте.

Проще - потому что работа с eeprom в nxt не очень удобна, индекс переменной нужно прописывать вручную, и не ошибиться с типами данных и количеством занимаемых переменой бит. В ФЛП это происходит автоматически.

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#326

Сообщение PaveLesp32 » 15.06.2023{, 22:05}

WildCat, Добро, буду пробовать!

Спасибо!

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#327

Сообщение PaveLesp32 » 19.06.2023{, 14:39}

Ребят! :smile37: Подскажите где можно посмотреть пример того как можно вывести изображение (картинку) из ранее закаченых в дисплей те которые по индексами или id, по какому нибудь событию на стороне процессора например включился насос и на дисплее зажглась лампа.
Причём только на одном окне и при отключении насоса картинка исчезла и появлялся прежний фон!

Спасибо

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Разработки ecoins для дисплея Nextion

#328

Сообщение WildCat » 19.06.2023{, 14:58}

PaveLesp32, для каждого элемента в дисплее можно установить изображение.
Далее работа по условиям.
if([значение параметра]==1)
{
t0.pic=1 /1 — id картинки для активного состояния
}else
{
t0.pic=2 /2 — id картинки для исходного состояния
}

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#329

Сообщение PaveLesp32 » 19.06.2023{, 17:50}

WildCat, итак указал данный код в окне Touch Press

if(in9==1)
{
p0.pic=18
}else
{
p0.pic=20
}

то есть если у меня переменная in9 принимает состояние 1 то появляется картинка 18 если нет то 20 (фон подложки)

но вот проблема когда я включаю Debug на дисплее в месте картинке появляется картинка из списка загруженных под ID_0
как я понял потому что первоначально переменная in9 имеет значение 0
Возможно ли это как то поправить?

Сейчас указал в разделе 4.ВХОДНЫЕ ПОЛЬЗОВАТЕЛЬСКИЕ ПЕРЕМЕННЫЕ
значение по умолчанию переменной in9=20 (20 это у меня подложка в цвет фона)

или есть какой то иной более правильный способ?

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Разработки ecoins для дисплея Nextion

#330

Сообщение WildCat » 19.06.2023{, 18:58}

PaveLesp32, возьмите любой пример от ecoins , там есть картинки.

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#331

Сообщение PaveLesp32 » 20.06.2023{, 15:32}

WildCat, вроде понимаю сейчас как там устроено с картинками,
вопрос еще по теме передачи из контроллера в дисплей значения float ставлю блок 17.02.04.3
указываю например значение 55.7 на стороне дисплея ставлю блок X0 который по float работает но на нем показывает 5570
ну а в таймере вписываю x0.val=in0
как сделать чтобы отображалось с запятой и как отсечь лишний нолик?

и еще вопрос как выводить строковые данные, со стороны МП ставлю блок и индексом Т
а на стороне дисплея не знаю как вывести данные

Спасибо

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Разработки ecoins для дисплея Nextion

#332

Сообщение WildCat » 20.06.2023{, 16:17}

PaveLesp32 писал(а):
20.06.2023{, 15:32}
как сделать чтобы отображалось с запятой и как отсечь лишний нолик?
В настройках атрибута поля Х (float) есть пункт, который отвечает за количество знаков после запятой

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#333

Сообщение PaveLesp32 » 20.06.2023{, 17:13}

WildCat писал(а):
20.06.2023{, 16:17}
PaveLesp32 писал(а):
20.06.2023{, 15:32}
как сделать чтобы отображалось с запятой и как отсечь лишний нолик?
В настройках атрибута поля Х (float) есть пункт, который отвечает за количество знаков после запятой
Спасибо, верно можно выбрать положение запятой. Но получается не совсем то
Из МК через уарт видно что идёт 4х значное число например переменная float 23.5 передаётся 2350 и в панели можно выбрать :
2,350
23,50
235,0
А выбрать 23,5 не получается
Может в пользовательском блоке можно уменьшить количество знаков? :smile37:

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Разработки ecoins для дисплея Nextion

#334

Сообщение WildCat » 20.06.2023{, 18:29}

В МК умножьте на 10, передайте int.
В дисплее float с одним знаком.

У меня достаточно много подобных данных передавалось, я float вообще не использую.

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#335

Сообщение PaveLesp32 » 20.06.2023{, 20:28}

WildCat писал(а):
20.06.2023{, 18:29}
В МК умножьте на 10, передайте int.
В дисплее float с одним знаком.

У меня достаточно много подобных данных передавалось, я float вообще не использую.
Спасибо, сейчас так и сделал, но есть нюанс например когда передаешь значение int 235 то все показывает хорошо 23.5
но если температура падает ниже 10 отображается (передается 23) то отображает 02.3
есть мысли как убирать нолик перед двойкой?
как я понимаю скриптами в панели как то?

ecoins
Полковник
Сообщения: 2947
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 454
Откуда: Шатура
Имя: Энвер

Разработки ecoins для дисплея Nextion

#336

Сообщение ecoins » 20.06.2023{, 22:37}

PaveLesp32 писал(а):
20.06.2023{, 20:28}
но если температура падает ниже 10 отображается (передается 23) то отображает 02.3
Любопытно. Посоветовать сейчас ничего не могу, но с интересом буду ожидать решения этой проблемы.
С уважением, Энвер.

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Разработки ecoins для дисплея Nextion

#337

Сообщение WildCat » 21.06.2023{, 00:13}

PaveLesp32,
сейчас вот так:
1.jpg
а надо так?
2.jpg
Параметр ws0=0, ws1=1

При таких параметрах всё ок во всем диапазоне
СпойлерПоказать
3.jpg
4.jpg
5.jpg
6.jpg

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#338

Сообщение PaveLesp32 » 22.06.2023{, 15:03}

WildCat писал(а):
21.06.2023{, 00:13}
PaveLesp32,
сейчас вот так:
1.jpg

а надо так?
2.jpg

Параметр ws0=0, ws1=1

При таких параметрах всё ок во всем диапазоне
СпойлерПоказать
3.jpg

4.jpg

5.jpg

6.jpg
прошу прощение за долгий ответ,
да, так все хорошо отображает!

Спасибо Большое!

PaveLesp32
Рядовой
Сообщения: 27
Зарегистрирован: 07.06.2023{, 14:24}
Репутация: 0
Откуда: Пенза
Имя: Павел

Разработки ecoins для дисплея Nextion

#339

Сообщение PaveLesp32 » 26.06.2023{, 17:44}

Ребята прошу помощи!
Есть задача используя на стороне Nextion одно окно (например n0) в котором отображаются данные и меняются со скоростью заданного таймера tMin в Time Event (100ms) n0.val=in0
а в таймере tMout строка такая
// 1.СОХРАНЕНИЕ ВЫВОДИМЫХ ПАРАМЕТРОВ В ПОЛЬЗОВАТЕЛЬСКИХ ПЕРЕМЕННЫХ outxx
//=================================================================================================
out03=n2.val
возможно ли как то через данное окно и отображать данные например температуру и нажав на него (глобальное включил и добавил клавиатуру) забив нужное число Уставку отправить в контроллер для записи в eeprom?
или требуется использование двух независимых окон для реализации такого?

Спасибо!!!

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Разработки ecoins для дисплея Nextion

#340

Сообщение WildCat » 26.06.2023{, 19:34}

PaveLesp32 писал(а):
26.06.2023{, 17:44}
Спасибо!!!
Пожалуйста :)

А попробовать?

Можно, но идея так себе.
1. Не видно установленое значение.
2. Полученное текущее значение температуры будет постоянно отправляться в значение уставки.
3. Можно сделать наложение разных полей (с разными же переменными), и одна из них будет переменной отправки. При этом её нужно сделать прозрачным фоном (crop image). Но тут так же будет та же проблема, что в п.1.

В чем проблема выделить отдельное поле, или сделать доп страницу для ввода параметров?

Ответить

Вернуться в «Команда ecoins»