Di Jeremy Cook
Semplici dispositivi di input a pulsante (tastiere) hanno fornito il metodo principale per interfacciarsi con i computer per molti decenni. Oggi, soprattutto con l'avvento degli smartphone, molti dispositivi utilizzano invece i touchscreen capacitivi come interfaccia principale.
Anche i microcontroller possono sfruttare la funzionalità touch capacitiva e il modulo ESP32 ha questa capacità integrata in dieci dei suoi pin GPIO, offrendo così un metodo di input a basso costo ed estremamente reattivo.
Configurazione dell'interfaccia touch dell'IDE Arduino

Per provare la funzionalità touch di ESP32 tramite l'ambiente di sviluppo integrato (IDE) Arduino, è necessario innanzitutto installare la definizione della scheda ESP32 tramite Arduino Boards Manager. Quindi selezionare il proprio particolare dispositivo.
Aprire l'esempio touch in File > Examples > ESP32 > TouchRead. Compilarlo* e inviarlo alla scheda ESP32 selezionata.
*Nota per MacOS: in caso di difficoltà nella compilazione dello sketch, visualizzare questo post per informazioni su un aggiornamento MacOS che potrebbe causare problemi. Io ho sostituito tutte le occorrenze di "python" con "python3" in platform.txt, e questo sembra aver risolto il problema.
Quindi collegare un cavo al pin touch 0 (T0, che è il GPIO 4) ed effettuare il collegamento di terra.

Serial Plotter funziona bene anche per il monitoraggio dell'output.
Con questo hardware in posizione, aprire un monitor seriale a 115200 baud. Quindi toccare e rilasciare entrambi i cavi con le dita. L'output risultante sarà un valore nell'ordine degli 80 quando nulla lo tocca, che diminuisce significativamente quando viene toccato. Questa diminuzione numerica è dovuta all'aggiunta della capacità del corpo umano, che può essere utilizzata come interruttore.
Sono disponibili dieci pin di interfaccia di questo tipo e la scheda ESP32 può anche essere configurata per riattivarsi dalla modalità di sospensione a basso consumo tramite tocco.
In un esempio di utilizzo, questo tipo di input viene utilizzato per controllare l'orologio televisivo retrò visto in questo articolo. Si ricordi che i pin GPIO non corrispondono in genere al numero del pin del sensore touch.

Spiegazione del rilevamento del tocco di ESP32
La scheda ESP32 utilizza una periferica dedicata per rilevare il cambiamento nella capacità di un pin. Quando la capacità aumenta a causa di un tocco umano, il tempo impiegato da un pin di rilevamento capacitivo per passare da uno stato alto a uno stato basso aumenta proporzionalmente. Pertanto, quando viene toccato l'ingresso/massa, che si aggancia alla capacità di un essere umano, il tempo di ciclo aumenta e il numero di cicli contati in un determinato periodo di tempo diminuisce.

Si ottengono valori di ciclo estremamente bassi quando i componenti effettivi del condensatore sono collegati tra T0/GPIO 4 e la massa.
Rilevamento del tocco di ESP32: una vasta gamma di utilizzi
In pratica, si consiglia di misurare il valore di output con e senza tocco umano per determinare una soglia per il processo decisionale programmatico. Grazie alla facile implementazione hardware, ai tempi di risposta rapidi e alla capacità di riattivazione, questa periferica touch può risultare utile in moltissime situazioni.
