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

  • Con touchRead(pin) ottieni un valore numerico.

  • Devi solo decidere una soglia sotto la quale consideri il pad “toccato”.

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.