Jump to content
admin

Обзор Touch-Дисплея Nextion. Часть 1, 2

Recommended Posts



Обзор Touch-дисплеев 2.4" и 4.3" Nextion компании ITEAD с краудфандинговой платформы indiegogo.
Краткий обзор, работа с редактором Nextion IDE, подключение к Arduino по UART-интерфейсу, отображение простейших элементов на дисплее и взаимодействие с контроллером.

Скачать Nextion IDE (последняя версия)
Nextion Instruction Set
Nextion Editor Quick Start Guide

Проект HMI и скетч для Arduino: Nextion 1.rar
Скачать Nextion IDE 0.9: nextion-setup 0.9.zip

Share this post


Link to post
Share on other sites

Обзор Touch-дисплея Nextion. Часть 2

Обзор Touch-дисплея 4.3" Nextion компании ITEAD с краудфандинговой платформы indiegogo.

Подключение к Arduino по UART-интерфейсу, функции рисования при помощи команд в среде Nextion IDE, передача команд от нажатия кнопок на дисплее в Arduino.

Nextion2.rar

Share this post


Link to post
Share on other sites

Вебинар «МЭМС-датчики ST для работы со звуком – новые возможности» (28.10.2020)

28 октября все желающие приглашаются для участия в вебинаре, посвященном семейству МЭМС-датчиков STMicroelectronics для акустических приложений. Предметом детального рассмотрения на вебинаре станут микрофоны, их топологии применения и возможности. Вы услышите о новых мультирежимных широкодиапазонных микрофонах с нижним портом и PDM-интерфейсом для систем с батарейным питанием.

Подробнее

STM32L562E-DK – первая отладочная платформа ST на ядре ARM Cortex-M33

STMicroelectronics представляет демонстрационно-отладочную платформу на базе ядра Cortex-M33 – STM32L562E-DK. Данная платформа основана на микроконтроллере нового семейства – STM32L5. STM32L562E-DK позволяет разработчику в полной мере раскрыть и опробовать новые возможности микроконтроллеров STM32L5 с тщательно проработанным функционалом для обеспечения высокого уровня безопасности и защиты.

Подробнее

Тест уровня кондуктивной помехи электронного устройства

Электромагнитная совместимость (ЭМС) является важным параметром электронных устройств, особенно это актуально в современном мире, насыщенном разнообразными гаджетами. Специалисты компании Mornsun подготовили видеоролик по тестированию одной из составляющих ЭМС – кондуктивной помехи.

Подробнее

Добрый день! Я заказывал экран с китая (алиэкспресс), и оказывается у экранов есть 2 версии, к примеру NX4024T032_011 и TJC4024T032_011, TJC версия чисто для китая, и с официальной программой не работает! Танцы с бубном, китайский поисковик и коекак нашел программу, она называется Usart hmi (вместо Nextion editor). Интерфейс одинаковый, только китайская версия на китайском, приходится подглядывать в англ. версию...

По видео примеру запустил свой экран, все фурыкает, а вот как с ардуиньки отправлять команды в экран? Второй момент если ставишь 2 прогресс бара то у них один и тот же адрес для значения (0х71), даже на разных страницах!!!!! как их различать!?

Share this post


Link to post
Share on other sites

В nextion адреса насколько я помню задаются.

По видео примеру запустил свой экран, все фурыкает, а вот как с ардуиньки отправлять команды в экран

В видео же есть все это. И даже скетчи прикреплены.

Share this post


Link to post
Share on other sites

Приветствую всех!

Почему экран не работает с программным последовательным портом? Пробовал так

#include "SoftwareSerial.h"

#define rxPin 10

#define txPin 11

SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);

void setup() {

pinMode(rxPin, INPUT);

pinMode(txPin, OUTPUT);

mySerial.begin(9600);

}

и пробовал так

#include "SoftwareSerial.h"

SoftwareSerial mySerial(10, 11);

void setup() {

mySerial.begin(9600); (и просто Serial.begin(9600) ;)

}

без библиотеки на обычном порту работает

Edited by lehamozg

Share this post


Link to post
Share on other sites

У меня вот так все работает.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11);

#define U_NUM 0x70
char incomingByte;

void setup() {
mySerial.begin(9600);
}

void loop() {
while(mySerial.available()){
delay(20);

while (mySerial.available()){
incomingByte = mySerial.read();

if(incomingByte == U_NUM)continue;
if(!isAscii(incomingByte))continue;

Serial.print(incomingByte);
}

Serial.println("");

}	
}

Share this post


Link to post
Share on other sites

Этот пример у меня работает, а вот так не работает:

#include "SoftwareSerial.h"

SoftwareSerial mySerial(10, 11);

#define PIN_OUT 9

float getValue;
int value;
float oldvalue;
byte bright;

void setup() {
 mySerial.begin(9600);
 pinMode(PIN_OUT, OUTPUT);
}

void loop() {
 getValue = analogRead(A0);
 if (getValue==oldvalue)
 {;}
 else
{ oldvalue=getValue;
  getValue=(getValue*100/1023);
  bright = map(getValue, 0, 100, 0, 255);   // пропорционально переносим диапазон 0...100 в 0...255
  analogWrite(PIN_OUT, bright);
  value=getValue;

 Serial.print("j0.val=");
 Serial.print(value);
 Serial.write(0xff);
 Serial.write(0xff);
 Serial.write(0xff);
 Serial.print("t0.txt=");
 Serial.write(0x22);
 Serial.print(value);
 Serial.write(0x22);
 Serial.write(0xff);
 Serial.write(0xff);
 Serial.write(0xff);
}
 delay(100);
}
а так работает:
#define PIN_OUT 9

float getValue;
int value;
float oldvalue;
byte bright;

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

void loop() {
 getValue = analogRead(A0);
 if (getValue==oldvalue)
 {;}
 else
{ oldvalue=getValue;
  getValue=(getValue*100/1023);
  bright = map(getValue, 0, 100, 0, 255);   // пропорционально переносим диапазон 0...100 в 0...255
  analogWrite(PIN_OUT, bright);
  value=getValue;

 Serial.print("j0.val=");
 Serial.print(value);
 Serial.write(0xff);
 Serial.write(0xff);
 Serial.write(0xff);
 Serial.print("t0.txt=");
 Serial.write(0x22);
 Serial.print(value);
 Serial.write(0x22);
 Serial.write(0xff);
 Serial.write(0xff);
 Serial.write(0xff);
}
 delay(100);
}

Edited by admin
Тэг CODE для чего существует?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Что nano не поддерживает? Картинка в редакторе меняется и остается потом в контроллере LCD. Чтобы поменять картинку нужна команда по UART и не важно что там - Nano, UNO. STM32, ПК или DDS-генератор.

Share this post


Link to post
Share on other sites

В дисплее картинка есть и ее нужно менять по команде. Вот команду я и незнаю как прописать. Библиотеки Nextion Arduino Nano не поддерживает.

Надо что то типа этого

Serial.print("j0.val=");

Serial.print(value);

Serial.write(0xff);

Serial.write(0xff);

Serial.write(0xff);

Serial.print("t0.txt=");

Serial.write(0x22);

Serial.print(value);

Serial.write(0x22);

Serial.write(0xff);

Serial.write(0xff);

Serial.write(0xff);

}

но что бы меня картинку в P0

Вообще бы почитать про эти команды. Есть линк на описание?

Edited by MIB

Share this post


Link to post
Share on other sites

хочу тоже заказать ... подскажите , а как он вообще по качеству ?

интересует отклик на TOUCH

цвета , контраст яркая ли картинка ?

Edited by salarm

Share this post


Link to post
Share on other sites

По качеству норм. Тач резистивный, плоховато отзывающийся. Матрица TN блеклая и с ужасными углами обзора. Но оно все такое.

Edited by MIB

Share this post


Link to post
Share on other sites

Вообще бы почитать про эти команды. Есть линк на описание?

В первом посте есть ссылки

Share this post


Link to post
Share on other sites

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

Edited by salarm

Share this post


Link to post
Share on other sites

Команды dim и baud (первые 4 в списке)

Дисплея нет под рукой показать, но там вроде никаких проблем не должно быть с командами и установкой значений

Share this post


Link to post
Share on other sites

Пока заказал , жду .... Там системное меню или эти команды надо в uart отправить? ладно уже дождусь :)

Share this post


Link to post
Share on other sites

А не подскажите как данные типа int загнать в String?Правда это про Arduino, но я применительно к Nextion ))

Edited by MIB

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения


  • Пластиковые гайки барашковые от М5 до М10

  • Similar Content

    • By VFD_FUTABA
      Продам новые вакуумные VFD дисплеи Futaba Co. GP1160A02A 256х64
      Цена: 2700р.
      Толщина 3х слойного дисплея (стекла) - 10мм.
      Наименование - GP1160A02A
      Производитель - Futaba Corp.(FUTABA)
      Тип дисплея - графический, VFD
      Минимальная рабочая температура -40
      Максимальная рабочая температура +85
      Разрешение x пикс - 256х64
      Длина / высота - 220мм
      Ширина - 60мм
      Примечания - RS-232
      Видео тестов: здесь и здесь
      Пример использования здесь
      Форумчанам скидка, купить можно либо здесь, либо на авито здесь



      futaba_gp1160a02a.pdf
    • By admin
      В видео протестируем плату Nucleo G474RE и проверим насколько она быстрее Arduino Uno.
      Текстовый вариант инструкции, как превратить отладочную плату STM в Arduino: https://www.compel.ru/lib/132248
      Плата Nucleo-G474RE: https://www.electronshik.ru/item/ST/NUCLEO-G474RE
      Arduino Uno: https://www.electronshik.ru/item/ARDUINO/ARDUINO%20UNO%20REV3
      Репозиторий проекта stm32duino: https://github.com/stm32duino/Arduino_Core_STM32
      Репозиторий benchmark’а: https://github.com/PaulStoffregen/CoreMark
      Пи тест, вторая часть: https://youtu.be/uLOWYE-JJpA
      Пи тест, первая часть: https://youtu.be/ozu1IUjH1_Q
      Платы XNucleo: https://www.st.com/content/st_com/en/search.html#q=xnucleo-t=tools-page=1
    • By devisor
      Добрый вечер. И не болеть всем...
      После замены дисплея некорректно работает функция пробуждения двойным тапом. Дисплей, естественно, не оригинальный. Менялся в сборе с рамкой.
      Телефон пробуждается нажатием кнопки питания, после чего функция работает нормально. Экран и выключается, и включается снова двойным касанием.
      Но после закрывания датчиков на некоторое время (точно не засекал, но примерно минута и больше) его можно включить только через кнопку. Далее все нормально, до следующего закрытия датчиков.
      Проблемы с датчиками маловероятны. Ради эксперимента менялись платы, с других телефонов. Результат такой же.
      Резинка на датчиках установлена, проблема не в этом. Кто сталкивался с подобным, поделитесь пожалуйста.
    • By sys
      Потребовалась в проекте простая и долгоживущая память для вобщем- то небольшого количества данных, на случай сбоя по питанию. Работа ограничивалась записью текущих изменяющихся значений и восстановлением при включении. При неспешной записи несколько раз в минуту, ресурс ATMEGA328 выбирался за 2 года гарантированной записи её родной EEPROM, происходившей по кольцу, что не очень радовало.
              Отступление небольшое, в нете читал статью где этот чип подвергался повышенным напряжением в 7- 9В и при снижении опять начинал работать, так это правда, случайно проверил. Ещё тестили количество циклов чтения- записи, реально намного превышает количество заявленное производителем, но у меня не тот случай где можно на это надеяться.
      Присутствовал на борту модуль с Алиекспресса с DS3231,  на нём имелась память 24С32. Ввиду чрезвычайного удобства (модуль два в одном, и часы и память, общая шина IIC/TWI) эта микросхема использовалась для вышеуказанных целей очень долгое время. А потом всё устройство обрастало свистелками- перделками многочисленными датчиками  и подвергалось давлению перфекционизма. Времени для записи, по даташиту  10ms, стало слишком много и в обрез оставалось для основной работы программы. Я посмотрел в сторону FRAM.
             Были заказаны на том же Али FM24С64 и 04. Частота работы до 1 Мгц,  выпускаются в вариантах 5 и 3,3В, объёма, учитывая количество циклов записи- чтения 10 в 12-й степени хватало. Перепробовав безуспешно адаптировать несколько библиотек, для обычных 24СХХ, решил написать подпрограммы, напрямую работая со встроенной библиотекой Wire Arduino IDE (https://www.arduino.cc/en/Reference/Wire). Этими скетчами проверял присланные микросхемы.
      Для FM24C04:
      #include <Wire.h>
      byte iich = 0x50;// адрес устройства
      unsigned int address = 0;
      byte datawrite = 0x77;// чем заполнить ячейки памяти
      void setup() {
        Serial.begin(115200);
        Wire.begin();
        Wire.setClock (400000);// скорость шины, от 3,3В через конвертер уровней TXS0108 тоже работают
        for (address = 0; address < 512; address ++ ) {  // цикл для записи в память
          iic_write (address, datawrite);    
        }
        for (address = 0; address < 512; address ++ ) { // цикл для чтения из памяти
          Serial.println ();
          Serial.print (address);
          Serial.print ("--");
         Serial.print (iic_read (address),HEX);
          Serial.print ("--");   
        }
      }
      /////////////////////////////////////////////////////
        void loop() {
        }
      /////////////////////////////////////////////////////
        
      unsigned int iic_read (unsigned int adrd) {
          Wire.beginTransmission(iich);
          Wire.write(adrd);
          Wire.requestFrom(iich, 1);
          return  Wire.read();
          Wire.endTransmission();
        }
       void iic_write ( unsigned int adwr, byte dat) {
          Wire.beginTransmission(iich);
          Wire.write(adwr);
          Wire.write(dat);
          Wire.endTransmission();
        }
       
      Для  FM24С64 меня ждали несколько шикарных, испытанных временем граблей.
      Перерыт инет, перечитан даташит. Внутренний подтягивающий к земле резистор  internally pulled down достаточно велик для уровня наводки, воспринимаемой как логический "0" или "1". Поэтому вывод WP- обязательно к земле наикратчайшим  проводом, тем более если это "сопли" на разъёмах на столе. То- же о выводах А0-А2, висящие в воздухе они давали несколько несуществующих адресов. Почему- то это не касается FM24C04 и я попался на этом чипе.
      Подпрограммы изменились, для чтения:
      unsigned int iic_read (unsigned int adrd) {
        Wire.beginTransmission(iich);
        Wire.write(adrd >> 8);// старший байт
        Wire.write(adrd & 0xFF);//младший байт
        Wire.requestFrom(iich, 1);
        if (Wire.available()) {
          return  Wire.read();
        }
        Wire.endTransmission();
      }

      для записи:
      void iic_write ( unsigned int adwr, byte dat) {
        Wire.beginTransmission(iich);
        Wire.write(adwr >> 8);
        Wire.write(adwr & 0xFF);
        Wire.write(dat);
        Wire.endTransmission();
      }
      Работа 5В версии (FM24C64-G) при питании 3,3В и скорости шины 400000 стабильна, что рекомендовать к работе конечно нельзя.
      По поводу  FM24C64 (подозреваю что и С32 ,  С128,  С256) коротко и ясно написано на https://forum.arduino.cc/index.php?topic=18946.0 пользователь alicemirror объясняет как работает чтение у этих микросхем, а поскольку они прямая замена для, например, АТ24С64, то и для них это справедливо.  Дело в том, что данные из микросхемы "выстреливаются" далее без указания адреса с его автоинкрементом самой микросхемой после подтверждения от ведущего. Эту прыть и надо останавливать при получении байта :-)  и способ адресации отличается от младших, с меньшим объёмом.
         Интересных всем проектов!
    • By jonytvester
      Есть у меня два блока питания один на 35kV второй на 65kV, у обоих присутствует порт аналогового программирования 0-10 v (смотрите  прикрепленный мануал ), я ищу умельца который сможет выполнить описанную ниже задачу. возможно есть уже готовое решение ? 
      Задача состоит из двух частей 
      Железо которое должно подключатся с одной стороны  к блоку питания FUG(мануал во вложении ) выдавая от 0-10V , а с другой стороны к ПК через юсб Программа , в которой будет возможно калибровать выходное напряжение блока питания  в зависимости от подключенного БП, возможность повышать/понижать  напряжение постепенно , таймер на выключение/ включение блока питания  .  Analog_programming.pdf
×
×
  • Create New...