Сегодня в уроке рассмотрим инструмент Waveform Nextion. Который позволит строить графики на сенсорном дисплее Nextion. Посмотрим, какие особенности нужно учитывать при построении графиков. Сгенерируем сигнал для построения 4 графиков. А также выводим график на основе показаний с Arduino.
Строим график на дисплее Nextion по сгенерированным данным таймера.
Для того чтобы посмотреть график нужно добавить в Nextion Editor поле Waveform. А также поля для вывода числа и таймер. Как пользоваться данными элементами рассказывал в предыдущих уроках про дисплей Nextion.
Я изменил стандартный внешний вид отображения графика. Вот что у меня получилось.
А сперва рассмотрим ограничения, о которых написано в официальной документации к дисплею Nextion:
Выводимый диапазон на один график от 0 до 255.
Один столбец пикселей выводит одно значение.
Также хотелось бы отметить параметр «dis», который отвечает за масштаб отображения данных по высоте. В предыдущих версиях Nextion Editor данного параметра не было. При этом как он влияет не совсем понятно. При уменьшении масштаб выводимых значений на графике растет. И наоборот. И не совсем понятно для чего данный параметр добавили, мы все равно ограничены в диапазоне от 0 до 255.
Чтобы график отображался, без передачи внешнего сигнала, нужно настроить таймер.
Для этого увеличим числовое значение каждый раз по истечению времени. Таймер я настроил на минимально допустимое время 50 миллисекунд.
Чтобы график выводился нужно предать следующие параметры:
add 1,0,n0.val
add – кодовое слово
1 – id элемента, на который предаём данные. В моем случае это 1.
0 – номер графика, который будет строиться (от 0 до 3).
n0.val – значения которые будут выводиться на графике. (в нашем случае числовое значение, которое мы увеличиваем на единицу при каждом срабатывании таймера.)
Запускаем отладку и вот что получаем. Значение в текстовом поле увеличивается и строится нарастающий график. Но видим одну особенность, график строится максимум до 255, а числовое значение увеличивается дальше. В итоге получаем пилообразный график.
Строим максимальное количество графиков на дисплее Nextion.
Сколько можно одновременно вывести графиков на дисплей Nextion? Ответ на данный вопрос можно найти в одном из параметров настроек элемента Waveform. А именно свойство «ch» отвечает за количество выводимых графиков. Получается, что одновременно можно вывести до 4 графиков на одно поле Waveform.
Также можно настроить цвет каждого графика.
В настройках таймера сделал сдвиг графиков, чтобы они не наслаивались друг на друга, и было наглядно.
Как видим, графики строятся и все выглядит достаточно красиво.
Вывод графиков на дисплее Nextion по полученным данным с Arduino.
Для построения графиков по данным полученным с Arduino добавил дополнительные поля «Показание» и цифровое поле для вывода значений полученных от Arduino.
Данные с Arduino буду выводить на первый график. Поэтому его нужно закомментировать в таймере дисплея.
Сейчас осталось написать код для Arduino. Чтобы упростить передачу данных на дисплей с Arduino, написал функцию, которая передает данные в нужной последовательности на дисплей.
SendAdd(1, 0, Value);
1 – id элемент,на который предаём данные. В моем случае это 1.
0 – номер графика, который будет строиться (от 0 до 3).
Value – значения которые будут выводиться на графике. (в моем случае это данные с потенциометра).
Данный пример не получится проверить через Debug, нужно загрузить прошивку tft nextion в дисплей и код в Arduino.
В итоге получим вот такой результат. Как видим, значения с потенциометра выводится, при этом предыдущие 3 графика также отображаются. И у каждого графика своя скорость построения.
Поигрался немного с настройками и получил вот такие забавные графики. Внешний вид которых можно настроить под свои задачи и для выделения нужного диапазона значений.
Внимание! Подписчики на сайте boostyмогут скачать исходные файлы в формате .HMI, код для Arduino.
Вывод по Nextion Tutorial.
Как видим работать с графиками можно, при этом есть возможности строить несколько графиков независимых друг от друга. Но ограничение в 255 сильно омрачает работу с графиками на Nextion Display.
Понравился УрокСтроим графики waveform - дисплей Nextion? Не забудь поделиться с друзьями в соц. сетях.
Комментарии