Ну если дисплей не слушать, то ничего от него и не получить.
Отправляйте данные кнопки из самой кнопки: get t3.val при ее нажатии и принимайте команду на контроллере. А если хотите, чтобы цвет кнопки менялся только когда реле отработало, тогда смену цвета в самом дисплее вообще нужно убирать и задавать смену цвета по отработке реле на самом контроллере.
Что то типа: if (relay == on) {t3, "ON";}
Хотя я пользуюсь установкой цвета другой командой getComponent.Реле отработало - устанавливаем нужный цвет.
Значит проблема в другом : команда теряется. Опрос я так понял раз в секунду, надо делать меньше. Вообще по умолчанию 100мс. Ну и про софт и про хард сериал не забывайте.
Кто хотел подключить дисплей проводами на несколько метров? Подключите через радио удлинители HC-11 и хоть к соседу уносите. Кстати, если подключить к мощной АБ, то можно с ним по дому ходить, как с пультом :)
с удлинителями понятно - можно много всего наворотить.
так каждый сможет ))
А мне в плюс к этому дисплею (в отличие от обычного 16-битного) идет то, что я могу повесить на стену на проходе маленькую тоненькую коробочку, а саму ардуинку поставить рядом с котлом (где собственно половину датчиков и исполнительных устройств.
Экран 4,3. Работает от сети, при отключении сети питание осуществляется от батареи 12в 4.5А/ч через понижающий модуль. Так же настроен контроль разряда батареи , индикация на дисплее и инфлрмирование об уровне заряда по смс.
Нужный МК моделирую в Proteus, дисплей в Nextion Editor. Сначала создаю пару виртуальных портов, затем подключаю один в Proteus, другой в NE. В NE в режиме Debug нужно установить User MCU Input, указать Сом порт и Start. В Proteus к нужному порту подключаемся через компонент COMPIM.
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:
}
Ну вы писали простынь строк на 20 пытаясь преобразовать HEX в DEC. Это решение проблемы в две строки причем сразу создающие буфер готовый для передачи в UART на Nextion.
dr.lmg Я дисплей пробовал в фоторамку вставить, в картоне прорезал окно по размеру. Только надо картинку в качестве фона вставить и стекло или плёнку убрать :)
diger67, за код спасибо. Просто я написал свой настолько, насколько я понимаю, как он работает и что я в итоге получу. А в вашем примере мне ровным счетом ничего не понятно :) Если Вы поясните, как код работает - буду очень благодарен.
Это функция из набора стандартной библиотеки "string.h" C-C++. Все просто, в num сохраняется значение, в данном случие целое беззнаковое, есть буффер в который sprintf() складывает результат преобразования. Средний аргумен функции указывает какой формат преобразования. Полученный результат передаем по UART. Чтобы получить полное представление об этой функции и ее аргументах просто наберите в поисковике "sprintf() C C++"
Получил рамку для дисплея. Отпечатали на 3d принтере, модель взята с сайта itead.cc Но не совсем то, что нужно. Рамка для внутреннего монтажа, а мне нужно накладную. Не пойму, как с телефона тут прицепить фотки.
diger67, спасибо за пояснение. Но мне нужно только разложить полученное значение и отделить нужную цифру от всего остального. Т.е. sprintf () избавит меня от цикла, в котором я складываю символы, чтобы получить десятичный знак. Это всего 5 строк :) Попробую поэкспериментировать с этой функцией на досуге, в любом случае, возможно она принодится и в других ситуациях.
Так может что нибудь напечатать на бумаге или плёнке самоклейке и сверху пришпандорить. Я так раньше лицевые панели делал, есть специальные программы для этого.
alex_r61, внешне как раз то что надо )) Внутренняя часть выпирает на поверхность, т.е. рамка не закрывает саму плату по краям, она для монтажа в полость. А мне нужно как раз как накладка, я ее на стенку буду вешать.
На каком TFT? Nextion - это вообще отдельный компьютер со своим процессором и дисплеем. Обработкой графики он сам занимается, не задействуя мощности контроллера.
alex_r61, я уже нашел другую модель рамки, она как раз как накладка сделана. В нее полностью плата с экраном убирается, и она на плоскую стенку аккуратно ложиться. Как сделают, покажу.
Megawollt У Nextion свой язык и часть программы можно написать на нём, вообще не задействуя Дуню. А новые, расширенные, ещё имеют 8 входов-выходов, из них 4 PWM, RTC и память.
8 входов-выходов?????? ВСЕГО? Могли бы еще ADC вывести наружу, он там 12 бит. Да и вообще arduino этому процу как собаке 5 нога, даже для cortex-M3. Не говоря уже о cortex-M4, тем более cortex-M7 в нем даже аппаратный Jpeg организован. Вот такие вещи делаются....
Народ, нужнаюсь в помощи. Хотелось бы совоить постороение графиков на дисплее. Есть показания датчиков температур, отправляются раз в 2 секунды, таких датчиков всего 14... Хотелось бы на отдельных закладках видеть их в виде графиков...
Не могу понять принцип их работы... как правильно прописаь на ардуинке отправку данных и на дисплее прием и построение...
народ, тоже присоединяюсь к предшествующему посту:
как можно сделать график на отдельной странице? - т.е. есть основная страница с данными, и вторая страница - с графиками.
так вот единственное, что я нашел - что графики не могу быть глобальными. и такая задача в принципе нерешаема (.
прииходит в голову нарисовать график самому - например, точками. Но эт оведь надо делать сдвижку значений, а это значит - держать в памяти ардуинки полный массив данных для графика (((.
Ну если дисплей не слушать, то ничего от него и не получить.
Отправляйте данные кнопки из самой кнопки: get t3.val при ее нажатии и принимайте команду на контроллере. А если хотите, чтобы цвет кнопки менялся только когда реле отработало, тогда смену цвета в самом дисплее вообще нужно убирать и задавать смену цвета по отработке реле на самом контроллере.
Что то типа: if (relay == on) {t3, "ON";}
Хотя я пользуюсь установкой цвета другой командой getComponent.Реле отработало - устанавливаем нужный цвет.
я уже такой вариант попробовал, но проблема осталась, правда теперь по другому проявляется)))
при нажатии кнопки после срабатывания реле отправляю команду на дисплей, картинка меняется.
но не каждое срабатывание проходит на дуню
те дисплей показывает реальное положение вещей, зато приходится иногда по нескольку раз тыкать кнопку
Значит проблема в другом : команда теряется. Опрос я так понял раз в секунду, надо делать меньше. Вообще по умолчанию 100мс. Ну и про софт и про хард сериал не забывайте.
вы просто повесили на 0 и 1 пины и в коде прописали SoftwareSerial nextion(0, 1);
Нет, во первых, на 2,3 а во вторых, просто написал Serial1. И в nextion.h нужно закомментить строку softserial, и раскомментить с хардом.
Нет случаем подобных экранчиков с емкостным тачем ?
Кто хотел подключить дисплей проводами на несколько метров? Подключите через радио удлинители HC-11 и хоть к соседу уносите. Кстати, если подключить к мощной АБ, то можно с ним по дому ходить, как с пультом :)
А если по витой паре в экране, то метров на 10 потянет?
Тут всё дело в питании, большие жрут много.
alex_r61
с удлинителями понятно - можно много всего наворотить.
так каждый сможет ))
А мне в плюс к этому дисплею (в отличие от обычного 16-битного) идет то, что я могу повесить на стену на проходе маленькую тоненькую коробочку, а саму ардуинку поставить рядом с котлом (где собственно половину датчиков и исполнительных устройств.
И я могу даже пережить тогда отсутствие бипера )
И я могу даже пережить тогда отсутствие бипера )
А зачем? В расширенной версии есть 8 IO, к ней есть платка расширения. На ней свистелка уже стоит.
alex_r61
мне расширенная версия - излишняя.
ни частота, ни память, ни что-там-еще - мне ни к чему.
а если за это еще и доплатить надо... )))
а бипер или переживу, или протяну по соседней паре )
Практически доделал интерфейс и полностью наладил взаимодействие с контроллером.
https://youtu.be/A8dOwVBgCFc
dr.lmg
я готовлюсь ваять практически тоже самое )
(у меня основная головная боль - подцепиться к котлу, который этого не умеет...)
Скажи пожалуйста - какой у тебя размер экрана? и он работает от батарейки??
Экран 4,3. Работает от сети, при отключении сети питание осуществляется от батареи 12в 4.5А/ч через понижающий модуль. Так же настроен контроль разряда батареи , индикация на дисплее и инфлрмирование об уровне заряда по смс.
Вот моя темка: http://arduino.ru/forum/proekty/umnyi-dom-mega2560sim800ltftds3231keyesd...
Доброго дня.
Заказал я себе сей девайс(Nextion 3,5"). Пока он мотается по почтам, играюсь в "Nextion editor"
есть UNO, Mega 2560, как (и можно ли) симулирвать в Nextion editor дисплей + реальный девайс(например UNO)?
Нужный МК моделирую в Proteus, дисплей в Nextion Editor. Сначала создаю пару виртуальных портов, затем подключаю один в Proteus, другой в NE. В NE в режиме Debug нужно установить User MCU Input, указать Сом порт и Start. В Proteus к нужному порту подключаемся через компонент COMPIM.
Кто-нибудь делал рамку для дисплея на 3d принтере? Или может какую из подходящих в обиходе подобрал?
А так не проще будет.
Это к чему?
Ну вы писали простынь строк на 20 пытаясь преобразовать HEX в DEC. Это решение проблемы в две строки причем сразу создающие буфер готовый для передачи в UART на Nextion.
dr.lmg Я дисплей пробовал в фоторамку вставить, в картоне прорезал окно по размеру. Только надо картинку в качестве фона вставить и стекло или плёнку убрать :)
diger67, за код спасибо. Просто я написал свой настолько, насколько я понимаю, как он работает и что я в итоге получу. А в вашем примере мне ровным счетом ничего не понятно :) Если Вы поясните, как код работает - буду очень благодарен.
Это функция из набора стандартной библиотеки "string.h" C-C++. Все просто, в num сохраняется значение, в данном случие целое беззнаковое, есть буффер в который sprintf() складывает результат преобразования. Средний аргумен функции указывает какой формат преобразования. Полученный результат передаем по UART. Чтобы получить полное представление об этой функции и ее аргументах просто наберите в поисковике "sprintf() C C++"
Получил рамку для дисплея. Отпечатали на 3d принтере, модель взята с сайта itead.cc Но не совсем то, что нужно. Рамка для внутреннего монтажа, а мне нужно накладную. Не пойму, как с телефона тут прицепить фотки.
diger67, спасибо за пояснение. Но мне нужно только разложить полученное значение и отделить нужную цифру от всего остального. Т.е. sprintf () избавит меня от цикла, в котором я складываю символы, чтобы получить десятичный знак. Это всего 5 строк :) Попробую поэкспериментировать с этой функцией на досуге, в любом случае, возможно она принодится и в других ситуациях.
Так может что нибудь напечатать на бумаге или плёнке самоклейке и сверху пришпандорить. Я так раньше лицевые панели делал, есть специальные программы для этого.
А на классической 328 атмеге можно что то с ним соорудить?
alex_r61, внешне как раз то что надо )) Внутренняя часть выпирает на поверхность, т.е. рамка не закрывает саму плату по краям, она для монтажа в полость. А мне нужно как раз как накладка, я ее на стенку буду вешать.
Megawollt, главное, чтобы был serial, остальное не важно.
Тогда взять подходящий корпус, прорезать окно и сделать накладку.
А как же "Мощность" процессора? У меня большой скетч на TFT экране еле еле работал. Пришлось под OLED переписывать
На каком TFT? Nextion - это вообще отдельный компьютер со своим процессором и дисплеем. Обработкой графики он сам занимается, не задействуя мощности контроллера.
alex_r61, я уже нашел другую модель рамки, она как раз как накладка сделана. В нее полностью плата с экраном убирается, и она на плоскую стенку аккуратно ложиться. Как сделают, покажу.
Megawollt У Nextion свой язык и часть программы можно написать на нём, вообще не задействуя Дуню. А новые, расширенные, ещё имеют 8 входов-выходов, из них 4 PWM, RTC и память.
8 входов-выходов?????? ВСЕГО? Могли бы еще ADC вывести наружу, он там 12 бит. Да и вообще arduino этому процу как собаке 5 нога, даже для cortex-M3. Не говоря уже о cortex-M4, тем более cortex-M7 в нем даже аппаратный Jpeg организован. Вот такие вещи делаются....
https://youtu.be/oycXAoZCJm4
Иногда и 8 вполне достаточно. Надо рассмотреть этот вариант
Ну вот и с резистивным дисплеем скоро увидим: https://c1.iggcdn.com/indiegogo-media-prod-cld/image/upload/c_fill,f_aut...
Доброго времени суток
подскажите как вывести значения с температурного датчика LM35 на экран этого дисплея
за ранее блогодарен
Доброго времени суток
подскажите как вывести значения с температурного датчика LM35 на экран этого дисплея
за ранее блогодарен
ещё вопрос две ардуино можно зацепить к дисплею
коллеги, а вопрос:
как можно сделать моргание картинки?
я пробовал управлять видимостью картинки, но в этом случае (когда картинка невидима), нажатия на нее не отрабатаются.
пробовал менять фон картинки на фон всего экрана - но тогда загораживаются другие элементы на экране.
а можно попродробнее пр орамку на картинке?
мне тоже сия забота предстоит )
А если сделать две страницы и переключаться между ними.
пока полноценно не тестил, но пришло в голову: поверх кнопок повесить hotspot.
он должен работать независимо от кнопки по ним.
нихрена.
на эмуляторе было ОК, но на плате когда выключается кнопка - на ее месте белое пятно (
Ну, и сам себе ответил ):
вместо изменения видимости стал подставлять картинке поочередно картинку/фон, и все работает
Народ, нужнаюсь в помощи. Хотелось бы совоить постороение графиков на дисплее. Есть показания датчиков температур, отправляются раз в 2 секунды, таких датчиков всего 14... Хотелось бы на отдельных закладках видеть их в виде графиков...
Не могу понять принцип их работы... как правильно прописаь на ардуинке отправку данных и на дисплее прием и построение...
народ, тоже присоединяюсь к предшествующему посту:
как можно сделать график на отдельной странице? - т.е. есть основная страница с данными, и вторая страница - с графиками.
так вот единственное, что я нашел - что графики не могу быть глобальными. и такая задача в принципе нерешаема (.
прииходит в голову нарисовать график самому - например, точками. Но эт оведь надо делать сдвижку значений, а это значит - держать в памяти ардуинки полный массив данных для графика (((.
Есть идеи получше?
Может этот цикл поможет. https://geektimes.ru/company/flprog/blog/273868/