Дисплей Nextion: азы. Arduino, ESP8266.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 9 авг 2016.

Метки:
  1. naz

    naz Нерд

    Добрый день, надеюсь сюда продвинувшиеся заходят.
    Повторил в редакторе пример из поста Игоря, но не могу изменить текстовое поле t0. В терминале пишу
    но получаю ошибку парсинга команды.
    Напишите, пож., кто как посылает команды такие
     
  2. naz

    naz Нерд

    Вроде разобрался с посылкой команды из редактора в режиме debug- не надо здесь в конце три 0xff
     
  3. Mirano

    Mirano Нерд

    Добрый день.
    Начал постигать связку ардуина + Nextion.
    Загрузил данный код но он работать отказывается.
    Код (C++):
    if(inn == 35) { // ASCII : "#"
    Мой Nextion Editor посылает не "35" а 23
    Далее, при прочтении первого байта, в переменную inn попадает значение не "23" а "254" при чем иногда попадает "255". Не могу понять в чем же проблема.
     
  4. ИгорьК

    ИгорьК Гуру

    Поставьте его в угол и накажите.

    Уважаемый, дисплей посылает на выход то, что вы ему указываете, то, как вы его запрограммировали.

    При точном повторении моего кода - оно работает абсолютно.

    Пробуйте понять что вы меняли и как оно теперь работает.
     
    Последнее редактирование: 30 ноя 2019
    NikitOS нравится это.
  5. Mirano

    Mirano Нерд

    Придется его таки наказать))) Код Ваш, не сомневаюсь, работает.

    Untitled-1.png
     
  6. Mirano

    Mirano Нерд

    Обнаружил еще одну проблему, дисплей не принимает данные.
    свой код и код примера из библиотеки ардуино, на дисплее 2,4" отрабатывает хорошо, а дисплей на 7" принимать данные отказывается. Я так полагаю неисправность самого дисплея или где-то есть подводный камень?
     
  7. ИгорьК

    ИгорьК Гуру

    Заметим, первый пост в этой теме 9 августа 2016 года.
    Первое, что следует сейчас сделать - перечитать документацию на дисплей, которая за 3 года наверняка изменилась.
    Я, по крайней мере, три года назад прочитал ее "от корки до корки". А Вы?

    Как прочитаешь, начинаешь понимать что к чему.

    Изучите: https://www.itead.cc/wiki/Nextion_Instruction_Set

    После анализа документации, возможно, появится ясность.

    Начните с отправки простой команды на изменение яркости через терминал - она не требует никаких действий по программированию дисплея, но сразу видно, жив он или нет.

    И вот еще что. Некстион - вещь дорогая и "разовая". В хозяйстве она вряд ли у кого просто так валяется для "поиграться".

    То есть, делаешь под нее проект и, к сожалению, забываешь что к чему.

    В целом, там все просто. На Некстион нужно через UART "выгнать" конкретную последовательность байт, которая определена мануалом и выше, в начале темы, разъяснена мной.
    Если это не работает, причины три:
    • изменился даташит (это китайцы, они не стесняются так поступать),
    • вы где-то ошиблись в передаче на стороне МК,
    • вы ошиблись на стороне Некстион в создании приёмного элемента.

    Выход. Вы не паритесь, как основная масса ардуинщиков, находите подходящую библиотеку, копипастите и тихо (или громко, прямо на форуме) усмехаясь, считаете всех дураками.

    Другой выход, без всякой библиотеки понимаете протокол обмена, что по ссылке, сами, как умеете, пишете необходимые функции (пример в начале темы), делаете готовое устройство, и ... забываете как оно работает до следующего раза, когда столкнётесь с этим дисплеем.

    Если мне сейчас потребуется новое устройство с Некстион, я
    - перечитаю все что написал вначале темы, чтобы понять/вспомнить общую суть;
    - перечитаю мануал, возможно не полностью, а в необходимой части, ибо без свежей информации работать не возможно;
    - с вероятностью 80% напишу другой код, нежели четыре года назад.

    В общем, взялись за Некстион - вникайте глубже.
     
    Последнее редактирование: 1 дек 2019
    Airbus нравится это.
  8. Mirano

    Mirano Нерд

    Благодарю за развернутый ответ. Буду копаться дальше. Считать кого-то дураком бессмысленно, коль сам не понимаю, за меня это не поймут. Я не ищу ответа, я ищу совета, взять рабочий код или взять код, работу которого ты понимаешь и сможешь повторить - это разные вещи, и для меня ближе второе.
    Прошлая мая система умела обмениваться данными типа float, хоть и с костылями но все работало. Пойду схожу в школу))))
     
  9. ИгорьК

    ИгорьК Гуру

    Некстион шлёт в порт только байты.
    Разумнее всего на стороне Некстион данные превращать в текст и парсить его на стороне МК
    Посмотрите, в проекте инкубатора сделано именно так.
     
  10. Mirano

    Mirano Нерд

    Так и было сделано. Дисплей отправлял String на контроллере конвертировалось в float.
    Кстати, я уже нашел в чем была проблема в моем экране))) Домашнее задание выполнил! :)
    Экран на 2,4" работает на скорости порта 9600, а экран на 7" на скорости 115200.
    Спасибо;)
     
    ИгорьК нравится это.
  11. alexqqq

    alexqqq Нуб

    Друзья помогите пожалуйста, только уже на Вас рассчитываю.

    Дисплей Nextion.

    Задача:
    При изменении цифры в большую сторону в поле,
    цифра должна изменить цвет.

    Как это правильно прописать?

    Мои примеры не работают ((

    if (t0.txt.val>500)
    then (t0.txt.pco=64520)
     
  12. DIYMan

    DIYMan Guest

    Завести переменную числового типа, и сделать
    Код (C++):
    covx t0.txt,h0.val,0,0
    а уже val переменной числового типа сравнивать в условии.
     
    alexqqq нравится это.
  13. Mirano

    Mirano Нерд

    я конечно не гуру, а только начинающий, но не видел у текстового поля параметра .val
     
    alexqqq нравится это.
  14. alexqqq

    alexqqq Нуб

    Всем спасибо кто откликнулся, даже не представляете какой я ещё начинающий) Пожалуйста напишите кто-то пример. Очень Вас прошу.
     
  15. DIYMan

    DIYMan Guest

    Чем мой пример из официальной документации не устроил? Что в нём непонятного?
     
    alexqqq нравится это.
  16. alexqqq

    alexqqq Нуб

    Извените пожалуйста, очень благодарен за отклик и помощь, скажу честно не понимаю( Как прописать это всё. Пожалуйста напишите полный текст. Прошу очень Вас
     
  17. alexqqq

    alexqqq Нуб

    Пожалуйста напишите (
     
  18. DIYMan

    DIYMan Guest

    Спасибо, но нет. В документации к Nextion описаны все методы, есть примеры, оттуда я вам и указал пример. Почитайте описание, там рассказано, что делает covx. Ну а далее - сравнить сконвертированное значение с нужным числом - вы сможете.
     
  19. alexqqq

    alexqqq Нуб

    не смогу.
     
  20. DIYMan

    DIYMan Guest

    Раздел форума "закажу проект" ;)