Возможно кто пользуется этой библиотекой для связи экрана nextion с Ардуино. Библиотека простая, пользоваться легко,но при желании увеличить число триггеров более 10(0,1,2…9)перестает работать причем как при номере триггера в шестнадцатиричной системе(0A,0B..) как написано в описании,так и десятичной (10,11…).Такое впечатление,что Ардуино не понимает шестнадцатиричную систему счета.
Вот это подлянку нам подкинули создатели платформы.
Или, может, внутри библиотеки просто массив на 10 триггеров заведён и всё?
он пишет на сайте о 50 триггерах
Приведите пример кода, как вы задаете больше 10 триггеров?
код длинный на 12 кнопок, а сайт автора https://seithan.com/
#include "EasyNextionLibrary.h"
EasyNex myNex(Serial);
void setup() {
myNex.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(11, OUTPUT);
pinMode(13, OUTPUT);
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(12, INPUT);
}
void loop() {
myNex.NextionListen();
}
void trigger0() {
digitalWrite(2, !digitalRead(2));
if (digitalRead(2) == LOW) {
myNex.writeNum("b0.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("b0.txt", "ON"); // Set button b0 text to "ON"
myNex.writeStr("vis b0,1");
myNex.writeStr("vis b1,1");
myNex.writeStr("vis b2,1");
myNex.writeStr("vis b4,1");
myNex.writeStr("vis b5,1");
} else if (digitalRead(2) == HIGH) {
myNex.writeNum("b0.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b0.txt", "OFF"); // Set button b0 text to "ON"
myNex.writeStr("vis b0,1");
myNex.writeStr("vis b1,0");
myNex.writeStr("vis b2,0");
myNex.writeStr("vis b4,0");
myNex.writeStr("vis b5,0");
}
}
void trigger1() {
digitalWrite(3, !digitalRead(3));
if (digitalRead(3) == LOW) {
myNex.writeNum("b1.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("b1.txt", "ON"); // Set button b0 text to "ON"myNex.writeStr("vis b0,1");
myNex.writeStr("vis b0,1");
myNex.writeStr("vis b1,1");
myNex.writeStr("vis b2,1");
myNex.writeStr("vis b4,1");
myNex.writeStr("vis b5,1");
} else if (digitalRead(3) == HIGH) {
myNex.writeNum("b1.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b1.txt", "OFF"); // Set button b0 text to "ON"
myNex.writeStr("vis b0,0");
myNex.writeStr("vis b1,1");
myNex.writeStr("vis b2,0");
myNex.writeStr("vis b4,0");
myNex.writeStr("vis b5,0");
}
}
void trigger2() {
digitalWrite(4, !digitalRead(4));
if (digitalRead(4) == LOW) {
myNex.writeNum("b2.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("b2.txt", "ON"); // Set button b0 text to "ON"
myNex.writeStr("vis b0,1");
myNex.writeStr("vis b1,1");
myNex.writeStr("vis b2,1");
myNex.writeStr("vis b4,1");
myNex.writeStr("vis b5,1");
} else if (digitalRead(4) == HIGH) {
myNex.writeNum("b2.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b2.txt", "OFF"); // Set button b0 text to "ON"
myNex.writeStr("vis b0,0");
myNex.writeStr("vis b1,0");
myNex.writeStr("vis b2,1");
myNex.writeStr("vis b4,0");
myNex.writeStr("vis b5,0");
}
}
void trigger3() {
digitalWrite(5, !digitalRead(5));
if (digitalRead(5) == LOW) {
myNex.writeNum("b3.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("b3.txt", "ON"); // Set button b0 text to "ON"
} else if (digitalRead(5) == HIGH) {
myNex.writeNum("b3.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b3.txt", "OFF"); // Set button b0 text to "ON"
}
}
void trigger4() {
digitalWrite(6, !digitalRead(6));
if (digitalRead(6) == LOW) {
myNex.writeNum("b4.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("b4.txt", "ON"); // Set button b0 text to "ON"
myNex.writeStr("vis b0,1");
myNex.writeStr("vis b1,1");
myNex.writeStr("vis b2,1");
myNex.writeStr("vis b4,1");
myNex.writeStr("vis b5,1");
} else if (digitalRead(6) == HIGH) {
myNex.writeNum("b4.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b4.txt", "OFF"); // Set button b0 text to "ON"
myNex.writeStr("vis b0,0");
myNex.writeStr("vis b1,0");
myNex.writeStr("vis b2,0");
myNex.writeStr("vis b4,1");
myNex.writeStr("vis b5,0");
}
}
void trigger5() {
digitalWrite(7, !digitalRead(7));
if (digitalRead(7) == LOW) {
myNex.writeNum("b5.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("vis b0,1");
myNex.writeStr("vis b1,1");
myNex.writeStr("vis b2,1");
myNex.writeStr("vis b4,1");
myNex.writeStr("vis b5,1");
myNex.writeStr("b5.txt", "ON"); // Set button b0 text to "ON"
} else if (digitalRead(7) == HIGH) {
myNex.writeNum("b5.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b5.txt", "OFF"); // Set button b0 text to "ON"
myNex.writeStr("vis b0,0");
myNex.writeStr("vis b1,0");
myNex.writeStr("vis b2,0");
myNex.writeStr("vis b4,0");
myNex.writeStr("vis b5,1");
}
}
void trigger7() {
digitalWrite(11, !digitalRead(11));
if (digitalRead(11) == LOW) {
myNex.writeNum("b7.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("vis b7,1");
myNex.writeStr("vis b8,1");
myNex.writeStr("vis b9,1");
myNex.writeStr("vis b10,1");
myNex.writeStr("vis b11,1");
myNex.writeStr("b7.txt", "ON"); // Set button b0 text to "ON"
} else if (digitalRead(11) == HIGH) {
myNex.writeNum("b7.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b7.txt", "OFF"); // Set button b0 text to "ON"
myNex.writeStr("vis b7,1");
myNex.writeStr("vis b8,0");
myNex.writeStr("vis b9,0");
myNex.writeStr("vis b10,0");
myNex.writeStr("vis b11,0");
}
}
void trigger8() {
digitalWrite(13, !digitalRead(13));
if (digitalRead(13) == LOW) {
myNex.writeNum("b8.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("vis b7,1");
myNex.writeStr("vis b8,1");
myNex.writeStr("vis b9,1");
myNex.writeStr("vis b10,1");
myNex.writeStr("vis b11,1");
myNex.writeStr("b8.txt", "ON"); // Set button b0 text to "ON"
} else if (digitalRead(13) == HIGH) {
myNex.writeNum("b8.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b8.txt", "OFF"); // Set button b0 text to "ON"
myNex.writeStr("vis b8,1");
myNex.writeStr("vis b7,0");
myNex.writeStr("vis b9,0");
myNex.writeStr("vis b10,0");
myNex.writeStr("vis b11,0");
}
}
void trigger9() {
digitalWrite(A0, !digitalRead(A0));
if (digitalRead(A0) == LOW) {
myNex.writeNum("b9.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("vis b7,1");
myNex.writeStr("vis b8,1");
myNex.writeStr("vis b9,1");
myNex.writeStr("vis b10,1");
myNex.writeStr("vis b11,1");
myNex.writeStr("b9.txt", "ON"); // Set button b0 text to "ON"
} else if (digitalRead(A0) == HIGH) {
myNex.writeNum("b9.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b9.txt", "OFF"); // Set button b0 text to "ON"
myNex.writeStr("vis b9,1");
myNex.writeStr("vis b7,0");
myNex.writeStr("vis b8,0");
myNex.writeStr("vis b10,0");
myNex.writeStr("vis b11,0");
}
}
void trigger0A() {
digitalWrite(A1, !digitalRead(A1));
if (digitalRead(A1) == LOW) {
myNex.writeNum("b10.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("vis b7,1");
myNex.writeStr("vis b8,1");
myNex.writeStr("vis b9,1");
myNex.writeStr("vis b10,1");
myNex.writeStr("vis b11,1");
myNex.writeStr("b10.txt", "ON"); // Set button b0 text to "ON"
} else if (digitalRead(A1) == HIGH) {
myNex.writeNum("b10.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b10.txt", "OFF"); // Set button b0 text to "ON"
myNex.writeStr("vis b9,0");
myNex.writeStr("vis b7,0");
myNex.writeStr("vis b8,0");
myNex.writeStr("vis b10,1");
myNex.writeStr("vis b11,0");
}
}
void trigger0B() {
digitalWrite(A2, !digitalRead(A2));
if (digitalRead(A2) == LOW) {
myNex.writeNum("b11.bco", 2016); // Set button b0 background color to GREEN (color code: 2016)
myNex.writeStr("vis b7,1");
myNex.writeStr("vis b8,1");
myNex.writeStr("vis b9,1");
myNex.writeStr("vis b10,1");
myNex.writeStr("vis b11,1");
myNex.writeStr("b11.txt", "ON"); // Set button b0 text to "ON"
} else if (digitalRead(A2) == HIGH) {
myNex.writeNum("b11.bco", 63488); // Set button b0 background color to RED (color code: 63488)
myNex.writeStr("b11.txt", "OFF"); // Set button b0 text to "ON"
myNex.writeStr("vis b9,0");
myNex.writeStr("vis b7,0");
myNex.writeStr("vis b8,0");
myNex.writeStr("vis b10,0");
myNex.writeStr("vis b11,1");
}
}
Зачем так то? Вы документацию читали? Функция должна называться trigger10()
“Ларчик просто открывался”, я автоматически переносил номер команды в 0xXX (printh 23 02 54 0A)для nextion в номер триггера.
Спасибо за помощь ,МММ!
ага-ага
Ну так ему бы и поставили галку “Вопрос решен”. Себе-то зачем?
Так почему же себе поставил галку о решении вопроса, если тебе @MMM помог. Ему надо ставить.
ситуация комическая))
лайк себе поставить нельзя, а галку можно.
мне на эти галки палки фиолетово.
Извини не знал как это сделать, спасибо МММ.
я не писал об Ардуино “Ардуино не понимает шестнадцатиричную систему счета.”
Фраза полная"Такое впечатление, что Ардуино не понимает шестнадцатиричную систему счета."
Ну, справедливости ради, иногда (не часто, но случается) и ТС решает свой вопрос. Самостоятельно.
Галка ведь нужна не для поднятия чьей-то важности, а для ссылки на пост с решением вопроса темы ))
Ну так и поставьте галку под постом #6
ну да)
мне вот иногда, очень редко, прям нравится что я написал, а похвалить себя не могу
Я редко захожу на этот форум и вижу что легко запутаться куда и как нажимать ,на какую галку или кнопку и они все какие то стилизованные и для меня не очень понятные. Прошу
прощения если кого то ненароком обидел.
Все норм, не переживайте