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

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

Метки:
  1. Lazycat

    Lazycat Нуб

    Зачем два таймера? Не понял. У меня моргает равномерно, вроде. У Вас моргает в дебагере или уже с подключенной ардуиной?

    Код (Text):

    if(ClockDivision.pco==0)
    {
      ClockDivision.pco=65535
    }else
    {
      ClockDivision.pco=0
    }
    if(DayNumber.val==1)
    {
      ClockDay.txt="Воскресенье"
    }
    if(DayNumber.val==2)
    {
      ClockDay.txt="Понедельник"
    }
    if(DayNumber.val==3)
    {
      ClockDay.txt="Вторник"
    }
    if(DayNumber.val==4)
    {
      ClockDay.txt="Среда"
    }
    if(DayNumber.val==5)
    {
      ClockDay.txt="Четверг"
    }
    if(DayNumber.val==6)
    {
      ClockDay.txt="Пятница"
    }
    if(DayNumber.val==7)
    {
      ClockDay.txt="Суббота"
    }
     
    Здесь ClockDivision - двоеточие, DayNumber - Var, получаемое с ардуино( в моем случае - ESP8266 ), ClockDay - текстовое поле дня недели.
    Каждый тик (1 сек) идут проверки на значение переменной и присвоение соответствующего значения цвета двоеточию или надпись дня недели
     
    Последнее редактирование: 9 фев 2018
  2. PaulIV

    PaulIV Нерд

    Спасибо, Lazycat
    У меня ардуинка посылает данные раз в минуту в дебагере (чего занимать интерфейс каждую секунду).
    И как бы показания часов статичны в течение минуты. Вот я и воспользовался Вашим советом и решил оживить символ : (типа один таймер 400 мс закрашивает : и второй 600мс показывает черным)...
    Вот ерунда и получилась :)
     
  3. PaulIV

    PaulIV Нерд

    Всем привет.
    Спешка хороша только в двух случаях: при ловле блох и при ... :)
    Частично стер и еще раз набрал и " : " начало моргать нормально.
    Смог одну пару цифр передать, принять-переработать в ардуинке и снова в дисплей отправить.
    Народ, всем спасибо за Ваши рекомендации и примеры.
     
  4. DIYMan

    DIYMan Гуру

    Для не желающих разбираться, как там устроен посыл команд в Nextion - написал простенькую обёртку: https://drive.google.com/file/d/15Lc7PBysHaMPMSf-gYHDpwkWR5i-eN0C/view?usp=sharing

    Можно кинуть два файла рядом с *.ino-файлом, подключить, и юзать, примерно так:

    Код (C++):
    #include "CoreNextion.h"

    Nextion nextion(Serial);

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

      nextion.begin();
      NextionText text("text");
      text.bind(nextion);
      text.text("bla bla");
    }

     
    Короче, там в примере описано, если что. Есть события, приходящие от Nextion, если надо - в примере тоже есть. Возможно, кому пригодится.
     
    ИгорьК нравится это.
  5. Belkin

    Belkin Нерд

    Возможно, что-то недовкурил... ;)
    Отсылаю по UART в Nextion сформированную строку: "page0.obor.val=";rezultat;fin"
    Столкнулся с проблемой - как мне использовать значение "rezultat" побитно ?
    Каждый бит этого значения определяет состояние оборудования "вкл/откл" и это надо отобразить на состоянии кнопок на разных страницах.
     
  6. DIYMan

    DIYMan Гуру

    Никак на стороне Nextion. Если хотите устанавливать состояние различных кнопок на Nextion - то анализируйте биты вашего rezultat (правильно по-английски, кстати, будет result) и отсылайте на Nextion команды для установки состояния конкретных кнопок, profit.
     
    Belkin нравится это.
  7. Belkin

    Belkin Нерд

    Вопрос не "правильном английском", это - имя переменной... ;)
    За остальное спасибо, придется корячиться... ;)
     
  8. DIYMan

    DIYMan Гуру

    Глаз режет :)