Joystick gesteuerte Tastatur am TFT-Display - AZ-Delivery

Bei manchen Projekten braucht man die Möglichkeit Konfigurations-Daten einzugeben. Wie zum Beispiel URL-Adressen, Netzwerk Namen, Passwörter u.v.a.m. Dies ist am einfachsten über den seriellen Monitor der Arduino IDE möglich, erfordert aber die Verbindung mit dem PC über USB.

Die hier beschriebene neue Funktion der HCScreen Bibliothek ermöglicht die Dateneingabe über eine am TFT Display dargestellte Tastatur, die Mittels JoyStick gesteuert wird.

Die Tastatur besitzt zwei Layouts für Kleinbuchstaben und Zahlen sowie Großbuchstaben und Sonderzeichen. Die Umschaltung erfolgt auch über die Tastatur.

Über die im Bild farbig gekennzeichneten Steuertasten können eingegebene Buchstaben links vom Kursor gelöscht werden, der Kursor nach rechts oder links bewegt werden, zwischen Klein- und Großbuchstaben um geschaltet werden sowie die Eingabe abgeschlossen werden.

Alle anderen Tasten werden direkt an der Kursorposition eingefügt. Die aktuelle Eingabe wird oberhalb der Tastatur angezeigt, der Kursor durch einen farbigen Strich gekennzeichnet. Die gerade ausgewählte Taste wird durch ein farbiges Rechteck gekennzeichnet.

Mit der Funktion setKeyboardColor(a,b,c) können die Farben eingestellt werden:

  • a = Farbe für Tastenbezeichnung und Gitterlinien
  • b = Farbe für den Hintergrund
  • c = Farbe für den Kursor und das Rechteck um die ausgewählte Taste

Mit der Funktion initKeyboard(vorgabe) wird die Tastatur am Display eingeschaltet und der übergebene String als Vorgabewert verwendet.

Damit die Tastatur funktioniert müssen die Joystick Funktionen der Bibliothek verwendet werden. Wenn die Eingabetaste geklickt wird, wird die bei initJoy() übergebene Callback Funktion aufgerufen und der eingegebene Text kann über die Funktion getKeyResult() abgerufen werden.

Zum Abfragen des Joystick Status muss in der Hauptschleife die Funktion handleJoy() aufgerufen werden.

 Die Bibliothek kann von  HCScreen Bibliothek heruntergeladen werden. In der Arduino IDE einfach im Bibliotheks-Manager das ZIP File vom Download importieren.

Das Beispielprogramm ESP32_Control_CenterKey zeigt die Funktion der Tastatur.

DisplaysProjekte für fortgeschrittene

2 comments

Andreas Wolter

Andreas Wolter

@Paolo Mattesini: Si può provare a cambiare la versione del core di Arduino ESP32. La versione in uso potrebbe non essere compatibile.

Sie könnten versuchen, die Version des ESP32 Arduino Core zu ändern. Eventuell ist die von Ihnen verwendete Version nicht kompatibel.

Paolo Mattesini

Paolo Mattesini

Salve, in fase di compilazione mi dà questo errore:
Arduino:1.8.13 (Windows 10), TD: 1.57, Scheda:“ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None”

HCScreen.cpp: In member function ‘void HCScreen::showIcon(uint8_t, uint8_t, const HCIcon*)’:
HCScreen-master\HCScreen.cpp:226:22: error: ‘class Adafruit_ST7735’ has no member named ‘Color565’

color = tft.Color565(icon→pixel_data[idx++], icon→pixel_data[idx++], icon→pixeldata[idx++]); ^

exit status 1

Errore durante la compilazione per la scheda ESP32 Dev Module.

Leave a comment

All comments are moderated before being published

Recommended blog posts

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery