Netzteil-Display mit Nextion-HMI #4

2

14.01.2018 von plaintron

Das Netzteil-Projekt kommt zwar nicht wirklich voran, aber immerhin funktioniert das Display auf dem Nextion-HMI schon ganz gut. Um weitere Einstellungen vornehmen zu können und Netzteil-Konfigurationen zu speichern, habe ich weitere Display-Seiten erstellt. Nach einem Klick auf das Menü-Symbol in der rechten oberen Ecke der Multimeter-Anzeige erscheint eine Auswahl:

Hier befinden sich nur vier Buttons mit entsprechenden Grafiken. Beim Klick auf einen Button verändert sich die Grafik leicht, um die Aktivität anzuzeigen. Das Voltmeter-Symbol führt zurück zum Startbildschirm, das Werkzeug-Symbol zur Einstellungen-Seite und die beiden unteren Buttons dienen dazu, Setups auf SD-Karte zu speichern oder von dort zu laden.

Welche Einstellungen möglich und sinnvoll sind, wird sich erst bei der Konstruktion und Programmierung des Netzteils ergeben. Deshalb bleibt diese Ansicht vorerst leer. Lade- und Speicherfunktionen lassen sich aber schon vorbereiten.

Die Speichern-Seite sieht so aus:

Links ist die Bearbeitungs-Ansicht im Nextion-Editor, rechts das Ergebnis. Ganz oben ist ein Textfeld mit hinterlegter Grafik. Hier wird der Dateiname angezeigt. Die Tastatur funktioniert nach dem Quick-Type-Prinzip. Wird eine Taste angeklickt, erscheinen drei Zeichen zur Auswahl in den oberen Feldern. Die Tastatur lässt sich zwischen Klein- und Großbuchstaben sowie Ziffern umschalten. Mit OK werden die Einstellungen mit dem angegebenen Namen auf die Karte geschrieben (das macht natürlich der externe Controller, nicht das Nextion-Display).

Jede Zeichentaste ist mit einem Release-Event belegt. Je nach eingestellter Ansicht sollen entweder drei Zeichen auf den oberen Quicktype-Tasten angezeigt werden oder eine Ziffer an den Display-String angehängt werden. Für die Taste „abc“ sieht das beispielhaft so aus:

if(keys.val==2)
{
 bt1.txt="a"
 bt2.txt="b"
 bt3.txt="c"
}
if(keys.val==3)
{
 bt1.txt="A"
 bt2.txt="B"
 bt3.txt="C"
}
if(keys.val==1)
{
 typetext.txt+="4"
 filename.txt=typetext.txt
}

„keys.val“ enthält den jeweiligen Zustand der Tastatur, also Klein-/Großbuchstaben oder Ziffern. „typetext.txt“ ist der Wert des Displays. „filename.txt“ ist eine Variable, die den Dateinamen enthält und später an den externen Controller geschickt wird.

Ein Klick auf eine der drei Quicktype-Tasten hängt das gewählte Zeichen an den angezeigten Dateinamen an.

typetext.txt+=bt1.txt
filename.txt=typetext.txt

Die Umschalt-Tasten „A-Z“ bzw. „a-z“ und „0-9“ enthalten etwas mehr Code. Hier muss bei jedem Klick die Beschriftung aller Tasten in Abhängigkeit des gewünschten Modes neu festgelegt werden.

Für „A-Z“, also die Umschaltung auf Großbuchstaben, lautet der Code:

if(keys.val<3)
{
 keys.val=3
 bt1.pic=12
 bt1.pic2=13
 bt2.pic=12
 bt2.pic2=13
 bt3.pic=12
 bt3.pic2=13
 bt4.txt="ABC"
 bt5.txt="DEF"
 bt6.txt="GHI"
 bt7.txt="JKL"
 bt8.txt="MNO"
 bt9.txt="PQR"
 bt0.txt="STU"
 btpunkt.txt="VWX"
 btkomma.txt="YZ_"
 btcaps.txt="a-z"
 btnum.txt="0-9"
 if(bt1.txt=="a")
 {
 bt1.txt="A"
 bt2.txt="B"
 bt3.txt="C"
 }
 if(bt1.txt=="d")
 {
 bt1.txt="D"
 bt2.txt="E"
 bt3.txt="F"
 }
 if(bt1.txt=="g")
 {
 bt1.txt="G"
 bt2.txt="H"
 bt3.txt="I"
 }
 if(bt1.txt=="j")
 {
 bt1.txt="J"
 bt2.txt="K"
 bt3.txt="L"
 }
 if(bt1.txt=="m")
 {
 bt1.txt="M"
 bt2.txt="N"
 bt3.txt="O"
 }
 if(bt1.txt=="p")
 {
 bt1.txt="P"
 bt2.txt="Q"
 bt3.txt="R"
 }
 if(bt1.txt=="s")
 {
 bt1.txt="S"
 bt2.txt="T"
 bt3.txt="U"
 }
 if(bt1.txt=="v")
 {
 bt1.txt="V"
 bt2.txt="W"
 bt3.txt="X"
 }
 if(bt1.txt=="y")
 {
 bt1.txt="Y"
 bt2.txt="Z"
 bt3.txt="_"
 }
}else
{
 keys.val=2
 bt1.pic=12
 bt1.pic2=13
 bt2.pic=12
 bt2.pic2=13
 bt3.pic=12
 bt3.pic2=13
 bt4.txt="abc"
 bt5.txt="def"
 bt6.txt="ghi"
 bt7.txt="jkl"
 bt8.txt="mno"
 bt9.txt="pqr"
 bt0.txt="stu"
 btpunkt.txt="vwx"
 btkomma.txt="yz-"
 btcaps.txt="A-Z"
 btnum.txt="0-9"
 if(bt1.txt=="A")
 {
 bt1.txt="a"
 bt2.txt="b"
 bt3.txt="c"
 }
 if(bt1.txt=="D")
 {
 bt1.txt="d"
 bt2.txt="e"
 bt3.txt="f"
 }
 if(bt1.txt=="G")
 {
 bt1.txt="g"
 bt2.txt="h"
 bt3.txt="i"
 }
 if(bt1.txt=="J")
 {
 bt1.txt="j"
 bt2.txt="k"
 bt3.txt="l"
 }
 if(bt1.txt=="M")
 {
 bt1.txt="m"
 bt2.txt="n"
 bt3.txt="o"
 }
 if(bt1.txt=="P")
 {
 bt1.txt="p"
 bt2.txt="q"
 bt3.txt="r"
 }
 if(bt1.txt=="S")
 {
 bt1.txt="s"
 bt2.txt="t"
 bt3.txt="u"
 }
 if(bt1.txt=="V")
 {
 bt1.txt="v"
 bt2.txt="w"
 bt3.txt="x"
 }
 if(bt1.txt=="Y")
 {
 bt1.txt="y"
 bt2.txt="z"
 bt3.txt="-"
 }
}
bt1.pco=YELLOW
bt2.pco=YELLOW
bt3.pco=YELLOW

Die restlichen Tasten sind dagegen mit einfacheren Befehlen belegt. „Esc“ geht zurück zum Menü-Bildschirm, Backspace löscht das letzte Zeichen im Display und „OK“ sendet die Daten an den externen Controller und führt zum Hauptfenster zurück.

Im nächsten Beitrag geht es um die Lade-Funktion. Dort habe ich eine scrollbare Liste gebaut, die nicht als Standard-Element im Nextion-System verfügbar ist.

 

Advertisements

2 Kommentare zu “Netzteil-Display mit Nextion-HMI #4

  1. […] Netzteil-Display mit Nextion-HMI #4 […]

    Gefällt mir

  2. […] Netzteil-Display mit Nextion-HMI #4 […]

    Gefällt mir

Kommentieren

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blogverzeichnis - Bloggerei.de

RSS Make:

  • Modell-Raketen bauen und starten
  • Aufgerüstet: MP3-Modul für die Weihnachtslaterne
%d Bloggern gefällt das: