nextion library problem

Hallo,

ich habe ein Problem mit der Library von ITEAD zum nextion display

Ich habe 2 bilder als LED hintereinander auf dem Display und will die einfach umschalten das man die grüne oder rote LED sieht aber es geht überhaupt nicht.

LED rot ist p1 , ID21 und auf page 1
LED grün ist p2 , ID22 und auf page 1

selbst mit dem seriellen befehl habe ich es noch nicht geschafft.

stefangem:
Hallo,

ich habe ein Problem mit der Library von ITEAD zum nextion display

Ja.....ok.
Und wie sollen wir dabei helfen ?
Wir kennen deine Frage nicht.

Zudem wird kaum einer hier helfen können, da die Library kaum genutzt wird.
Selbst wenn, benötigen wir deinen Sketch.

#include <Nextion.h>

NexPicture p1 = NexPicture(1, 21, "p1"); //red
NexPicture p2 = NexPicture(1, 22, "p2"); //green

NexTouch *nex_listen_list[] = {
&p1,
&p2,
NULL
};

p1.attachPop(p1PopCallback);
p2.attachPop(p2PopCallback);

void p1.attachPop() {
Serial.print("p1.pic=0");
Serial.write(0xff); //Send this three lines after each command sent to the nextion display.
Serial.write(0xff);
Serial.write(0xff);
}

void p2.attachPop() {
Serial.print("p1.pic=1");
Serial.write(0xff); //Send this three lines after each command sent to the nextion display.
Serial.write(0xff);
Serial.write(0xff);
}

void setup()
{
Serial.begin(9600);
nexInit();
pinMode(5, INPUT);
}

void loop()
{

nexLoop(nex_listen_list);
if (digitalRead (5) == LOW )
{
p1.attachPop();
}else{
p2.attachPop();
}
*/}

ich weiss nicht wie man da auf seite 1 umschalten muss, weil ich denke es wird von seite 0 genommen

Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
Dann ist er auch auf mobilen Geräten besser lesbar.
Das kannst Du auch noch nachträglich ändern.

Gruß Tommy

#include <Nextion.h>

NexPicture p1 = NexPicture(1, 21, "p1"); //red 
NexPicture p2 = NexPicture(1, 22, "p2"); //green

NexTouch *nex_listen_list[] = {
  &p1,
  &p2,  
  NULL
};

 p1.attachPop(p1PopCallback);
 p2.attachPop(p2PopCallback);

void p1.attachPop() {
    Serial.print("p1.pic=0");
    Serial.write(0xff);  //Send this three lines after each command sent to the nextion display.
    Serial.write(0xff);
    Serial.write(0xff);
} 
 
void p2.attachPop() {
    Serial.print("p1.pic=1");
    Serial.write(0xff);  //Send this three lines after each command sent to the nextion display.
    Serial.write(0xff);
    Serial.write(0xff);
} 


 void setup()
{ 
  Serial.begin(9600);
  nexInit();
     pinMode(5, INPUT);
}


void loop()
{

   nexLoop(nex_listen_list); 
  if (digitalRead (5) ==  LOW )
  {
   p1.attachPop();
  }else{ 
   p2.attachPop(); 
}  
 */}

ja das hatte ich gesucht aber nicht gefunden. jetzt geht es

Ich hab jetzt eben mehrere p1 oder p2 variablen auf verschiedenen Seiten und damit kommt das serial nicht klar. Es wird ja auch nur gesagt p1 schalte Bild ab mit 0 aber auf welcher Seite steht nirgends.
Aber ich finde auch kein Beispiel wie man das definieren muss.

Sorry, ich muss hier passen.
Mit der Nextion-Lib kenne ich mich nicht aus.

Mann muss es ja nicht über die lib machen, wie man das serial sendet reicht ja vollkommen. Die serial Befehle haben ja nix mit der lib zu tun. Aber wie man das zusammen setzt ist das riesen Problem.
Es wird nirgends richtig erklärt.
Es gibt viele Beispiele aber alle nur für eine Seite 0 aber nichts wenn man mehrere Seiten und gleiche Variablen hat.

Evtl. hilft Dir dieser Beitrag weiter.

Gruß Tommy

Das war glaube ein guter tip. Ich denke man muss die Bilder global machen damit es klappt. Werde ich morgen mal testen.

Danke

Das stand so aber nicht dort.

Gruß Tommy

Du meinst die vis variable?

Das wird alles hier super erklart:

Aber nicht wie man es ans Display sendet

"vis.val=0" oder 1 und 3x 0xff würde ich sagen, so wie jeder Zahlenwert.

Gruß Tommy

Ja das hatte ich getestet. Direkt im nextion Editor ging es aber man kann das nicht so mit serial senden dann geht es nicht jedenfalls nicht für ein bild

Serial.print("vis.val=0 ")

Das ist ja auch nicht das Bild, sondern die globale Variable, die die Info bekommt welches Bild angezeigt werden soll. Lies den verlinkten Beitrag noch mal in Ruhe durch.

Gruß Tommy