Arduino-Nextion 5“

Hallo zusammen,
Vor ab erst mal mein Name ist Patrick und ich bin neu in der Welt des Arduino.

Zur Verfügung stehen:
Arduino Mega
Nextion Touch 5“
Relais

Nun zu meiner Frage,
Ich habe es soweit geschafft mithilfe der software das Nextion Display Zu konfigurieren, mit unzähligen tutorials.
Nun geht es aber um die Anbindung zum Arduino!
Wieder habe ich mir 1000 Tutorials angeschaut und aber keine nützlichen Code für mich entnehmen können! Ich will das Nextion auf Pin 0 und 1 abklemmen ( RX, TX ) nun habe ich auf dem Display Buttons erzeigt, die wiederum eine ganz einfache Push Funktion haben sollen und dabei ein Relais schalten!
Kann mir hierfür jemand einen Grundaufbau Code mal zur Verfügung stellen bevor ich mich ganz aufgebe.
Vielen Dank schon mal im Voraus

PatrickSucko:
Wieder habe ich mir 1000 Tutorials angeschaut.....

Hast du die denn auch gelesen ?
Bei 1000 sind ganz sicher einige dabei, die genau das zeigen, was du brauchst.

Also lesen, schreiben oder kopieren und dann sollte es gehen.
Zumindest soweit, dass du hier was zeigen kannst.
Wir sehen dann, wo du nicht weiter kommst.

Hallo,
Ich könnte mir vorstellen das in der Bibliothek von diesem Nextion Beispiele hinterlegt sind.
Ich habe mir gerade die NeoNextion Bibliothek heruntergeladen. In dieser Bibliothek sind mehrere Beispiele für Push oder Button Funktionen.

Schau dir doch mal diese an. Diese sind relativ einfach nachzuvollziehen.

Ich habe auch so herrausgefunden wie ich meinen Touchscreen programmieren kann.

MfG bdorer

PatrickSucko:
Ich will das Nextion auf Pin 0 und 1 abklemmen ( RX, TX )

Wenn Du das Nextion abklemmst, wirst Du sehr wenig Erfolg haben.
Falls Du anklemmen meinst, dann sind die Pins 0 und 1 ungeeignet. An diesen liegt die Verbindung zum USB. Da solltest Du nichts anschließen.

Gruß Tommy

Hallo zusammen,
danke für die schnellen Antworten. Habe aber trotzdem keinen Erfolg. Wenn ich die Beispiele die in der Nextion libary enthalten sind "Überprüfe" führt dies immer zu Fehlern.
Ich stelle euch mal den Code bei, den ich bei einem fish tank gefunden habe und für mich etwas abgeändert habe. Dieser Code lässt sich prüfen, führt dann aber im Zusammenspiel mit dem Display trotzdem keine Funktion aus.

Für mich als Anfänger wäre es nett einen Code + Pin Belegung für das Display zu bekommen.

#include "NexButton.h"
#include "NexText.h"

NexButton b22 = NexButton(2, 4, "b22");
NexButton b3 = NexButton(0, 4, "b3");
NexButton b2 = NexButton(0, 4, "b2");
NexButton b16 = NexButton(1, 12, "b16");

char buffer[10] = {0};

NexTouch *nex_Listen_List[] =
{
&b22,
&b3,
&b2,
&b16,
NULL
};

/**

  • Button to return the response.
  • @param ptr - the parameter was transmitted to pop event function pointer.

*/
void b22PushCallback(void *ptr)
{
NexButton *btn = (NexButton *)ptr;
memset(buffer, 0, sizeof(buffer));
btn->getText(buffer, sizeof(buffer));
if (strcmp(buffer,"ON"))
{
digitalWrite(9, HIGH);
strcpy(buffer, "ON");

}
btn->setText(buffer);

}

/**

  • Button to return the response.
  • @param ptr - the parameter was transmitted to pop event function pointer.

*/
void b3PopCallback(void *ptr)
{
NexButton *btn = (NexButton *)ptr;
memset(buffer, 0, sizeof(buffer));
btn->getText(buffer, sizeof(buffer));
if (strcmp(buffer,"ON"))
{
digitalWrite(10, HIGH);
strcpy(buffer, "ON");
}
else
{
digitalWrite(10, LOW);
strcpy(buffer, "OFF");
}
btn->setText(buffer);

}
/**

  • Button to return the response.
  • @param ptr - the parameter was transmitted to pop event function pointer.

*/
void b2PopCallback(void *ptr)
{
NexButton *btn = (NexButton *)ptr;
memset(buffer, 0, sizeof(buffer));
btn->getText(buffer, sizeof(buffer));
if (strcmp(buffer,"ON"))
{
digitalWrite(11, HIGH);
strcpy(buffer, "ON");

}
else
{
digitalWrite(11, LOW);
strcpy(buffer, "OFF");
}
btn->setText(buffer);

}
/**

  • Button to return the response.
  • @param ptr - the parameter was transmitted to pop event function pointer.

*/
void b16PopCallback(void *ptr)
{
NexButton *btn = (NexButton *)ptr;
memset(buffer, 0, sizeof(buffer));
btn->getText(buffer, sizeof(buffer));
if (strcmp(buffer,"ON"))
{
digitalWrite(12, HIGH);
strcpy(buffer, "ON");
}
else
{
digitalWrite(12, LOW);
strcpy(buffer, "OFF");
}
btn->setText(buffer);

}

void setup(void)
{
nexInit();
b22.attachPush(b22PushCallback, &b22);
b3.attachPop(b3PopCallback, &b3);
b2.attachPop(b2PopCallback, &b2);
b16.attachPop(b16PopCallback, &b3);
//setting port OUTPUT
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
//initializing port
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
}

void loop(void)
{
nexLoop(nex_Listen_List);
}

PatrickSucko:
Für mich als Anfänger wäre es nett einen Code + Pin Belegung für das Display zu bekommen. ...

Und für uns als Nullchecker (hinsichtlich Deines Codes) fänden es toll, wenn Du den Sketch in „Code-Tags“ fassen würdest. Wenn Dir langweilig ist, frisierst Du den Code, indem Du passend gliederst und einheitlich klammerst.

Dann gucke ich mir den Code auch mal an, anstatt ihn nur zu „überscrollen“.

Gruß

Gregor

PatrickSucko:
Für mich als Anfänger wäre es nett einen Code + Pin Belegung für das Display zu bekommen.

Na klar ist das toll, wenn schon alles fertig wäre.

Aber würdest du dann noch etwas lernen ?
Ich bin mir sicher. NEIN.

Also gibt es hier nichts fertiges, sorry.

Und ein weiterer Tipp, fange klein an, also sende doch an dein Display erst mal Informationen bzw. Text, den du darauf anzeigen möchtest.
Und wenn du Beispiele testest und die machen Fehler, dann hast du etwas falsch gemacht, nicht das Display.
Also zeige den Sketch den du testest und poste den in Code-Tags. Dazu natürlich auch die Fehlermeldung, wie sollen wir die sonst kennen.

Ich habe auch vor kurzem mit dem Nextion angefangen. Wenn du einen MEGA verwendest und die Nextion Lib, so wie es in deinem Code steht, musst du entweder RX/TX Nummer 2 am Mega nehmen, oder du änderst die Lib ab (Was du hierzu genau machen musst, siehst du in unzähligen Tutorials)
Ansonsten schau dir mal diese Posts an

Nextion --> Arduino Text senden, Funktion aufrufen

Und was auch sehr wichtig ist:

Wenn wir dir helfen sollen, solltest du unbedingt auf unsere Fragen und Vorschläge eingehen und die nicht einfach nur ignorieren.

Dann wird das nichts mit deinem Projekt und unserer Hilfe dabei.

Also bitte nicht einfach nur hier einen kopierten Sketch posten, sondern auch aktiv mitarbeiten.

Kurzes Update
Die Verbindung mit dem Display steht nun!
Hilfreich war auf alle Fälle rx tx 2. Die Library von Nextion musste ich auch nicht umschreiben! Das Problem bestand in dem Programm von Nextion wo man das Display mit Buttons usw konfiguriert. Hier muss man das Touch event anklicken, ein kleiner simpler hacken und alles funktioniert!
Trotzdem danke für eure Bemühungen!!!!!
Mit freundlichen Grüßen
Patrick Sucko

Schön dass es jetzt funktioniert.

Nicht so schön, dass du keine Fragen der Helfenden beantwortest.