Страница 2 из 4
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 16:25
Sancho
[ref]grin-mpx[/ref], Именно в байт. Восемь кнопок. Потом, без распаковки сразу на выход через 8574. По-ходу можно проинвертировать необходимые одной операцией.
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 16:34
Alias
Я, насколько помню, тоже решил, что со строкой проще. В примере ниже отправляю установленные через меню параметры на контроллер, но без стакана не разобраться, сам вспоминал минут пять

Чтобы сохранить позиции значений, привлек простую арифметику. Например, температура: 10С, 20С, 46С = 102046, а если 2, 5 и 7, то будет 257 и не пойми, что где лежит. Поэтому можно просто добавить 10 и получится 12,15 и 17, а при приеме просто отнимаем и все восстанавливается. Есть ограничения, например, выше 89С не передать, но не всегда это и нужно.
Что же до битовых манипуляций, я, кажется, так и не понял, как провернуть на панели. Кажется, она этого не умеет, но не уверен.
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 17:08
grin-mpx
Sancho писал(а): 28 дек 2018, 16:25Именно в байт
Добавил код в таймер tm0, добавил переменную va1 и для наглядности цифровое поле n0. C флпрог теперь нужно запрашивать переменную va1.
P/S/ Сейчас попробую сделать на 8 кнопок.
bool_byte.HMI
Отправлено спустя 10 минут 30 секунд:
Вот, на 8 кнопок.
bool_byte_8.HMI
Отправлено спустя 10 минут 42 секунды:
Пока только так...
Чтоб загнать в байт можно попробовать заменить 5 на 0 а 7 на 1. А в флпрог конвертировать из строку в байт...
Sancho Вы это имели ввиду?
Отправлено спустя 7 минут 58 секунд:
Вот сделал... Опрашиваем опять строковую переменную va0 и на стороне флпрог пробуем сразу конвертировать в байт.
kn_00000000.HMI
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 17:26
Sancho
[ref]grin-mpx[/ref], А вот так?
Отправлено спустя 25 секунд:
Просто берём байт
Отправлено спустя 1 минуту 20 секунд:
Честно, сам - только Ваш первый пример со строками и двумя кнопками. Остальные не смотрел и не качал. Сам доволен.
Отправлено спустя 1 минуту 5 секунд:
Запарился, пока разобрался с синтаксисом...
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 17:27
Alias
Отлично! А распаковать на панели получится?
Синтаксис там своеобразный

Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 17:34
Sancho
[ref=#404040]Alias[/ref], Надо попробовать. Как я понял, Вы спрашиваете о статусах из ардуино?
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 17:38
Alias
Ну да, если передать на панель запакованные битами состояния.
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 17:46
SSSergeich
Alias писал(а): 28 дек 2018, 14:12
Хм, пусть меня поправят программисты, но столько операций с плавающей запятой на таком примитивном участке - перебор. Умножить, преобразовать, разделить, сконвертировать... Я бы сделал проще, см. вложение. Да, не будет десятичной точки. Мне это не помешало ее просто нарисовать на панели. Но зато нет и массы изнурительных вычислений, а пересылка значения, насколько я понимаю, тоже куда легче пересылки строки. Не знаю, есть ли смысл отказываться от ненужной переменной, но удалил.
Может, попробуете этот вариант? Чисто для сравнения.
Честно говоря, я начинал с температуры без десятых, но после урока с панелью Nextion, захотелось их добавить
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 17:56
Sancho
Alias писал(а): 28 дек 2018, 17:38Ну да, если передать на панель запакованные битами состояния.
Думаю, без проблем. Но уже завтра.
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 17:56
Alias
Я тоже начинал рисовать проект на строковых переменных. Но что-то меня насторожило. Да и мелькало где-то, что строки - это не самый лучший выбор. В одном месте мне принципиально потребовались десятые доли, и я просто нарисовал точку на картинке фона нужного мне окна. Таким образом, 564 смотрится с нарисованной точкой как 56,4

Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 18:19
SSSergeich
Sancho писал(а): 28 дек 2018, 14:54Коллеги.
Посмотрите код - 24 таймера для периодического приёма данных.
Может лучше три, но пусть будут данные Т с запятыми

Вот нет панели, только сейчас скачал прогу nextion editor, посмотрю, что за зверь

Только сейчас увидел земляка))) Если интересно "пощупать" экран "вживую", то не вопрос))
Отправлено спустя 14 минут 48 секунд:
Alias писал(а): 28 дек 2018, 15:00Тогда уж и отправлять значения температуры нужно одной строкой, а это 32 символа, чтобы ничего не поплыло и на панели разбирать по переменным. Это несложно, если вникнуть, но на это у топикстартера может уйти много времени, и, если устроит "оптимизация на коленке", пусть работает, как есть

А куча таймеров - беда. Надеюсь, у Автора будет желание заточить инструмент и под панель.
Примерно так я и думал, но присутствует некий тормоз, от преподавателя информатики на бейсике, на ямахах, что текстовые переменные это ужас как плохо..
Отправлено спустя 5 минут 14 секунд:
[ref]grin-mpx[/ref],
С первого раза ничего не понял, со второго тоже)) Завтра попробую еще раз)
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 28 дек 2018, 19:01
grin-mpx
Sancho писал(а): 28 дек 2018, 17:26grin-mpx, А вот так?
Отлично!
Sancho писал(а): 28 дек 2018, 17:26Запарился, пока разобрался с синтаксисом...
Та да, особенно если учесть как nextion ide указывает на ошибки

, то там почти после каждого изменения нужно проверяться компиляцией.
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 29 дек 2018, 11:54
Sancho
Какие Вы используете элементы типа лампочек для отображения on/off, ok/alarm ?
К чему приклеить статусы? К кнопке с фиксацией получается, а что ещё?
Отправлено спустя 44 секунды:
Кстати, тип данных - 32бита
Отправлено спустя 6 минут 48 секунд:
Нашёл, Radio. Твою дивизию, названия...
Опять кнопка...
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 29 дек 2018, 12:46
grin-mpx
Если вопрос ко мне, то я нахожу в интернете прикольные картинки, типа лампочек и пр. Потом обрезаю в кореле и акидываю в дисплей как две картинки. Типа горит-не горит. Отображение по условию. Если кнопка да, то ID картинки такой-то, если нет, то ID картинки другой.
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 29 дек 2018, 12:50
Sancho
grin-mpx писал(а): 29 дек 2018, 12:46Если вопрос ко мне, то я нахожу в интернете прикольные картинки, типа лампочек и пр. Потом обрезаю в кореле и акидываю в дисплей как две картинки. Типа горит-не горит. Отображение по условию. Если кнопка да, то ID картинки такой-то, если нет, то ID картинки другой.
Вопрос был ко всем.
Но речь не о кнопке, а именно об отображении состояния статуса с ардуино, например геркона. Как меняете цвет/картинку/размер? Или только слать показывать то, а это скрыть...
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 29 дек 2018, 12:58
grin-mpx
Отображения элементов можно делать и по числовым условиям, если больше, меньше, равно и тд. По моему можно и сравнивать строки, точно не помню.
Отправлено спустя 7 минут 50 секунд:
Создаете в дисплее переменные, на них с ардуины кидаете статусы. Дальше так же как с кнопкой. Поменять картинки можно, но должен быть одинаковый размер. Можно прятать-показывать любые элементы на странице, менять заливку. Перемещать не пробовал.
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 29 дек 2018, 15:49
Sancho
grin-mpx писал(а): 29 дек 2018, 12:58Можно прятать-показывать любые элементы на странице, менять заливку.
Оно! Где/куда смотреть? Пока не нашёл...
Только к кнопке привязывать, отдельно никак...
Отправлено спустя 43 минуты 50 секунд:
[spoiler=оффтоп]
Офтопик
Подумал прикупить для экспериментов, посмотрел на али - от 1.5к за 3.2", дальше - больше: 7" - 4,5к.....
Нет, не готов. Планшет без gsm модуля 7"(512ram) 2,6k
[/spoiler]
Отправлено спустя 1 час 17 минут 43 секунды:
[ref]SSSergeich[/ref], Как я понимаю, у Вас всё железо для теста есть?
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 29 дек 2018, 16:29
SSSergeich
grin-mpx писал(а): 29 дек 2018, 12:46Если вопрос ко мне, то я нахожу в интернете прикольные картинки, типа лампочек и пр. Потом обрезаю в кореле и акидываю в дисплей как две картинки. Типа горит-не горит. Отображение по условию. Если кнопка да, то ID картинки такой-то, если нет, то ID картинки другой.
Поискал, ничего не нашел, в кореле нарисовал сам, остальное точно также)
Отправлено спустя 8 минут 48 секунд:
Sancho писал(а): 29 дек 2018, 12:50Вопрос был ко всем.
Но речь не о кнопке, а именно об отображении состояния статуса с ардуино, например геркона. Как меняете цвет/картинку/размер? Или только слать показывать то, а это скрыть...
Берем две картинки, на одной все выключены, на другой все включены, далее в атрибутах есть два параметра picc0 и picc1, в первую гружу неактивную картинку, во вторую активную.
Отправлено спустя 2 минуты 3 секунды:
Sancho писал(а): 29 дек 2018, 15:49SSSergeich, Как я понимаю, у Вас всё железо для теста есть?
Да, все есть)
Т.к. мы с одного города, могу дать поиграться экранчик) 3.2" лежит пока без дела)
P.S. Научите как картинки в спойлер загружать, плз
Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 29 дек 2018, 16:36
grin-mpx
SSSergeich писал(а): 29 дек 2018, 16:18Поискал, ничего не нашел, в кореле нарисовал сам, остальное точно также)
Поиск в гугле это искусство. Я ищу на английском, примерно так:
button on off psd. ( psd это формат фотошопа. )
volum psd
Lamp psd
и пр.
Извините, я сегодня с трудом отвечаю, у меня 11 годовщина свадьбы. Жена к компу не пускает

Uno + Nextion + расширитель портов на pcf8574 + 18b20
Добавлено: 29 дек 2018, 16:38
SSSergeich
grin-mpx писал(а): 29 дек 2018, 16:3611 годовщина свадьбы. Жена к компу не пускает

Поздравляю!!!
