Die Benutzermaske, das User Interface, dat GUI – Graphical User Interface. Irgendwie muss es aussehen und irgendwie wuchs sie mit der Produktentwicklung ;-)
Am Anfang dachte ich über eine Darstellung der Tide mit LEDs nach, wer schon mal in Leherheide in Bremerhaven weiss, was ich meine: Eina Anzeige bei der mehr LEDs leuchten, wenn mehr Wasser da ist ;-). Zwischenzeitlich (und ür die Zukunft noch nicht ganz vergessen) war ich auch bei Anzeige mit tatsächlichem Wasser, dies birgt aber noch ganz andere Herausforderungen und passt auch nicht ganz zu einem Lautsprecher. Schnell landete ich bei einem Display und einem Joystick als Eingabemedium. Die Kauflust neuer Komponenten brachte mich dann zu einem etwas größerem Touchdisplay und so wurde alles entsprechend migriert, alles GUI gebastelte weggeschmissen und eine Oberfläche für das Touchdisplay entwickelt.
Zwischenzeitlich war ich versucht vorgefertigte Libraries einzusetzen, verwarf das Ganze aber schnell wieder, da das Einlesen in die komplexen – für alle Zwecke vorgesehenen – Libraries viel länger dauerte als ein kleines Menü und Eingabemasken selber zu programmieren. Außerem wollte ich ja spielen und frickeln, also ran und Uhrzeiteinstellungsmenü & Hochwasseralarm Einstellung inklusive Menü selbst entwickelt.
Dazu entstanden Textmasken für Fehelermeldungen und ganz besonders die Bildschirme die einfach nur beim ersten Mal einschalten angezeigt werden. Manchmal viel Aufwand die Elemente auf dem Display richtig zu positionieren (denn dazu muss immer wieder die Software kompiliert & auf die Hardware geladen werden) und das für wenige Sekunden Lebenszeit ;-)
Und man bedenke: Es ist nicht so, wie die Meissten vom PC kennen – ich drücke die Backspace Taste und der alte Text verschwindet einfach und ich kann meinen neuen text tippern. Alles muss manuell programmiert werden, von Bildschirmleeeren hin zu jedem Pixel und den Schriftarten. Um das Seemannsbrautlogo anzuzeigen muss man sich mit dem BMP Format beschäftigen und auch wenn man vieles zusammensuchen kann – um Beschäftigung mit dem Thema kommt man nicht rum. Zwischendurch grafische Anpassungen der Logos und was sonst alles so anfällt.
Am Ende hab ich eine GUI die mir bis auf das „Einstigsmenü“ sehr gefällt. Der Hochwasseralarm ist mein „Stolz“, der ist echt fein und funktioniert ganz passabel und ist schon durch die ersten Dauertests durch. man mag gar nicht glauben, was beim bedienen für grafische Sinderfälle auftreten können, die bei einem konzentrierten Einzeltest gar nicht zum Vorschein kommen. Hier noch ein stehenbleibendes Pixel und da noch ein Problem mit der Tastenreaktion.
Viel Aufwand und viel Spass! Für Zukunftsexperimente fühlte ich mich dennoch genötigt mal neue Hardware zu bestellen: Ein Display mit eingebauter GUI, die man über eine Software layouten kann – diese wird dann vom Arduino einfach nur noch aufgerufen und man muss für die GUI nix programmieren. Bestimmt gefällt mir die GUI dann nicht und ich bastel doch wieder selber rum … ;-)