Tutorial Nextion #5 – Dual State Button
In dem Beitrag will ich kurz auf den Dual State Button und den normalen Button eingehen. Programmbeispiel für den Arduino und Funktionsweise.
Was ist ein Dual State Button?
Ein Dual State Button ins so zu sagen ein Taster mit Rastfunktion oder auch Schalter genannt. Sprich beim betätigen des Button bleibt er gedrückt bis man Ihn noch einmal drückt. Dann geht er wieder in seine Ausgangsstellung zurück.
Einstellungen in der Nextion Software:
Als erstes erstellen wir uns eine Normalen Button und einen Dual State Button.

Im letzten Schritt geben wir den beiden Buttons noch den print befehl in das jeweilige Touch Press Event. Das ist dafür da um den Button über den Arduino abfragen zu kommen. Das habe ich im Tutorial 3 schon einmal erklärt.
Der Programmcode
#include
SoftwareSerial nextion(6, 5); // RX, TX
String daten_display = "";
int btn_state = 0;
int valdsb = 0;
unsigned int led1=9;
unsigned int led2=12;
void setup() {
nextion.begin(9600);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
}
void loop() {
if (nextion.available() > 0)
{
daten_display += char (nextion.read());
}
if (daten_display == "Button" && (!btn_state))
{
btn_state = 1;
digitalWrite(led1, HIGH);
nextion.print("b1.bco=1024");
nextion.write(0xFF);
nextion.write(0xFF);
nextion.write(0xFF);
daten_display="";
}
else if (daten_display == "Button" && (btn_state))
{
btn_state = 0;
digitalWrite(led1, LOW);
nextion.print("b1.bco=50712");
nextion.write(0xFF);
nextion.write(0xFF);
nextion.write(0xFF);
daten_display="";
}
if (daten_display == "DSButton" && (!valdsb))
{
valdsb = 1;
digitalWrite(led2, HIGH);
nextion.write(0xFF);
nextion.write(0xFF);
nextion.write(0xFF);
daten_display="";
}
else if (daten_display == "DSButton" && (valdsb))
{
valdsb = 0;
digitalWrite(led2, LOW);
nextion.write(0xFF);
nextion.write(0xFF);
nextion.write(0xFF);
daten_display="";
}
}
Folgende Bauteile wurde verwendet:
Jetzt im Onlineshop
- Display
Nextion 3.5″ Enhanced Touch Display 480×320 HMI
40,99 €Umsatzsteuerbefreit gemäß UStG §19zzgl. VersandLieferzeit: ca. 1-3 WerktageIn den Warenkorb - Display
Nextion 3.5″ Touch Display 480×320 HMI
31,99 €Umsatzsteuerbefreit gemäß UStG §19zzgl. VersandLieferzeit: ca. 1-3 WerktageIn den Warenkorb - Arduino
Arduino Uno R3 (Clone)
7,49 €Umsatzsteuerbefreit gemäß UStG §19zzgl. VersandLieferzeit: ca. 1-3 WerktageIn den Warenkorb
Affiliate Link
Letzte Aktualisierung am 18.04.2021 / Affiliate Links / Bilder von der Amazon Product Advertising API