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

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

Метки:
  1. d_tramp

    d_tramp Нуб

    Selvik! Ты про это спрашиваешь?


    String incStr;

    void setup() {
    Serial3.begin(9600); // у меня экран висит на Serial3
    pinMode(13, OUTPUT); // если все правильно, то у меня моргает 13 пин
    digitalWrite(13, HIGH);
    }

    void loop() {
    if (Serial3.available()) {
    char inc;
    inc = Serial3.read();
    incStr += inc;
    if (inc == 0x0A) {
    AnalyseString(incStr);
    incStr = "";
    }
    }
    }

    void AnalyseString(String incStr) {
    if (incStr.indexOf("bt0-on") >= 0) { // при нажатии кнопки на экране - с экрана летит в порт "bt0-on"
    digitalWrite(13, LOW);

    } else if (incStr.indexOf("bt0-off") >= 0) {
    digitalWrite(13, HIGH);
    }

    String t1 = "\"" + String(random(25)) + "'C\"";
    SendData("t4.txt", t1);
    t1 = "\"" + String(random(25)) + "'C\"";
    SendData("t5.txt", t1);
    }

    void SendData(String dev, String data)
    {
    Serial3.print(dev);
    Serial3.print("=");
    Serial3.print(data);
    Serial3.write(0xff);
    Serial3.write(0xff);
    Serial3.write(0xff);
    }
     
  2. d_tramp

    d_tramp Нуб

    Как два if прописать? не могу сообразить...
     
  3. ИгорьК

    ИгорьК Гуру

    Последнее редактирование: 6 ноя 2017
  4. d_tramp

    d_tramp Нуб

    О как!


    if(n4.val==40)
    {
    if(n2.val==20)
    {
    print "12345f"
    printh 0d 0a
    }else
    {
    }
    }else
    {
    }

    Это же кто так придумал то? :)))
     
  5. Salk

    Salk Гик

    Добрый день. Позвольте поинтересоваться - у всех имеется инверсия цветов при наклонах дисплея. Если заливать свои картинки (jpg,png,bmp) это очень резко бросается в глаза, точно так же и со сплошной заливкой экрана, только текст еще более менее неплохо сохраняется :) Навскидку, угол при котором происходит уже искажения около 30°. Но интересно, что в одну сторону цвета очень сильно светлеют, а в другую сторону выцветают (темнеют), что по сои X, что по Y.
    Мой дисплей 3.5", 480x320, NX4832T035_11 (фирма ITead). Это только мне так повезло или это особенность всех данных моделей? Хотя при тестовой (стартовой) прошивке вроде бы искажения не так сильно бросались в глаза или я просто стал привередой, даже не знаю? :)
     
  6. rkit

    rkit Гуру

    Это особенность дешевых lcd-экранов.
     
  7. Salk

    Salk Гик

    Аа, т.е. они отличаются качеством дисплея, те что продаются на Ali и оригинальные с сайта Nextion разные по качеству??
    Хотя стоят почти одинаково, не считая доставки конечно. Серьезно? :eek:
    Или Вы имеете ввиду, отличия между "базовыми" и "расширенными" моделями и/или размером диагонали дисплеев?
     
  8. ИгорьК

    ИгорьК Гуру

    Речь идет о том, что Nextion втыкает в свои изделия дешевые экраны и рубит некислую маржу.
    Поддельщики ставят не лучше.
     
  9. Salk

    Salk Гик

    ИгорьК, ага, но я просто хочу понять, вот в своих проектах Вы (начиная с 1 страницы) использовали 3.2", 400х240, оригинальный (расширенная версия, если не ошибаюсь) и этот дисплей тоже страдает инверсией цветов при наклонах дисплея? Или такого эффекта нет только в "старших" моделях, начиная с 5" или только с расширенных версий?
    Вот сейчас я хочу купить 5" базовую версию (без RTC и т.д.), к примеру с сайта Амперка, будет ли там сильная инверсия цветов при наклоне дисплея?
     
  10. ИгорьК

    ИгорьК Гуру

    ... ага... у меня их десяток и я их щас положу на стол, включу и буду сравнивать :)
    У меня обычный дисплей, нерасширенный. Экран там поганый, но привык к нему. Да он и на даче, так что и взглянуть не могу.
     
  11. vvr

    vvr Инженерище

    не обольщайтесь)))
    7.0" Nextion Enhanced - нормально цвета передаёт если смотреть только под углом.
     
  12. Salk

    Salk Гик

    Грустно, как-то :(
    Понял, спасибо, честно ожидал чуть большего от этих чудо-дисплеев. Хотя, может и грех жаловаться.
    А еще вопрос, vvr, Вы не в курсе у 7" экранов (расширенных), емкостной тач (CPT) заслуживает внимания или разницы с резистивными практически нет? Это чтобы до конца разобраться с этими дисплеями, а то кота в мешке не хочется покупать.
     
  13. ИгорьК

    ИгорьК Гуру

    Боюсь, Вы до сих пор не очень понимаете ситуацию.
    Аналогов Некстион не существует (только если очень дорого где-то в Австралии) - их нельзя сравнивать ни с какими другими по причине разного функционала.
    Дисплеи по качеству изображения да и тача так себе. Но работают.
    Но взять вместо них по функционалу аналогичное просто не чего.
     
    vvr нравится это.
  14. Seltvik

    Seltvik Нуб

    Скажите как можно выводить некстион из спящего режима? Есть ли какая либо функция обработки нажатия на экран в любом месте? Если использую Hotspot то в спящем режиме она тоже не работает. Заводить в спящий режим получается а вот как вывести хз(
     
  15. DIYMan

    DIYMan Guest

    Я уже ответил на ардуино.ру - незачем бегать по форумам, задавая один и тот же вопрос.
     
  16. skalinas

    skalinas Нерд

    В стандартной библиотеке есть пример
     

    Вложения:

  17. skalinas

    skalinas Нерд

    Благодаря этой теме написал тестовый проект отправки и получение данных дисплеем. Передаю индификационный номер и вводимое число, и получаю обратно на дисплей. Хотелось бы, передавать с дисплея одним посланием (номер и данные), но не получилось сделать приемник в ардуино. Если, кто знает как сделать, подскажите.
     

    Вложения:

    • Проект.zip
      Размер файла:
      105,5 КБ
      Просмотров:
      438
  18. ИгорьК

    ИгорьК Гуру

    Напишите пример того что надо передать. Прямо так, я хочу, чтобы с дисплея ушло...
     
  19. skalinas

    skalinas Нерд

    Сейчас передаю с экрана и принимаю в ардуино так (двумя сообщениями), пример в проекте постом выше:

    print "" - определяем кто передает информацию
    print va0.txt - индивидуальный номер (в ардуино сохраняю в переменной nn= целое число)
    print ";"

    print "#d" - данные
    print va1.txt - данные (в ардуино сохраняю в переменной dd= число с плавающей запятой)
    print ";"

    Хочу передавать с экрана и принимать в ардуино так (одним сообщением):

    // # - признак начала сообщения
    // р - определяем кто передает информацию
    // 0…256 - индивидуальный номер, кто передает
    // : - разделение между индивидуальным номером и данными
    // -3,4+38…3,4+38 - данные
    // ; - признак конца команды

    print "#р"
    print va0.txt - индивидуальный номер (в ардуино сохранить в переменной nn= целое число)
    print ":"
    print va1.txt - данные (в ардуино сохраняить в переменной dd= число с плавающей запятой)
    print ";"
     
    Последнее редактирование: 27 ноя 2017
  20. ИгорьК

    ИгорьК Гуру

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

    upload_2017-11-27_19-23-57.png

    То есть действия кнопок или полей формируют эту переменную и отправляют ее.