Nextion дисплеи и библиотека ITEADLIB_Arduino_Nextion-master опыт

AleksandrH
Offline
Зарегистрирован: 04.07.2017

В этом коротком опусе я расскажу о том, с чем мне пришлось столкнуться при работе с дисплеем Nextion подключеному к микроконтроллеру Mega 2560 с использованием библиотеки ITEADLIB_Arduino_Nextion-master.

В сети полно статей по этому поводу, но на некоторые вопросы я нашел ответы только опытным путем.

Решалась задача, в которой имеется вывод данных на дисплей и ввод данных с дисплея.

Мной использовался дисплей NX4832T035_011. Данный дисплей не имеет встроенных часов и разъема для подключения клавиатуры. Ввод данных осуществляется с помощью сенсора экрана.

Все это было успешно реализовано, но работало не так как хотелось.

Были выявлены следующие артефакты:

  1. При использовании библиотеки в момент вывода данных на дисплей теряются все команды ввода. Например, у вас на дисплее отображаются часы с секундами. Вы пытаетесь нажать на дисплее какие то нарисованные кнопки управления. При совпадении этих событий нажатие кнопки обработано библиотекой не будет. Возникает впечатление, что сенсор плохо работает. Приходится нажимать на кнопки несколько раз подряд. Избавиться от этого можно. Могу показать, как отредактировать библиотеку.
  2. Уход в Сон. В библиотеке это событие не реализовано. Попытка реализовать событие в библиотеке успехом не увенчалось. Сделал так, если больше трех раз запись на экран прошла с ошибками, считаем что экран спит.
  3. Выход из Сна. Экран пробуждается нажатием на сенсор экрана. Это событие в библиотеке не реализовано. Могу показать, как отредактировать библиотеку, что бы добавить это событие (оформляется как кнопка с фиксированным кодом).
  4. Выход из Сна и все другие варианты с отрисовкой страницы на дисплее, например команда page. Пока дисплей занят рисованием он не подает и не принимает ни какие команды. Дисплею нужно дать время, задержку 100-400мс (зависит от количества элементов на странице), чтобы закончить отрисовку страницы и только после этого он начинает работать с портом, при этом все что вы ему передавали в занятое время будет утеряно.
DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

AleksandrH пишет:

Могу показать, как отредактировать библиотеку.

Не стоит, кмк. Протокол общения с Nextion настолько тривиален и прост, что никакие специальные библиотеки просто не нужны.