Nextion Дисплеи

Bukmop
Offline
Зарегистрирован: 22.10.2017

Ребята, при использовании сторонней библиотеки nextion-master в примерах дисплей подключался к выводам ардуино 1 и 2. При таком подключении я мог отправлять код нажатия кнопки на ардуино и с ардуино посылать команды дисплею например для текста. Но если мне использовать дисплей без библиотеки через сериал соединение, то я должен использовать выводы ардуино 0 и 1? И почему в библиотеки назначались другие выводы?

Каримов
Каримов аватар
Offline
Зарегистрирован: 24.05.2017

 

ЗАГРУЗИ НУЖНЫЕ КАРТИНКИ! (Допустим 0-я -"ПЛОХО", 1-я -"ХОРОШО")

Создаешь на странице поле картинки (допустим P0). Присвой ему одну из двух картинок. Когда АРДУИНКА решила, что надо показать "ПЛОХО", то надо отправить команду P0.PIC=0. Если надо вывести "ХОРОШО" - то отправь команду P0.PIC=1. Если надо ПОГАСИТЬ СООБЩЕНИЕ, то отправь VIS P0,0. Если надо показать -то VIS P0,1

Efendis
Efendis аватар
Offline
Зарегистрирован: 25.01.2017

Спасибо!

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Efendis пишет:
Какой хинт?

Хинт - это подсказка. Я вам подсказываю один из вариантов, как это сделать в лоб.

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

Ещё загруженные картинки можно выводить командой pic x, y, picid. Если размер одинаков, они будут перекрывать друг друга.

Для владельцев Nextion накидал по быстрому новогодние часики. Версия для базовой модели 3.5, Дуня не используется, но если подключить то можно расширить возможности. Снежинки это кнопки. справа,рядом с минутами, обнуление секунд. https://yadi.sk/d/pNCNTGUh3Qx2MZ

Чуть позже выложу для расширенной версии. Всех с наступающими!

P.S. У кого нет дисплея могут запустить симуляцию в редакторе и ... положить монитор под ёлочку )))

vshurik
Offline
Зарегистрирован: 30.12.2017
#include <Nextion.h>
#define nextion (Serial1)
Nextion myNextion(nextion, 9600);

void setup() {
  Serial.begin(9600);
  myNextion.init();

}

void loop() {
  String message = myNextion.listen();
  Serial.println(message);

}

Доброго всем вечера!!!

Кто подключал nextion к DUE?

Подскажите как? По softwareSerial не загружется в ардуину.

Подключил к serial1 все загружается но дисплей с ардуионой не видят друг друга, как будто программа зависает еще до void setup().

Библиотека https://github.com/bborncr/nextion все сделал по инструкции для перехода на Serial1.

 

Каримов
Каримов аватар
Offline
Зарегистрирован: 24.05.2017

Кто делал в самом дисплее цикл с перебором (допустим) полей с n1.val по n100.val  ?

Dr_grizzly
Dr_grizzly аватар
Offline
Зарегистрирован: 07.12.2015

А ведь ДУО работает с 3.3В !!! А некстион на портах выдает 5В, вот и висяк. ПРосто отваливаются порты....

vshurik
Offline
Зарегистрирован: 30.12.2017

Interfaces Performance

  Test Conditions Min Typical Max Unit
Serial Port Baudrate Standard 2400 9600 115200 bps
Output Voltage(TXD) Output 1, Iout=1mA 3.0 3.2 - V
Output Voltage(TXD) Output 0, Iout=-1mA - 0.1 0.2 V
Input Voltage(RXD) Output 1, Iout=1mA 2.0 3.3 5.0 V
Input Voltage(RXD) Output 0, Iout=-1mA -0.7 0.0 1.3 V
Serial Port Mode TTL
Serial Port 4Pin_2.54mm with Lock
USB interface NO
SD card socket Yes (FAT32 format), support maximum 32G Micro TF/SD Card
 

вот выдержка из даташит. Nextion имеет логику 3.3v но может принимать и 5V

полный дата шит https://www.itead.cc/wiki/NX4832T035

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

Сомнения вот в этом Nextion myNextion(nextion, 9600); как будто на этой строчке зависает.

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

vshurik пишет:

Interfaces Performance

  Test Conditions Min Typical Max Unit
Serial Port Baudrate Standard 2400 9600 115200 bps
Output Voltage(TXD) Output 1, Iout=1mA 3.0 3.2 - V
Output Voltage(TXD) Output 0, Iout=-1mA - 0.1 0.2 V
Input Voltage(RXD) Output 1, Iout=1mA 2.0 3.3 5.0 V
Input Voltage(RXD) Output 0, Iout=-1mA -0.7 0.0 1.3 V
Serial Port Mode TTL
Serial Port 4Pin_2.54mm with Lock
USB interface NO
SD card socket Yes (FAT32 format), support maximum 32G Micro TF/SD Card
 

вот выдержка из даташит. Nextion имеет логику 3.3v но может принимать и 5V

полный дата шит https://www.itead.cc/wiki/NX4832T035

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

Сомнения вот в этом Nextion myNextion(nextion, 9600); как будто на этой строчке зависает.

 

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

 

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

Читай от этого поста , если не знаешь как отправить и получить,  и разобрать данные..

d_tramp
Offline
Зарегистрирован: 15.05.2017

Всем привет!
Как все-таки управлять подсветкой дисплея?
скажем не трогаем его какое-то время - он снижает яркость до 0
прикоснулись - 100% яркости.
Есть такое? 
или как правильно сделать.
тут был примерный пост:
- "Ребят, кстати напомните как реализовать отключение дисплея. точнее подсветки его? "
- "В таймере меняем DIM до 0"
где таймер я понимаю, а вот логика пока не понятна.
подробнее может распишет кто как сделать?
Спасибо!

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

https://www.itead.cc/wiki/Nextion_Instruction_Set#Nextion_HMI:_System_Va... - читаем строки 1,2, 9,10,11 - там есть всё, касаемо и подсветки, и бездействия.

d_tramp
Offline
Зарегистрирован: 15.05.2017

Ага! так понятней. спасибо!
А вот в какой режим его уводить по времени,
чтобы только подсветку выключал
а сам работал?
У меня на дисплее несколько расписаний крутятся...

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Тут поинтересней: имхо, лучше самому гасить яркость подсветки, если вы не хотите заморачиваться со встроенным переходом дисплея в сон. Если же хотите заморочиться с встроенным переходом в сон, то есть событие 0x87, посмотрите таблицу 2 по ссылке, что я дал:

Цитата:

0X87+End

Only when the device automatically wake up will return this data. If execute serial command “sleep=0” to wake up, it will not return this data.

Как только получили, что дисплей проснулся - взяли, и обновили данные на дисплее, всё. Как дисплей заснул - он в порт пуляет:

Цитата:

0X86+End

Only when the device automatically enters into sleep mode will return this data. If execute serial command “sleep = 1” to enter into sleep mode, it will not return this data.

d_tramp
Offline
Зарегистрирован: 15.05.2017

Вот дали надежду а потом окончательно запутали :))))
буду конечно пробовать с командами завтра.
Но мне хочется, чтобы если на прикасались к экрану, скажем, 5 минут
выключил сам яркость, но при этом сам работал и 
пас расписание, и когда время придет отправлял в порт что положено
с выключенной яркостью.
вот как мне надо? 
мне начинать мудрить с ручной яркостью?
в режиме сна он работать не будет?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Вот что пишут сами китайзы про это: http://support.iteadstudio.com/support/discussions/topics/11000010958 - почитайте, там кой-чего есть. Думаю, что если вы не хотите перетряхивать логику, то проще всего таки вручную управлять яркостью подсветки, кмк.

kost82
Offline
Зарегистрирован: 30.11.2015

Добрый день!

Подскажите а могут эти дисплеи поворачивать картинку пропорцианально полученным значениям? Дисплей я еще не заказал, но хотелось бы быть уверенным, что он это сможет. У меня задача такая: отображать крен символического изображения самолетика на экране, пропорционально показаниям гироскопа. Линия горизонта будет статичной, а самолетик должен наклдняться вправо/влево.

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

Может кто подскажет возможно такое? И как это делается в редакторе?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Тут: https://www.itead.cc/wiki/Nextion_Instruction_Set - такого не вижу, чтобы было что-то, похожее на rotate, так что только ручками - набор картинок и смена их для компонента.

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

Это уже анимированная графика, самый простой способ отрисовка линии по координатам, ее концов относительно ее середины. Прорисовку делать примерно так. предыдущее стояние зарисовывается фоном, потом отрисовывается новая. Тут возникает следующая "проблема", надо использовать два слоя, т.е слой статический фон и слой динамический. Я без всяких Nextion решал проблему так   https://youtu.be/8xuIp0JbNwQ

d_tramp
Offline
Зарегистрирован: 15.05.2017

Всем привет!
С Вашей помощью потихоньку разбираюсь дальше :)
Столкнулся вот с чем:
Есть несколько страниц, на page1 жмем кнопку "включить"
картинка сменилась на правильную, реле сработало
все правильно, тут приспичило уйти, скажем на page0,
потом идем на page1 и видим что картинки просто вернулись в обычное состояние
т.е. кнопка в состоянии "выкл", но это не так :))))
как запомнить состояние кнопки?
сильно не ругаться :)))))))))
 

Каримов
Каримов аватар
Offline
Зарегистрирован: 24.05.2017

Если у вас "расширенный" (с памятью) дисплей, то нет проблем!

d_tramp
Offline
Зарегистрирован: 15.05.2017

Каримов: 
у меня NX4832K035 "расширенный" с временем
и картой.
Как сделать то? 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

d_tramp пишет:

Всем привет!
С Вашей помощью потихоньку разбираюсь дальше :)
Столкнулся вот с чем:
Есть несколько страниц, на page1 жмем кнопку "включить"
картинка сменилась на правильную, реле сработало
все правильно, тут приспичило уйти, скажем на page0,
потом идем на page1 и видим что картинки просто вернулись в обычное состояние
т.е. кнопка в состоянии "выкл", но это не так :))))
как запомнить состояние кнопки?
сильно не ругаться :)))))))))
 

Глобальная переменная в проекте, в которую по клику кнопки - заносится значение. При перезагрузке страницы она читает из этой переменной, и устанавливает картинку на кнопке.

Каримов
Каримов аватар
Offline
Зарегистрирован: 24.05.2017

как реализована кнопка? b1? или bt1? или еще как то?

d_tramp
Offline
Зарегистрирован: 15.05.2017

Bt1

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

d_tramp пишет:

Всем привет!
С Вашей помощью потихоньку разбираюсь дальше :)
Столкнулся вот с чем:
Есть несколько страниц, на page1 жмем кнопку "включить"
картинка сменилась на правильную, реле сработало
все правильно, тут приспичило уйти, скажем на page0,
потом идем на page1 и видим что картинки просто вернулись в обычное состояние
т.е. кнопка в состоянии "выкл", но это не так :))))
как запомнить состояние кнопки?
сильно не ругаться :)))))))))
 

Привет, набрасал 2-е страницы, посмотри

https://yadi.sk/d/pDsSClic3RmJ5a

вторая страница имеет глобальную переменную img , ее читаем на первой странице, и если она имеет 1, то меняем картинку на странице

фото из проекта

 

d_tramp
Offline
Зарегистрирован: 15.05.2017

Проект не открывается что-то...
проверь плиз. 
не могу открыть как проект в Nextion Editor

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

И не откроется, это файл для заливки в дисплей.

d_tramp
Offline
Зарегистрирован: 15.05.2017

И как тогда понять как надо сделать? ))))))))

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

stambylov описал принцип, через глобальные переменные. У каждой страницы есть закладка преинициализации, там и прописывать.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

d_tramp пишет:

И как тогда понять как надо сделать? ))))))))

Я уже писал выше:

Цитата:

Глобальная переменная в проекте, в которую по клику кнопки - заносится значение. При перезагрузке страницы она читает из этой переменной, и устанавливает картинку на кнопке.

После моего поста вам продемонстрировали на проекте для Nextion, что это работает. Как надо сделать - читайте процитированное.

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

alex_r61 пишет:

И не откроется, это файл для заливки в дисплей.

сори, ссылка на проект снизу

https://yadi.sk/d/rOXIgo2h3RnFvv

d_tramp
Offline
Зарегистрирован: 15.05.2017

Вот за это СПАСИБО!!!
Буду разбираться.

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

d_tramp пишет:

Вот за это СПАСИБО!!!
Буду разбираться.

немного разбора по проекту выше.

За звук и слова не критикуйте. писал как есть.

https://yadi.sk/i/EVdCogvo3RnNG3

d_tramp
Offline
Зарегистрирован: 15.05.2017
stambylov:
напиши мне письмо пустое плиз.
остаются вопросы непонятные...
d_tramp@mail.ru
Спасибо!
stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

d_tramp пишет:

stambylov:
напиши мне письмо пустое плиз.
остаются вопросы непонятные...
d_tramp@mail.ru
Спасибо!

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

Так что пиши на форуме, будем помогать...

d_tramp
Offline
Зарегистрирован: 15.05.2017

Спасибо вам!
С трудом, но разобрался.
В вашем примере вы как-то все усложнили.
Я вот не понял почему с простой кнопкой это прокатывает,
а вот с bt нет. Ну и ладно. Результат есть и это главное.
Самое трудное было понять что на каждую кнопку Variable надо делать.
Сделал, все работает - у кого не получается готов "разжевать" подробнее.
И это... Прошу учесть, что если многие программисты и занимаются этими вещами 
проффессионально, то есть такие как я - для которых хобби.
А программирование вообще "темный лес" :)
Спасибо еще раз за помощь!

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

d_tramp пишет:

Спасибо вам!
С трудом, но разобрался.
В вашем примере вы как-то все усложнили.
Я вот не понял почему с простой кнопкой это прокатывает,
а вот с bt нет. Ну и ладно. Результат есть и это главное.
Самое трудное было понять что на каждую кнопку Variable надо делать.
Сделал, все работает - у кого не получается готов "разжевать" подробнее.
И это... Прошу учесть, что если многие программисты и занимаются этими вещами 
проффессионально, то есть такие как я - для которых хобби.
А программирование вообще "темный лес" :)
Спасибо еще раз за помощь!

Сделал видео как сделать кнопку и при нажатии на нее менялся текст,

далее при нажатии менялся текст самой кнопки,

далее при нажатии кнопки менялся фон страницы

и в конце при нажатии кнопки менялся фон на первой и второй странице

https://yadi.sk/i/58lMCyds3RpdMk

d_tramp
Offline
Зарегистрирован: 15.05.2017

Всем привет!
Опять уперся и не могу сдвинуться. 
Самое интересное, что не могу понять причину. Помогайте!!! :)
Идея такая, есть экран, ардуина и ESP.
Ардуина витухой зацеплена в сеть, ESP по вай-фаю.
при нажатии кнопки на дисплее, команда передается на ESP.
Вроде все просто...
Проверяем. 
В таймер page0 на экране пишем

print "12345f"
printh 0d 0a
delay=3000
print "12346f"
printh 0d 0a
delay=3000

две команды, запускаем, ардуина их видит, передает пакет, ESP получила и моргает светодиодом.
Все правильно. 
Теперь приделаем кнопку b1

 
if(ib1.val==0)
{
  ib1.val=1
  print "12345f"
  printh 0d 0a
}else if(ib1.val==1)
{
  ib1.val=0
  print "12346f"
  printh 0d 0a
}
 
Ничего не моргает и не передается... Где неправильно? Может в свойствах кнопки чего?
в ардуине и esp вроде все правильно...
 
d_tramp
Offline
Зарегистрирован: 15.05.2017

Как-то я не правильно кнопки создал... А вот как правильно? 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

А на каком языке Вы пишете?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

andriano пишет:

А на каком языке Вы пишете?

На скриптовом недоязыке Nextion - это выдержки из проекта под Nextion.

Каримов
Каримов аватар
Offline
Зарегистрирован: 24.05.2017
if(toch.val==0)
{
  vis p3,0
  vis t0,0
  toch.val=1
}else
{
  vis p3,1
  vis t0,1
  toch.val=0
}
 
БЕЗ повторного IF.
Только подставте СВОЁ!...
 
И в вашем примере почему то УЖЕ НЕТ DELAY!!!!
Если этот код работает в цикле, то Может оно и работает??? Но очень быстро!
Lazycat
Offline
Зарегистрирован: 05.02.2018

Всем доброго дня.

Есть у кого-то сгенерированные русские шрифты? Что не делаю - вылазят кракозябры. Вот тут находил решение (http://arduino.ru/forum/programmirovanie/kak-vyvesti-russkie-bukvy-na-lc...) вроде как, но сами архив не доступен для скачивания...

Может есть еще идеи - как закинуть русские буквы на Nextion? Может что-то навроде этого (http://arduino.ru/forum/programmirovanie/rusifikatsiya-biblioteki-adafru...) ?

stambylov
stambylov аватар
Offline
Зарегистрирован: 10.05.2012

Привет, на твой вопрос записал видео.

1. Как создать новый проект

2. Как выбрать дисплей

3. Как сделать. чтоб отображались русские буквы

4. Как добавить шрифт в проект(сгенерировать)

5. Как с помощью кнопки поменять текст в текстовом поле.

ссылка

evgta
Offline
Зарегистрирован: 02.09.2016

Вот заказал себе дисплей и пока идёт балуюсь в эмуляторе, и в связи с природной ленью назрел вопрос в библиотеке изображений( кнопок, слайдеров, изображений шрифтов) может у кого есть или попадались где-нибудь ?

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

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

Пишешь в коде к кнопке цикл и делов.

evgta
Offline
Зарегистрирован: 02.09.2016

Да это понимаю, синтаксиса в дисплее незнаю, пример можно привести как луп сделать?

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

Это не в лупе делается, а на строне дисплея.