Per alcuni progetti è necessaria la possibilità di immettere i dati di configurazione. Quali indirizzi URL, nomi di rete, password, ecc. Questa operazione è più semplice tramite il monitor seriale dell'IDE Arduino, ma richiede la connessione al PC tramite USB.
La nuova funzione della libreria HCScreen descritta qui consente l'immissione dei dati tramite una tastiera visualizzata sul display TFT, che è controllata da JoyStick.
La tastiera ha due layout per lettere minuscole e numeri, così come lettere maiuscole e caratteri speciali. La commutazione avviene anche tramite tastiera.
I tasti di controllo contrassegnati nell'immagine possono essere utilizzati per eliminare le lettere inserite a sinistra del cursore, spostare il cursore a destra o a sinistra, passare tra lettere minuscole e maiuscole e completare l'input.
Tutti gli altri tasti vengono inseriti direttamente nella posizione del cursore. L'input corrente viene visualizzato sopra la tastiera, il cursore è indicato da un tratto colorato. La chiave attualmente selezionata è indicata da un rettangolo colorato.
La funzione setKeyboardColor(a,b,c) consente di impostare i colori:
- a : colore per la descrizione dei tasti e le linee della griglia
- b - colore per lo sfondo
- c : colore per il cursore e il rettangolo intorno al tasto selezionato
Con la funzione initKeyboard (impostazione predefinita), la tastiera viene attivata sul display e la stringa passata viene utilizzata come valore predefinito.
Affinché la tastiera funzioni, è necessario utilizzare le funzioni joystick della libreria. Quando si fa clic sul tasto Invio, viene chiamata la funzione di callback passata in initJoy() e il testo immesso può essere recuperato tramite la funzione getKeyResult().
Per eseguire una query sullo stato del joystick, è necessario chiamare la funzione handleJoy() nel ciclo principale.
La biblioteca può essere Libreria HCScreenScaricato. Nell'IDE di Arduino, è sufficiente importare il file zip dal download in Gestione librerie.
Il programma di esempio ESP32_Control_CenterKey mostra la funzione della tastiera.
2 commenti
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.