Voor sommige projecten hebt u de mogelijkheid nodig om configuratiegegevens in te voeren. Zoals URL-adressen, netwerknamen, wachtwoorden, enz. Dit is het gemakkelijkst te doen via de seriële monitor van de Arduino IDE, maar vereist verbinding met de PC via USB.
De nieuwe functie van de HCScreen-bibliotheek die hier wordt beschreven, maakt het mogelijk om gegevens in te brengen via een toetsenbord dat wordt weergegeven op het TFT-display, dat wordt aangestuurd door JoyStick.
Het toetsenbord heeft twee lay-outs voor kleine letters en cijfers, evenals hoofdletters en speciale tekens. Schakelen gaat ook via het toetsenbord.
De besturingselementtoetsen die in de afbeelding zijn gemarkeerd, kunnen worden gebruikt om ingevoerde letters links van de cursor te verwijderen, de cursor naar rechts of links te verplaatsen, tussen kleine letters en hoofdletters te schakelen en de invoer te voltooien.
Alle andere toetsen worden direct op de cursorpositie geplaatst. De huidige invoer wordt boven het toetsenbord weergegeven, de cursor wordt aangegeven door een gekleurde lijn. De momenteel geselecteerde sleutel wordt aangegeven door een gekleurde rechthoek.
Met de functie setKeyboardColor(a,b,c) u de kleuren instellen:
- a = kleur voor hoofdbeschrijving en rasterlijnen
- b = kleur voor de achtergrond
- c = kleur voor de cursor en de rechthoek rond de geselecteerde toets
Met de functie initKeyboard (standaard) wordt het toetsenbord ingeschakeld op het scherm en wordt de doorgegeven tekenreeks gebruikt als de standaardwaarde.
Om het toetsenbord te laten werken, moeten de joystickfuncties van de bibliotheek worden gebruikt. Wanneer op de enter-toets wordt geklikt, wordt de terugbelfunctie in initJoy() aangeroepen en kan de ingevoerde tekst worden opgehaald via de functie getKeyResult().
Om de joystickstatus op te vragen, moet de functie handleJoy() in de hoofdlus worden aangeroepen.
De bibliotheek kan HCScreen-bibliotheekGedownload. Importeer het ZIP-bestand in de Arduino IDE in de bibliotheekbeheerder.
Het voorbeeldprogramma ESP32_Control_CenterKey toont de functie van het toetsenbord.
2 Reacties
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
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*)’:
color = tft.Color565(icon→pixel_data[idx++], icon→pixel_data[idx++], icon→pixeldata[idx++]); ^HCScreen-master\HCScreen.cpp:226:22: error: ‘class Adafruit_ST7735’ has no member named ‘Color565’
exit status 1
Errore durante la compilazione per la scheda ESP32 Dev Module.