Betrifft Nextion Sketch

Hallo gemeinde.

ich habe ein ganz dumme frage.
Ist es möglich alles was man an code für das nextion display also buttonabfrage und werte übertragen in eine seperate datei zu packen? wenn ja wie muss ich dafür vorgehen.
da ich nicht viel erfahrung im bezug auf diese art der programmierung habe und nur sps programmierung kenne ist es schwer nach zu vollziehen wie ich das machen muss.
bei der sps lege ich einfach nur ein neuen baustein an und gut ist, aber reicht das auch beim ardu?

danke schon einmal für die antworten und vieleicht ja auch ein beispiel wie ich das machen muss

Hier schon geschaut?

Von welchem Code genau schreibst du und was für eine separate Datei meinst du ?
Und was hast du dann mit dieser Datei vor ?

Ja :wink: Tabs
image
Es wird eine neue INO gemacht, und automatisch eingebunden

Ne so einfach ist es nicht.

Sofern du bereit bist konkrete Fragen zu stellen und Programmentwürfe zu schreiben wirst du hier immer neue Unterstützung bekommen.

Der erste Schritt ist zunächst einmal mit normalen Worten zu beschreiben was du insgesamt machen willst. Und dann wird das schon.

vgs

Danke für die Antworten.
@StefanL38 es handelt sich um eine .ino datei wo ich bestimmte Sachen auslagern möchte in Seperrate Dateien, da der code sonst zu unübersichtlich wird.

z.b. den Code für ein Nextion Display

// Declare your Nextion objects - Example (page id = 0, component id = 1, component name = "b0")
NexButton cal_orp = NexButton(5, 17, "b_cal_orp");         // Button form Calibrieren Nexion HMI Display
NexButton cal_ph  = NexButton(4, 18, "b_cal_ph");          // Button form Calibrieren Nexion HMI Display
NexButton cal_ppm = NexButton(6, 17, "b_cal_ppm");         // Button form Calibrieren Nexion HMI Display

char buffer[100] = {0};

// Register a button object to the touch event list.
NexTouch *nex_listen_list[] = {
  &cal_ph,       // Calibrier Button PH
  &cal_orp,      // Calibrier Button ORP
  &cal_ppm,      // Calibrier Button PPM
  NULL           // String terminate
};               // End of touch event list

void refreshHMI() {
  sendToDisplay(String("x_pH.val=") + String(Mb.MbData[0]));
  sendToDisplay(String("x_ORP.val=") + String(Mb.MbData[1]));
  sendToDisplay(String("x_ppm.val=") + String(Mb.MbData[5]));
  sendToDisplay(String("b_cal_ph.val=") + String(cal_ph));
  sendToDisplay(String("b_cal_orp.val=") + String(cal_orp));
  sendToDisplay(String("b_cal_ppm.val=") + String(cal_ppm));
  sendToDisplay(String("x_wasser.val=") + String(Mb.MbData[3]));
  sendToDisplay(String("x_druck.val=") + String(Mb.MbData[2]));
  sendToDisplay(String("j_zelle.val=") + String(Mb.MbData[4]));
  sendToDisplay(String("j_lstzelle.val=") + String(Mb.MbData[4]));
  sendToDisplay(String("x_istppm.val=") + String(Mb.MbData[5]));
  Serial.print(" button ");
  Serial.println(ph_cal);
}  // End of refreshHMI


da dort noch mehr Zeilen code hinzu kommen werden. Genauso ist es für die ganze WIFI, Modbus, RTU und andere Hardware Komponenten. Ich würde gerne für jede Sache eine Seperrate Datei anlegen die dann nur über #include eingebunden wird.

da hier geschrieben wurde es reicht eine neue .ino die dann eingebunden wird reicht das ja auch.

Danke an fony

Auch das funktioniert mit den IDE-Tabs.
Bei den "#include" musst du nur bedenken, dass diese auch vor dem setup() initialisiert werden müssen. Dazu im Tab eine xxx.h Datei einbinden und diese ebenso per #include vor dem setup() einbinden.

danke für die Antworten, ich werde es einmal testen ob es dann so geht wie ich mir das vorgestellt habe.

Ok und wenn nicht, einfach noch mal fragen.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.