18 сентября, 2023 - 09:38 | |
---|---|
как можно добавить кнопки к проекту
Юрий51 |
Ювий
![]() 12.09.2023 |
18 сентября, 2023 - 09:45 | #1 |
---|---|
Юрий51 |
Ювий
![]() 12.09.2023 |
18 сентября, 2023 - 09:46 | #2 |
---|---|
String data;// функция отправки конца команды // команда поступающая в дисплей должна кончаться символами «0xFF0xFF0xFF» void comandEnd() { for (int i = 0; i < 3; i++) { mySerial.write(0xff); } } // отправка на Nextion (номер экрана, название переменной) + данные void SendInt(String dev, int data) { mySerial.print(dev); // Отправляем данные dev(номер экрана, название переменной) на Nextion mySerial.print("="); // Отправляем данные =(знак равно, далее передаем сами данные) на Nextion mySerial.print(data); // Отправляем данные data(данные) на Nextion comandEnd(); dev = ""; // Очищаем переменную data = ""; // Очищаем переменную } void setup() { // открываем последовательный порт mySerial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); } void loop() { // ждём данные от дисплея if (mySerial.available()) // ждём данные от дисплея { char inc; inc = mySerial.read(); data += inc; if (inc == 0x0A)//конец команды { if (data.indexOf("on") >= 0) // если пришёло 'on' { flag = !flag; digitalWrite(LED_BUILTIN, flag); //управление LED SendInt("Button.bt0.val", flag); } data = ""; } } } Юрий51 |
Ювий
![]() 12.09.2023 |
18 сентября, 2023 - 09:48 | #3 |
---|---|
// библиотека для эмуляции Serial порта#include <SoftwareSerial.h>// создаём объект mySerial и передаём номера управляющих пинов RX и TX// RX - цифровой вывод 8, необходимо соединить с выводом TX дисплея// TX - цифровой вывод 9, необходимо соединить с выводом RX дисплеяSoftwareSerial mySerial(8, 9);byte flag = 0;byte i = 0;// переменная для хранения данныхString data;// функция отправки конца команды// команда поступающая в дисплей должна кончаться символами «0xFF0xFF0xFF»void comandEnd() { for (int i = 0; i < 3; i++) { mySerial.write(0xff); }}// отправка на Nextion (номер экрана, название переменной) + данныеvoid SendInt(String dev, int data){ mySerial.print(dev); // Отправляем данные dev(номер экрана, название переменной) на Nextion mySerial.print("="); // Отправляем данные =(знак равно, далее передаем сами данные) на Nextion mySerial.print(data); // Отправляем данные data(данные) на Nextion comandEnd(); dev = ""; // Очищаем переменную data = ""; // Очищаем переменную}void setup() { // открываем последовательный порт mySerial.begin(9600); pinMode(LED_BUILTIN, OUTPUT);}void loop() { // ждём данные от дисплеяif (mySerial.available()) // ждём данные от дисплея{ char inc; inc = mySerial.read(); data += inc; if (inc == 0x0A)//конец команды { if (data.indexOf("on") >= 0) // если пришёло 'on' { flag = !flag; digitalWrite(LED_BUILTIN, flag); //управление LED SendInt("Button.bt0.val", flag); } data = ""; } }} Юрий51 |
Ювий
![]() 12.09.2023 |
18 сентября, 2023 - 09:50 | #4 |
---|---|
не знаю как удалить 2 предыдущих поста Юрий51 |
Ювий
![]() 12.09.2023 |
18 сентября, 2023 - 09:51 | #5 |
---|---|
скетч
Юрий51 |
Ювий
![]() 12.09.2023 |
18 сентября, 2023 - 09:51 | #6 |
---|---|
// библиотека для эмуляции Serial порта#include <SoftwareSerial.h> // создаём объект mySerial и передаём номера управляющих пинов RX и TX // RX - цифровой вывод 8, необходимо соединить с выводом TX дисплея // TX - цифровой вывод 9, необходимо соединить с выводом RX дисплея SoftwareSerial mySerial(8, 9); byte flag = 0; byte i = 0; // переменная для хранения данных String data; // функция отправки конца команды // команда поступающая в дисплей должна кончаться символами «0xFF0xFF0xFF» void comandEnd() { for (int i = 0; i < 3; i++) { mySerial.write(0xff); } } // отправка на Nextion (номер экрана, название переменной) + данные void SendInt(String dev, int data) { mySerial.print(dev); // Отправляем данные dev(номер экрана, название переменной) на Nextion mySerial.print("="); // Отправляем данные =(знак равно, далее передаем сами данные) на Nextion mySerial.print(data); // Отправляем данные data(данные) на Nextion comandEnd(); dev = ""; // Очищаем переменную data = ""; // Очищаем переменную } void setup() { // открываем последовательный порт mySerial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); } void loop() { // ждём данные от дисплея if (mySerial.available()) // ждём данные от дисплея { char inc; inc = mySerial.read(); data += inc; if (inc == 0x0A)//конец команды { if (data.indexOf("on") >= 0) // если пришёло 'on' { flag = !flag; digitalWrite(LED_BUILTIN, flag); //управление LED SendInt("Button.bt0.val", flag); } data = ""; } } } Юрий51 |
Ювий
![]() 12.09.2023 |
18 сентября, 2023 - 10:51 | #7 |
---|---|
Похоже разобрался сам. При нажатии кнопки скрипт print "хon" printh 0d 0a где х это номер кнопки Скетч для двух кнопок ниже Юрий51 |
Ювий
![]() 12.09.2023 |
18 сентября, 2023 - 10:51 | #8 |
---|---|
// библиотека для эмуляции Serial порта#include <SoftwareSerial.h> // создаём объект mySerial и передаём номера управляющих пинов RX и TX // RX - цифровой вывод 8, необходимо соединить с выводом TX дисплея // TX - цифровой вывод 9, необходимо соединить с выводом RX дисплея SoftwareSerial mySerial(8, 9); byte flag = 0; //для первой кнопки byte flag1 = 0; //для второй кнопки byte i = 0; // переменная для хранения данных String data; // функция отправки конца команды // команда поступающая в дисплей должна кончаться символами «0xFF0xFF0xFF» void comandEnd() { for (int i = 0; i < 3; i++) { mySerial.write(0xff); } } // отправка на Nextion (номер экрана, название переменной) + данные void SendInt(String dev, int data) { mySerial.print(dev); // Отправляем данные dev(номер экрана, название переменной) на Nextion mySerial.print("="); // Отправляем данные =(знак равно, далее передаем сами данные) на Nextion mySerial.print(data); // Отправляем данные data(данные) на Nextion comandEnd(); dev = ""; // Очищаем переменную data = ""; // Очищаем переменную } void setup() { // открываем последовательный порт mySerial.begin(9600); pinMode(13, OUTPUT); pinMode(12, OUTPUT); } void loop() { // ждём данные от дисплея if (mySerial.available()) // ждём данные от дисплея { char inc; inc = mySerial.read(); data += inc; if (inc == 0x0A)//конец команды { if (data.indexOf("0on") >= 0) // если пришёло '0on' первая кнопка { flag = !flag; digitalWrite(13, flag); //управление LED SendInt("Button.bt0.val", flag); } if (data.indexOf("1on") >= 0) // если пришёло '1on'вторая кнопка { flag1 = !flag1; digitalWrite(12, flag1); //управление LED SendInt("Button.bt1.val", flag1); } data = ""; } } } Юрий51 |
Ювий
![]() 12.09.2023 |
2 ноября, 2023 - 13:21 | #9 |
---|---|
Вы код не может добавлять в соответствующие поле! Как вам помочь? Не читабельно! Будущее за микроконтроллерами |
Admin
![]() 3.07.2018 |
Прошу помощи.