Непонятно все же, нафига нескстион... но хозяин - барин. Если вы готовы оплатить покупку Некстиона для отладки - могу сделать и на Некстионе.
На некстионе ты такое не сделаешь, во всяком случае - без секса вприсядку: оно не могёт в позиционирование элементов, да и по оптимизации отрисовки к китайцам есть бааальшущие вопросы.
Если я правильно уловил, то ТС - Александр, я ему писал прошивку, в том числе часть на Nextion, решения данной проблемы - сходу не увидел, по ходу той разработки из-за криво реализованной китайцами отрисовки - пришлось отказаться от штатного компонента прогресс-бара - был жуткий фликеринг в виде горизонтальных полос (эти дяди Ляо при смене значения прогресс-бара перерисовывают ВЕСЬ его прямоугольник, а не только изменившуюся часть) - короче, по быстродействию не устроило. Перешли на другой метод отрисовки, стало чуть лучше. Контент проекта некстион - рисованый чуть более, чем полностью, картинка на картинке лежит и картинкой погоняет, по отрисовке там хорошая такая нагрузка, узкое место - как раз отрисовка, пмсм. Да, некстион там, емнип, большой - пять или семь дюймов (не помню точнее), со всеми вытекающими.
А вот как сделать запаздывающий сегмент - тут я хз, если честно; возможно, я чего-то не понимаю и не вижу решения проблемы. Такая вот предыстория.
Александр - хороший, надёжный заказчик, не обижайте его, пж :)
От не зря мне сразу идея делать это на Некстионе не понравилась :)
Судя по рассказу, некстион в чем-то сродни FLProg-у - базовые элементы легко и просто, а что чуть посложнее - так закапаешься, что проще весь интерфейс попиксельно отрисовывть на обычном дисплее...
нет, только некстион, так как это не только индикатор, а куча кнопок, переключений и т.д.
если последний кубик индикатора реализовать сложно, можно без него, просто индикатор замараживается скажем на 1 секунду на последнем максимальном значении, алгоритм примерно вижу следующий, берем два значения, последнее и предпоследнее с задержкой скажем 100 мс, сравниваем, и на максимальном значении останавливаем индикатор на 1 сек, пришло на вход АЦП чуть больше напряжения, индикатор перерисовали и опять задержали на 1 сек, как то так ..
Этот код не поможет визуализировать НУЖНЫЙ вам градусник на нехтионе. Но, насколько я понимаю реализовать возможно. Можно даже не ничего не изменять в имеющемся коде, хотя я бы сделал по другому. Ну сколько программеров столько решений.
DIYman, доску с фотодиодами вы не делали случаем ? :)
ТС, у вас индикатор логарифмический ? Как сильно загружен процессор дисплея ? От 5000 рублей. Пишите на brokly(at)mail.ru .
DIYman, доску с фотодиодами вы не делали случаем ? :)
Никакой доски не знаю, не делал, не замечен :) В коде, приведённом выше - из моего кода - только использование обвязки для работы с Nextion - как я понимаю, это просто скетч для примера, писан тоже не мной.
DIYman, доску с фотодиодами вы не делали случаем ? :)
Никакой доски не знаю, не делал, не замечен :) В коде, приведённом выше - из моего кода - только использование обвязки для работы с Nextion - как я понимаю, это просто скетч для примера, писан тоже не мной.
Да нет, я спросил к слову. И уж вовсе НЕ с негативными намеряниями :)
если точнее, то хотелось бы вот такой вариант индикатора
В общем, проверил , как пишет карамзин - "реализуемо" и в таком виде "c задержаным максимумом".
Согласен, реализуемо при использовании picture crop. Собственно, потихоньку всё шло в том направлении. Изначально был заюзан стандартный прогресс-бар, с его дикой логикой перерисовки - там такого не достичь.
Рад, что всё получилось, и немного неудобно перед Александром - мог бы и сам сделать, но основной работы в последнее время - вал :( Надеюсь, Александр на меня за это не в обиде ;)
Согласен, реализуемо при использовании picture crop. Собственно, потихоньку всё шло в том направлении. Изначально был заюзан стандартный прогресс-бар, с его дикой логикой перерисовки - там такого не достичь.
И это не сильно помогает :( Там нужна прорисовка столбцами в один пиксель с использованием picq (это не компонент, а команда, а значит эта область сама обновляться не будет). И естественно на ресурсах дисплея.
Согласен, реализуемо при использовании picture crop. Собственно, потихоньку всё шло в том направлении. Изначально был заюзан стандартный прогресс-бар, с его дикой логикой перерисовки - там такого не достичь.
И это не сильно помогает :( Там нужна прорисовка столбцами в один пиксель с использованием picq (это не компонент, а команда, а значит эта область сама обновляться не будет). И естественно на ресурсах дисплея.
Я в курсе, что такое picq, для поддержки этой команды как раз была сделана обвязка NextionPictureCrop ;), только с учетом того, что там ей на входе скармливаются ID двух рисунков. В общем, эмуляция прогресс-бара.
Насчёт остального - я и говорил, что на Nextion подобные вещи приходится делать вырезанием гланд через ж.. :) Поэтому честно отговаривал Александра от нехорошего, но - хочет человек красоты :)
А в чём сейчас проблема? Flickering, в смысле - мерцание? Если да - то, имхо, упёрлись в быстродействие неоптимизированного китайского кода прорисовки, и об этом с Александром был разговор ;)
Ты не видел, как реально мерцает прогресс-бар стандартный? Это жесть, по сравнению с ним picq - просто душка :)))
Почему не видел ? Видел, я его поэтому и не юзаю. Я ваапче копмоненты, кроме таймера и переменных не использую, он обновляются автоматом в последних версиях. А уж если один поверх другого, то ваще треш.
Вот расскажи лучше. Вот на входе сигнал с амплитудой 3 вольта и частотой 1000 гц, ацп что должен намерять ?
Вот расскажи лучше. Вот на входе сигнал с амплитудой 3 вольта и частотой 1000 гц, ацп что должен намерять ?
Эммм... ну если в лоб, то всё будет зависеть от точки начала сэмплирования на графике, по идее. Т.е. при одном и том же усреднённом значении - мгновенные показания должны плавать. Я правильно понял твою мысль?
Вот расскажи лучше. Вот на входе сигнал с амплитудой 3 вольта и частотой 1000 гц, ацп что должен намерять ?
Эммм... ну если в лоб, то всё будет зависеть от точки начала сэмплирования на графике, по идее. Т.е. при одном и том же усреднённом значении - мгновенные показания должны плавать. Я правильно понял твою мысль?
Ну да. Правда схему входного канала к моменту, когда задал вопрос, я не знал. Она кстати, частотозависимая.
3 вольта и 1000 Гц, были приведены к другому примеру.
если напряжение на входе меняет своё значение оно уже точно не постоянное...
может два диода поставить вместо одного?
Александр, ты хочешь видеть по сути два напряжения действующее сейчас, в этот момент и максимальное пиковое, максимальное пиковое должно быть зафиксировано, а действующее отображать в реальной шкале?
хочешь видеть по сути два напряжения действующее сейчас, в этот момент и максимальное пиковое, максимальное пиковое должно быть зафиксировано, а действующее отображать в реальной шкале?
Виктор, привет.
да, так планировалось изначально, видеть действующие а максимум заморожен на какой то промежуток времени, но сейчас сделали только максимум, и это мне понравилось больше, меньше мельтешения в глазах )))
хочешь видеть по сути два напряжения действующее сейчас, в этот момент и максимальное пиковое, максимальное пиковое должно быть зафиксировано, а действующее отображать в реальной шкале?
Виктор, привет.
да, так планировалось изначально, видеть действующие а максимум заморожен на какой то промежуток времени, но сейчас сделали только максимум, и это мне понравилось больше, меньше мельтешения в глазах )))
закажу пиковый индикатор на ардуино и дисплее nextion
можно подробнее? Пики чего будем мерить?
И еще не вполне ясно - если это индикатор - зачем Некстион, проще и раз в 5-7 дешевле взять обычный TFT экран
нужно что то типа этого, только один индикатор, можно сплошным фоном и кубик на пик, Nextion обязательное условие.
https://www.youtube.com/watch?v=58X76ik41oY
нужно что то типа этого, только один индикатор, можно сплошным фоном и кубик на пик, Nextion обязательное условие.
только на видео не Некстион, если вы не в курсе.
Непонятно все же, нафига нескстион... но хозяин - барин. Если вы готовы оплатить покупку Некстиона для отладки - могу сделать и на Некстионе.
Да. кстати, вы так и не ответили, что за сигнал и в каком виде он приходит в Ардуину.
Непонятно все же, нафига нескстион... но хозяин - барин. Если вы готовы оплатить покупку Некстиона для отладки - могу сделать и на Некстионе.
На некстионе ты такое не сделаешь, во всяком случае - без секса вприсядку: оно не могёт в позиционирование элементов, да и по оптимизации отрисовки к китайцам есть бааальшущие вопросы.
Если я правильно уловил, то ТС - Александр, я ему писал прошивку, в том числе часть на Nextion, решения данной проблемы - сходу не увидел, по ходу той разработки из-за криво реализованной китайцами отрисовки - пришлось отказаться от штатного компонента прогресс-бара - был жуткий фликеринг в виде горизонтальных полос (эти дяди Ляо при смене значения прогресс-бара перерисовывают ВЕСЬ его прямоугольник, а не только изменившуюся часть) - короче, по быстродействию не устроило. Перешли на другой метод отрисовки, стало чуть лучше. Контент проекта некстион - рисованый чуть более, чем полностью, картинка на картинке лежит и картинкой погоняет, по отрисовке там хорошая такая нагрузка, узкое место - как раз отрисовка, пмсм. Да, некстион там, емнип, большой - пять или семь дюймов (не помню точнее), со всеми вытекающими.
А вот как сделать запаздывающий сегмент - тут я хз, если честно; возможно, я чего-то не понимаю и не вижу решения проблемы. Такая вот предыстория.
Александр - хороший, надёжный заказчик, не обижайте его, пж :)
DIYMan
От не зря мне сразу идея делать это на Некстионе не понравилась :)
Судя по рассказу, некстион в чем-то сродни FLProg-у - базовые элементы легко и просто, а что чуть посложнее - так закапаешься, что проще весь интерфейс попиксельно отрисовывть на обычном дисплее...
Дмитрий, спасибо за заботу )))
сделал задержку с millis(), стало чуть лучше, но все равно не то,
хотелось бы более четкого замараживание пика на 1-2 секунды
сделал задержку с millis(), стало чуть лучше, но все равно не то,
лучше на таймерах видимо
Пиковый индикатор на PIC-е делать надо
лучше на таймерах видимо
простой пример покажите ?
Пиковый индикатор на PIC-е делать надо
что то конкретное можете предложить ?
если точнее, то хотелось бы вот такой вариант индикатора
А на таких?
https://www.aliexpress.com/item/Free-Shipping-10pcs-lot-10-Segment-Digital-Red-LED-Bar-Graph-Display-Ultra-Bright/32707895111.html
или тпких?
https://www.aliexpress.com/item/1pcs-12-Segment-Digital-LED-Bar-Display-LED-Parts-for-Ardiuino/32670424022.html
А на таких?
нет, только некстион, так как это не только индикатор, а куча кнопок, переключений и т.д.
если последний кубик индикатора реализовать сложно, можно без него, просто индикатор замараживается скажем на 1 секунду на последнем максимальном значении, алгоритм примерно вижу следующий, берем два значения, последнее и предпоследнее с задержкой скажем 100 мс, сравниваем, и на максимальном значении останавливаем индикатор на 1 сек, пришло на вход АЦП чуть больше напряжения, индикатор перерисовали и опять задержали на 1 сек, как то так ..
может так проще будет, в этот код можно добавить замораживание на 1-2 сек. ?
Этот код не поможет визуализировать НУЖНЫЙ вам градусник на нехтионе. Но, насколько я понимаю реализовать возможно. Можно даже не ничего не изменять в имеющемся коде, хотя я бы сделал по другому. Ну сколько программеров столько решений.
DIYman, доску с фотодиодами вы не делали случаем ? :)
ТС, у вас индикатор логарифмический ? Как сильно загружен процессор дисплея ? От 5000 рублей. Пишите на brokly(at)mail.ru .
А добавить, по последним правкам ТЗ можно.
ответил на емайл
Сейчас проверю почту.
DIYman, доску с фотодиодами вы не делали случаем ? :)
Никакой доски не знаю, не делал, не замечен :) В коде, приведённом выше - из моего кода - только использование обвязки для работы с Nextion - как я понимаю, это просто скетч для примера, писан тоже не мной.
DIYman, доску с фотодиодами вы не делали случаем ? :)
Никакой доски не знаю, не делал, не замечен :) В коде, приведённом выше - из моего кода - только использование обвязки для работы с Nextion - как я понимаю, это просто скетч для примера, писан тоже не мной.
Да нет, я спросил к слову. И уж вовсе НЕ с негативными намеряниями :)
вау.. это реально работает!
brokly, посмотрите пожалуйста почту...
вот такой простой код, приятно глазу посмотреть! краткость - сестра таланта!
brokly, номер карты для благодарности сбросьте на почту..
если точнее, то хотелось бы вот такой вариант индикатора
В общем, проверил , как пишет карамзин - "реализуемо" и в таком виде "c задержаным максимумом".
"реализуемо" и в таком виде "c задержаным максимумом".
подтверждаю, классно получилось !
если точнее, то хотелось бы вот такой вариант индикатора
В общем, проверил , как пишет карамзин - "реализуемо" и в таком виде "c задержаным максимумом".
Согласен, реализуемо при использовании picture crop. Собственно, потихоньку всё шло в том направлении. Изначально был заюзан стандартный прогресс-бар, с его дикой логикой перерисовки - там такого не достичь.
Рад, что всё получилось, и немного неудобно перед Александром - мог бы и сам сделать, но основной работы в последнее время - вал :( Надеюсь, Александр на меня за это не в обиде ;)
на меня за это не в обиде ;)
Дмитрий, о чем речь! если бы не вы, то и проекта этого бы не было!
да и времени на меня вы сколько потратили ))) вам только благодарности !
на меня за это не в обиде ;)
Дмитрий, о чем речь! если бы не вы, то и проекта этого бы не было!
да и времени на меня вы сколько потратили ))) вам только благодарности !
к этому усилителю надо добавить двухтоновый генератор )))
Согласен, реализуемо при использовании picture crop. Собственно, потихоньку всё шло в том направлении. Изначально был заюзан стандартный прогресс-бар, с его дикой логикой перерисовки - там такого не достичь.
И это не сильно помогает :( Там нужна прорисовка столбцами в один пиксель с использованием picq (это не компонент, а команда, а значит эта область сама обновляться не будет). И естественно на ресурсах дисплея.
Согласен, реализуемо при использовании picture crop. Собственно, потихоньку всё шло в том направлении. Изначально был заюзан стандартный прогресс-бар, с его дикой логикой перерисовки - там такого не достичь.
И это не сильно помогает :( Там нужна прорисовка столбцами в один пиксель с использованием picq (это не компонент, а команда, а значит эта область сама обновляться не будет). И естественно на ресурсах дисплея.
Я в курсе, что такое picq, для поддержки этой команды как раз была сделана обвязка NextionPictureCrop ;), только с учетом того, что там ей на входе скармливаются ID двух рисунков. В общем, эмуляция прогресс-бара.
Насчёт остального - я и говорил, что на Nextion подобные вещи приходится делать вырезанием гланд через ж.. :) Поэтому честно отговаривал Александра от нехорошего, но - хочет человек красоты :)
А в чём сейчас проблема? Flickering, в смысле - мерцание? Если да - то, имхо, упёрлись в быстродействие неоптимизированного китайского кода прорисовки, и об этом с Александром был разговор ;)
Не, он мерцанием называет плавание показаний:( Мерцание я практически полностью убрал.
Не, он мерцанием называет плавание показаний:( Мерцание я практически полностью убрал.
Ты не видел, как реально мерцает прогресс-бар стандартный? Это жесть, по сравнению с ним picq - просто душка :)))
Не, он мерцанием называет плавание показаний:( Мерцание я практически полностью убрал.
не совсем так, на входе 3 вольта, а индикатор с частотой задержки сбрасывает эти паказания с 3 до 0,
если задержка 0, то 3 вольта стоят как вкопаные.
бьюсь уже с этим индикатором наверное больше года )))
Ты не видел, как реально мерцает прогресс-бар стандартный? Это жесть, по сравнению с ним picq - просто душка :)))
Почему не видел ? Видел, я его поэтому и не юзаю. Я ваапче копмоненты, кроме таймера и переменных не использую, он обновляются автоматом в последних версиях. А уж если один поверх другого, то ваще треш.
Вот расскажи лучше. Вот на входе сигнал с амплитудой 3 вольта и частотой 1000 гц, ацп что должен намерять ?
Вот расскажи лучше. Вот на входе сигнал с амплитудой 3 вольта и частотой 1000 гц, ацп что должен намерять ?
Эммм... ну если в лоб, то всё будет зависеть от точки начала сэмплирования на графике, по идее. Т.е. при одном и том же усреднённом значении - мгновенные показания должны плавать. Я правильно понял твою мысль?
измерения делаем такой схемой
Вот расскажи лучше. Вот на входе сигнал с амплитудой 3 вольта и частотой 1000 гц, ацп что должен намерять ?
Эммм... ну если в лоб, то всё будет зависеть от точки начала сэмплирования на графике, по идее. Т.е. при одном и том же усреднённом значении - мгновенные показания должны плавать. Я правильно понял твою мысль?
Ну да. Правда схему входного канала к моменту, когда задал вопрос, я не знал. Она кстати, частотозависимая.
Она кстати, частотозависимая.
нет, так как на входе тоже постоянное напряжение,
3 вольта и 1000 Гц, были приведены к другому примеру.
Она кстати, частотозависимая.
нет, так как на входе тоже постоянное напряжение,
3 вольта и 1000 Гц, были приведены к другому примеру.
если напряжение на входе меняет своё значение оно уже точно не постоянное...
может два диода поставить вместо одного?
Александр, ты хочешь видеть по сути два напряжения действующее сейчас, в этот момент и максимальное пиковое, максимальное пиковое должно быть зафиксировано, а действующее отображать в реальной шкале?
хочешь видеть по сути два напряжения действующее сейчас, в этот момент и максимальное пиковое, максимальное пиковое должно быть зафиксировано, а действующее отображать в реальной шкале?
Виктор, привет.
да, так планировалось изначально, видеть действующие а максимум заморожен на какой то промежуток времени, но сейчас сделали только максимум, и это мне понравилось больше, меньше мельтешения в глазах )))
хочешь видеть по сути два напряжения действующее сейчас, в этот момент и максимальное пиковое, максимальное пиковое должно быть зафиксировано, а действующее отображать в реальной шкале?
Виктор, привет.
да, так планировалось изначально, видеть действующие а максимум заморожен на какой то промежуток времени, но сейчас сделали только максимум, и это мне понравилось больше, меньше мельтешения в глазах )))
еще бы и цвета, перегруз выделять красным
есть такое
красота !!!
А мне больше нравится градусник с максимумом.