Nextion Дисплеи

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Ну если дисплей не слушать, то ничего от него и не получить.
Отправляйте данные кнопки из самой кнопки: get t3.val при ее нажатии и принимайте команду на контроллере. А если хотите, чтобы цвет кнопки менялся только когда реле отработало, тогда смену цвета в самом дисплее вообще нужно убирать и задавать смену цвета по отработке реле на самом контроллере.
Что то типа: if (relay == on) {t3, "ON";}
Хотя я пользуюсь установкой цвета другой командой getComponent.Реле отработало - устанавливаем нужный цвет.

vvadim
Offline
Зарегистрирован: 23.05.2012

я уже такой вариант попробовал, но проблема осталась, правда теперь по другому проявляется)))

при нажатии кнопки после срабатывания реле отправляю команду на дисплей, картинка меняется.

но не каждое срабатывание проходит на дуню

те дисплей показывает реальное положение вещей,  зато приходится иногда по нескольку раз тыкать кнопку

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Значит проблема в другом : команда теряется. Опрос я так понял раз в секунду, надо делать меньше. Вообще по умолчанию 100мс. Ну и про софт и про хард сериал не забывайте.

vvadim
Offline
Зарегистрирован: 23.05.2012

вы просто повесили на 0 и 1 пины и в коде прописали SoftwareSerial nextion(0, 1);

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Нет, во первых, на 2,3 а во вторых, просто написал Serial1. И в nextion.h нужно закомментить строку softserial, и раскомментить с хардом.

Morroc
Offline
Зарегистрирован: 24.10.2016

Нет случаем подобных экранчиков с емкостным тачем ?

alex_r61
Offline
Зарегистрирован: 20.06.2012

Кто хотел подключить дисплей проводами на несколько метров? Подключите через радио удлинители HC-11  и хоть к соседу уносите. Кстати, если подключить к мощной АБ, то можно с ним по дому ходить, как с пультом :)

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

А если по витой паре в экране, то метров на 10 потянет?

alex_r61
Offline
Зарегистрирован: 20.06.2012

Тут всё дело в питании, большие жрут много.

ProstoAlex
Offline
Зарегистрирован: 21.01.2015

alex_r61

с удлинителями понятно - можно много всего наворотить.

так каждый сможет ))

А мне в плюс к этому дисплею (в отличие от обычного 16-битного) идет то, что я могу повесить на стену на проходе маленькую тоненькую коробочку, а саму ардуинку поставить рядом с котлом (где собственно половину датчиков и исполнительных устройств.

И я могу даже пережить тогда отсутствие бипера )

alex_r61
Offline
Зарегистрирован: 20.06.2012

ProstoAlex пишет:

И я могу даже пережить тогда отсутствие бипера )

А зачем? В расширенной версии есть 8 IO, к ней есть платка расширения. На ней свистелка уже стоит.

ProstoAlex
Offline
Зарегистрирован: 21.01.2015

alex_r61

мне расширенная версия - излишняя.

ни частота, ни память, ни что-там-еще - мне ни к чему.

а если за это еще и доплатить надо... )))

а бипер или переживу, или протяну по соседней паре )

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Практически доделал интерфейс и полностью наладил взаимодействие с контроллером.

https://youtu.be/A8dOwVBgCFc

ProstoAlex
Offline
Зарегистрирован: 21.01.2015

dr.lmg

я готовлюсь ваять практически тоже самое )

(у меня основная головная боль - подцепиться к котлу, который этого не умеет...)

Скажи пожалуйста - какой у тебя размер экрана? и он работает от батарейки??

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Экран 4,3. Работает от сети, при отключении сети питание осуществляется от батареи 12в 4.5А/ч через понижающий модуль. Так же настроен контроль разряда батареи , индикация на дисплее и инфлрмирование об уровне заряда по смс.

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016
stanis820
Offline
Зарегистрирован: 04.02.2017

 Доброго дня.

Заказал я себе сей девайс(Nextion 3,5"). Пока он мотается по почтам, играюсь в "Nextion editor"

есть UNO, Mega 2560, как (и можно ли) симулирвать в Nextion editor дисплей + реальный девайс(например UNO)?

alex_r61
Offline
Зарегистрирован: 20.06.2012

Нужный МК моделирую в Proteus, дисплей в Nextion Editor. Сначала создаю пару виртуальных портов, затем подключаю один в Proteus, другой в NE. В NE в режиме Debug нужно установить User MCU Input, указать Сом порт и Start. В Proteus к нужному порту подключаемся через компонент COMPIM.

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Кто-нибудь делал рамку для дисплея на 3d принтере? Или может какую из подходящих в обиходе подобрал?

diger67
Offline
Зарегистрирован: 25.07.2015

А так не проще будет.

char buff_i[10]={0};
uint8_t num;
void setup() {
  // put your setup code here, to run once:
num = 0x0F;
sprintf(buff_i, "%d", num);
}

void loop() {
  // put your main code here, to run repeatedly:

}

 

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Это к чему?

diger67
Offline
Зарегистрирован: 25.07.2015

Ну вы писали простынь строк на 20 пытаясь преобразовать HEX в DEC. Это решение проблемы в две строки причем сразу создающие буфер готовый для передачи в UART на Nextion.

alex_r61
Offline
Зарегистрирован: 20.06.2012

dr.lmg Я дисплей пробовал в фоторамку вставить, в картоне прорезал окно по размеру. Только надо картинку в качестве фона вставить и стекло или плёнку убрать :)

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

diger67, за код спасибо. Просто я написал свой настолько, насколько я понимаю, как он работает и что я в итоге получу. А в вашем примере мне ровным счетом ничего не понятно :) Если Вы поясните, как код работает - буду очень благодарен.

diger67
Offline
Зарегистрирован: 25.07.2015

Это функция из набора стандартной библиотеки "string.h" C-C++. Все просто, в num сохраняется значение, в данном случие целое беззнаковое, есть буффер в который sprintf() складывает результат преобразования. Средний аргумен функции указывает какой формат преобразования. Полученный результат передаем по UART. Чтобы получить полное представление об этой функции и ее аргументах просто наберите в поисковике "sprintf() C C++"

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Получил рамку для дисплея. Отпечатали на 3d принтере, модель взята с сайта itead.cc Но не совсем то, что нужно. Рамка для внутреннего монтажа, а мне нужно накладную. Не пойму, как с телефона тут прицепить фотки.

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

diger67, спасибо за пояснение. Но мне нужно только разложить полученное значение и отделить нужную цифру от всего остального. Т.е. sprintf () избавит меня от цикла, в котором я складываю символы, чтобы получить десятичный знак. Это всего 5 строк :) Попробую поэкспериментировать с этой функцией на досуге, в любом случае, возможно она принодится и в других ситуациях.

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

alex_r61
Offline
Зарегистрирован: 20.06.2012

Так может что нибудь напечатать на бумаге или плёнке самоклейке и сверху пришпандорить. Я так раньше лицевые панели делал, есть специальные программы для этого.

Megawollt
Offline
Зарегистрирован: 06.12.2015

А на классической 328 атмеге можно что то с ним соорудить?

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

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

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Megawollt, главное, чтобы был serial, остальное не важно.

alex_r61
Offline
Зарегистрирован: 20.06.2012

Тогда взять подходящий корпус, прорезать окно и сделать накладку.

Megawollt
Offline
Зарегистрирован: 06.12.2015

А как же "Мощность" процессора? У меня большой скетч на TFT экране еле еле работал. Пришлось под OLED переписывать

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

На каком TFT? Nextion - это вообще отдельный компьютер со своим процессором и дисплеем. Обработкой графики он сам занимается, не задействуя мощности контроллера.

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

alex_r61, я уже нашел другую модель рамки, она как раз как накладка сделана. В нее полностью плата с экраном убирается, и она на плоскую стенку аккуратно ложиться. Как сделают, покажу.

alex_r61
Offline
Зарегистрирован: 20.06.2012

Megawollt У Nextion свой язык и часть программы можно написать на нём, вообще не задействуя Дуню. А новые, расширенные, ещё имеют 8 входов-выходов, из них 4 PWM, RTC и память.

diger67
Offline
Зарегистрирован: 25.07.2015

8 входов-выходов?????? ВСЕГО? Могли бы еще ADC вывести наружу, он там 12 бит. Да и вообще arduino этому процу как собаке 5 нога, даже для cortex-M3. Не говоря уже о cortex-M4, тем более cortex-M7 в нем даже аппаратный Jpeg организован. Вот такие вещи делаются....

https://youtu.be/oycXAoZCJm4

Megawollt
Offline
Зарегистрирован: 06.12.2015

Иногда и 8 вполне достаточно. Надо рассмотреть этот вариант

dr.lmg
dr.lmg аватар
Offline
Зарегистрирован: 07.01.2016

Ну вот и с резистивным дисплеем скоро увидим: https://c1.iggcdn.com/indiegogo-media-prod-cld/image/upload/c_fill,f_aut...

RezhAuto
Offline
Зарегистрирован: 19.03.2017

Доброго времени суток

подскажите как вывести значения с температурного датчика LM35 на экран этого дисплея

за ранее блогодарен

RezhAuto
Offline
Зарегистрирован: 19.03.2017

RezhAuto пишет:

Доброго времени суток

подскажите как вывести значения с температурного датчика LM35 на экран этого дисплея

за ранее блогодарен

Спасибо за совет сам разобрался

ещё вопрос две ардуино можно зацепить к дисплею

ProstoAlex
Offline
Зарегистрирован: 21.01.2015

коллеги, а вопрос:

как можно сделать моргание картинки?

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

пробовал менять фон картинки на фон всего экрана - но тогда загораживаются другие элементы на экране.

ProstoAlex
Offline
Зарегистрирован: 21.01.2015

а можно попродробнее пр орамку на картинке?

мне тоже сия забота предстоит )

alex_r61
Offline
Зарегистрирован: 20.06.2012

А если сделать две страницы и переключаться между ними.

ProstoAlex
Offline
Зарегистрирован: 21.01.2015

пока полноценно не тестил, но пришло в голову: поверх кнопок повесить hotspot.

он должен работать независимо от кнопки по ним.

ProstoAlex
Offline
Зарегистрирован: 21.01.2015

нихрена.

на эмуляторе было ОК, но на плате когда выключается кнопка - на ее месте белое пятно (

 

Ну, и сам себе ответил ):

вместо изменения видимости стал подставлять картинке поочередно картинку/фон, и все работает

Zombrero
Zombrero аватар
Offline
Зарегистрирован: 30.10.2016

Народ, нужнаюсь в помощи. Хотелось бы совоить постороение графиков на дисплее. Есть показания датчиков температур, отправляются раз в 2 секунды, таких датчиков всего 14... Хотелось бы на отдельных закладках видеть их в виде графиков...

Не могу понять принцип их работы... как правильно прописаь на ардуинке отправку данных и на дисплее прием и построение... 

ProstoAlex
Offline
Зарегистрирован: 21.01.2015

народ, тоже присоединяюсь к предшествующему посту:

как можно сделать график на отдельной странице? - т.е. есть основная страница с данными, и вторая страница - с графиками.

так вот единственное, что я нашел - что графики не могу быть глобальными. и такая задача в принципе нерешаема (.

 

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

 

Есть идеи получше?

alex_r61
Offline
Зарегистрирован: 20.06.2012

Может этот цикл поможет. https://geektimes.ru/company/flprog/blog/273868/