Pin TOUCHX
L’ESP32-S3 ha pin capacitivi touch integrati che possono essere usati come sensori tattili senza componenti esterni.
Ecco i dettagli principali:
Pin Touch disponibili sull’ESP32-S3
L’ESP32-S3 ha 14 canali touch capacitivi:
| Touch Pad |
Pin GPIO corrispondente |
| T0 |
GPIO 4 |
| T1 |
GPIO 0 |
| T2 |
GPIO 2 |
| T3 |
GPIO 15 |
| T4 |
GPIO 13 |
| T5 |
GPIO 14 |
| T6 |
GPIO 27 |
| T7 |
GPIO 33 |
| T8 |
GPIO 32 |
| T9 |
GPIO 21 |
| T10 |
GPIO 3 |
| T11 |
GPIO 1 |
| T12 |
GPIO 5 |
| T13 |
GPIO 12 |
Nota: Alcuni pin possono avere altre funzioni (UART, SPI, ADC, ecc.) quindi se li usi come touch, fai attenzione a non creare conflitti.
Come usare i pin touch in Arduino IDE
In Arduino puoi leggere il valore del touch con:
int touchValue = touchRead(T0); // Legge il valore del pad T0 |
Puoi anche impostare soglie per rilevare tocchi:
if (touchRead(T0) < 40) { // il pad T0 è stato toccato }
|
I pin touch dell’ESP32-S3 funzionano in modo diverso dai pulsanti meccanici, quindi:
1. Nessun collegamento a GND o VCC
-
Non serve collegare resistenze pull-up/pull-down né andare a GND.
-
Basta un filo che porta al pad conduttivo (carta stagnola, rame, nastro conduttivo, ecc.) collegato al pin touch.
2. Niente debouncing
-
Essendo un sensore capacitivo, non ci sono rimbalzi meccanici come nei pulsanti.
-
Il valore letto varia in funzione della capacità (quando tocchi il pad il valore scende).
3. Come si legge
int val = touchRead(T0);
if(val < 40){ // soglia da regolare
// pad toccato
} |
4. Cose da tenere a mente
-
Interferenze: fili lunghi o pad troppo vicini possono far scattare falsi tocchi.
-
Isolamento: il pad non deve toccare altri conduttori.
-
Sensibilità: puoi regolare la soglia in base alle dimensioni del pad e allo spessore dell’isolante.
In pratica: colleghi un filo al pin touch → sopra il filo metti il pad conduttivo isolato → leggi con touchRead(). Niente GND, niente debouncing, niente pulsanti meccanici.
|