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

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

Метки:
  1. как отследить событие, что кнопка в нажатом состоянии? и когда ее отпустят?
    про нажатие, пожалуй, понятно. а вот про "отпустили"
     
  2. Feofan

    Feofan Нерд

    Закладки Touch press event и Touch release event
     
    Михаил123 нравится это.
  3. точно, понял, работет
     
  4. проблема с перегоном чисел в байты и в целое.
    где то что то не срастается...
    в целое из некстона:
    Код (C++):
     Serial.print("это пришло из некстона ");
            int w = int((unsigned char)(DataSl[3]) << 24 |
                (unsigned char)(DataSl[2]) << 16 |
                (unsigned char)(DataSl[1]) << 8 |
                (unsigned char)(DataSl[0]));
    в байты из целого
    Код (C++):
    int x =0;
        Serial.println(x);
       //ar size = 5;
        packetBuffer[0] = x & 0xff;
        Serial.print(packetBuffer[0]);
        Serial.print(" ");
        packetBuffer[1] = (x>>8) & 0xff;
        Serial.print(packetBuffer[1]);
        Serial.print(" ");
        packetBuffer[2] = (x>>16) & 0xff;
        Serial.print(packetBuffer[2]);
        Serial.print(" ");
        packetBuffer[3] = (x>>24) & 0xff;
        Serial.print(packetBuffer[3]);
        Serial.println();
    помогите, кто чем может...
     
  5. b707

    b707 Гуру

    а что за контроллер?
    если это обычная ардуина. то код неверный, в типе int - всего 2 байта. а вы туда пытаетесь 4 засунуть

    сорри, позабыл что это ЕСП.

    но в любом случае ВСЕГДА лучше писать явно - не int. а int16_t int32_t и так далее

    А вообще преобразование uint32_t в четыре байта делается в одно действие через union или указатель, без всяких многоэтажных битовых сдвигов
     
  6. ИгорьК

    ИгорьК Оракул Модератор

    Тут надо учитывать не только контроллер, но и сам дисплей.
    Дисплей работает с uint32_t только.

    Я понимаю, кошерно все должно быть, но вы сэкономили бы тучу времени, работая только с текстовой информацией и примерно по тому шаблону, что я давал. Ну жалко наблюдать за вашими мучениями.

    Вам один шут приходится преобразовывать данные, понимаю, если бы оно "само плавно перетекало" из дисплея и обратно, а так - что вы там экономите...
     
  7. да ладно - мучения....
    однако, в тексте не идет процесс. с двухбайтными вопроса нет, а тут - туплю.
     
  8. ИгорьК

    ИгорьК Оракул Модератор

    Это точно. Здесь есть проект инкубатора на Ардуино с Некстион. Там я сделал все что можно только придумать с дисплеем, включая передачу с него неопределенного количества данных (установка интервалов температуры). Найдите и изучайте, вместо того чтобы каждый оператор здесь обсуждать.
     
    Михаил123 нравится это.
  9. vladmed

    vladmed Нуб

    Добрый день! Кто-нибудь может подсказать, как работать с GPIO на Enhanced версии? Хотя бы просто экранной кнопкой включить диод, подключенный к ноге?
     
  10. Listian

    Listian Нуб

    https://nextion.tech/instruction-set/

    по gpio поиск.

    cfgpio установить вход/выход.
    pio0-7 устанвока - 0/1

    также 4,5,6,7 gpio поддерживает pwm.
     
  11. vladmed

    vladmed Нуб

    [QUOTE="Listian[/QUOTE]

    Это я изучил, но не понимаю, куда вписывается cfgpio. В параметрах страницы не работает...

    О, кажется нашел, в preinitialize events надо было. Хоть бы где-нибудь об этом было написано...
     
    Последнее редактирование: 21 окт 2020
  12. Listian

    Listian Нуб

    сразу ссылка на хабр идет
    https://habr.com/ru/company/flprog/blog/400463/

    Событие Preinitialilize Event (вызывается перед инициализацией экрана).
     
  13. vladmed

    vladmed Нуб

    Спасибо, вроде все перерыл, но этого не нашел.
    Еще не подскажете, какой режим выхода gpio лучше использовать для работы со стандартной периферией к ардуино?
     
  14. Listian

    Listian Нуб

    такой какой требует переферия ))))

    хотя я не знаю, что больше, чем светодиод, реле, кнопок, серво и буззера можно подключить к дисплею)

    все таки pwm там ток на выход, а на цифровых входах/выходах далеко не уедешь.
     
  15. vladmed

    vladmed Нуб

    Логично, но я не электронщик и не программист, по мере сил помогаю ребенку разбираться. И если с Arduino и всем ее хозяйством мы более менее освоились и ничего (почти) пока не спалили, то с дисплеем не хотелось бы ставить опыты, не самое дешевое устройство. Хотя бы понять, какие там ограничения по току.
     
  16. Listian

    Listian Нуб

    как я уже писал ничего серьезного к нему не подключить (светодиод, реле, кнопока, буззер, серво с доп питанием).

    есть платы расширения
    https://www.itead.cc/ru/nextion-io-adapter.html
    https://www.itead.cc/ru/nextion-expansion-board.html

    если не хватает входов, то лучше на esp32 переходить.
    там и wifi/bluetooth, ардуино это совсем для маленьких и самых начинающих. мне ее на неделю не хватило, когда начинал )
     
  17. vladmed

    vladmed Нуб

    А реально ли сделать dual-state button так, чтобы одна из картинок состояния кнопки была анимированной? Допустим, мигает надпись OPEN (анимация), после нажатия меняется на статичную CLOSE?
     
  18. alfik777

    alfik777 Нуб

    Пробую поработать с NEXTION и застрял, наверное, на элементарном... Из ардуино приходит команда, которая управляет, например, цветом одного из компонентов на экране NEXTION. Всё отлично, компонент меняет цвет, но, кроме этого мне нужно "в экране" анализировать процессы, т.е. понять что произошло определенное событие, в данном случае, что пришло событие смены цвета компонента X. Где его "ловить" или как правильней быть в такой ситуации?
     
  19. Ne_L

    Ne_L Нуб

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