Author: Waldemar Breiling

Nextion-Display
Progammierung und
Anwendung

Waldemar Breiling DJ1DZ

Die Rückseite der Basisversion mit Displaygröße 3,5“
NX4832T035_11

Ein Beispiel zur Maskengestaltung

Der Nextion-Editor
https://nextion.tech/nextion-editor/#_section1

Benötigte Schritte zur Maskenerstellung:
Nextion Editor starten.
Displaytype und Größe auswählen.
Page0 mit Hintergrund (Farbe oder Bild) versorgen. Wenn Bild dann Bild extern auf Größe ändern und importieren
Botten erstellen und Farbe eistellen, Text einschreiben
Touch Press Event (Bottom 1) „Send Component ID“ einschalten.
65 00 01 01 FF FF FF 65= constant, 00=Seiten ID, 01= Toolbox ID, 01= Press Event, FF FF FF = Befehl für Satzende.
Textbox erstellen, Name „tStatus“ vergeben.
Nextion Programm mit File TFT file output auf SD_Karte schreiben.
SD-Karte in den Karteneinschub vom Nextion stecken und nur Stromversorgung anschließen. Nach einlesen der SD.Karte Strom trennen, Karte entnehmen, Stromleitungen wieder einstecken. Maske erscheint.
Weiter geht es mit „Arduino IDE“

Um das , mit dem Nextion-Editor erstellte Programm in das Nextion –Didplay zu Übertrage, gibt es 2 Möglichkeiten.

Wie oben beschrieben, wird das entstandene .tft Programm auf eine SD-Karte kopiert und anschließend in das Nextion-Display gesteckt. Sobald die Stromversorgung angeklemmt ist startet der Ladevorgang. Anschließend Karte entnehmen.
Ist das Nextion-Display über ein FT232-AZ (TTL Serial Adapter) verbunden, so kann das Programm direkt mit upload übertragen werden.

FT232-AZ USB zu TTL Serial Adapter für 3,3V und 5

Wir haben unsere Maske erstellt und wollen nun das passende Programm dazu schreiben.
Programmfunktionen:
Der Botten „b0“ wird gedrückt.
Eine LED leuchtet auf.
Der Status der LED wird in das Textfeld „tStatus“ übergeben

Arduino IDE ist ein Programmiereditor für (C++) Microcontroller insbesondere Arduino.
Wir benutzen den Arduino Mega 2560 weil er die passenden Stiftleisten zum Stecken unserer Anschlußkabel zur Verfügung stellt. Wir stecken das RX-Kabel vom Nextion (gelb) in TX0 des Arduinos und TX (blau) in RX0. Die Stromversorgung übernimmt der Arduino mit schwarz GND und rot 5V.

#include <Wire.h>
char button [7] = {};
void setup() {
Serial.begin(9600);
String cmd;
cmd += "\"";
// Textfeld beim Start leeren
Serial.print("tStatus.txt=" + cmd + " " + cmd);
Serial.write(0xFF);
Serial.write(0xFF);
Serial.write(0xFF);
Serial.print("tStatus.txt=" + cmd + " " + cmd);
Serial.write(0xFF);
Serial.write(0xFF);
Serial.write(0xFF);
}
void loop() {
// Serielle Schnittstelle auslesen
if (Serial.available() > 0)
{
for (int i = 0; i < 6; i++) { button[i] = button[i + 1]; }

button[6] = Serial.read();
}
// Button Abfrage + Aktion
if (button[2] == 1)
{
String cmd;
cmd += "\"";
Serial.print("tStatus.txt=" + cmd + "LED EIN" + cmd);
Serial.write(0xFF);
Serial.write(0xFF);
Serial.write(0xFF);
Serial.print("tStatus.txt=" + cmd + "LED EIN" + cmd);
Serial.write(0xFF);
Serial.write(0xFF);
Serial.write(0xFF);
for (int i = 0; i < 7; i++) {
button[i] = 0;
}
}
delay(50);
}