Heute geht es darum wie Ihr ein Nextion Display ohne Bibliothek verwenden könnt und wie man mit dem Programm umgeht. Ich finde die Nextion Bibliothek recht kompliziert und daher arbeite ich ohne diese. Hier im ersten Teil wird ein Button und ein Textfeld erstellt und über den Arduino abgefragt und Daten ausgegeben. Im Video wird Schritt für Schritt erklärt was zu tun ist.
Die Software zum erstellen der Nextionoberfläche findet Ihr hier. https://nextion.tech/nextion-editor/#_section1
Auf der Nextion Seite findet Ihr auch nützliche Infos über das Display.
Der Aufbau
Der Aufbau ist wie immer recht einfach. Ich nutze einen Arduino Uno, es kann auch ein anderer Arduino oder Wemos genommen werden.
GND = 0 Volt
Gelb = RX Nextion -> TX Arduino
Blau = TX Nextion -> RX Arduino
Rot = 5 Volt
Der Programmcode
Mit betätigen des Button wird ein Text in das Textfeld ausgegeben. In dem Teil wo der Text ausgegeben wird kann auch eine andere Aktion stattfinden, wie zum Beispiel eine LED schalten oder ähnliches.
#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); }
Folgende Bauteile wurden verwendet:
Folgende Bauteile wurden verwendet:
1x Nextion 3.5″ Discovery Touch Display 480×320 HMI – NX4832F035 - https://ap-url.de/nextion35d1x Nextion 3.5″ Enhanced Touch Display 480×320 HMI – NX4832K035 - https://ap-url.de/nextion35e
1x FTDI Adapter FT232RL USB zu TTL - https://ap-url.de/ftdi
1x UNO R3 ATmega328P Board mit USB Kabel Arduino Uno R3 kompatibel - https://ap-url.de/arduinouno
10 Kommentare
Hallo Georg,
klar, schick mir doch die Daten per Mail dann kann ich es mir mal angucken.
Gruß
Tobias
Hallo Super Beitrag, Habe ein kleines programm über eine RC Tankstelle gefunden dann habe ich deinen Beitrag gesehen vieleicht kannst du mir weiterhelfen würde gerne den Tankwert Anzeigen lassen
mfg Georg
Mahlzeit,
ich greife die Frage, aus dem Video, nochmal auf. Warum muss bei Folgendem Quelltext 2 mal das gleiche geschrieben werden?
// 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);
vileicht hat jemand eine Lösung?
besten Dank.
lieben Gruß
Schöner Beitrag! Mein Mann ist Wirtschaftsingenieur und er findet, dass die Arduino Programmierung sehr wichtig ist und immer wichtiger wird. Daher bekommt Felix nun auch eine Arduino Programmierwerkstatt (https://kinderprogrammieren.de/spielsachen/experimentierkaesten/franzis-baubox-programmier-werkstatt-erfahrungsbericht/), mit der er kinderleicht programmieren kann. Ich bin gespannt, wie sich Felix mit der Arduino Programmierung macht. LG Sabine
Hallo,
Schöner Artikel. Ich habe eine spezielle Frage und vielleicht hab ich ja Glück und Du weißt das.
Wie ist der Print Code um einen Line Feed zum Arduino zu senden? Gruß Mark