Por Jeremy Cook
Sencillas entradas con botones (o teclados) han sido el método principal para interactuar con las computadoras desde hace muchas décadas. Hoy en día, especialmente con el avance de los teléfonos inteligentes, muchos dispositivos usan pantallas táctiles capacitivas como su interfaz principal.
Los microcontroladores pueden aprovechar la función táctil capacitiva, y el módulo ESP32 tiene esta capacidad incorporada en diez de sus pines de puerto GPIO, lo que ofrece un método de entrada extremadamente sensible.
Configuración de interfaz táctil del IDE de Arduino

Para probar la capacidad táctil del ESP32 a través del IDE de Arduino, primero instale la definición del tablero del ESP32 a través del Administrador de tableros de Arduino. Luego seleccione su dispositivo.
Abra el ejemplo táctil haciendo clic en File > Examples > ESP32 > TouchRead (Archivo > Ejemplos > ESP32 > TouchRead). Compílelo* y envíelo a su tablero ESP32 seleccionado.
* Nota de MacOS: si tiene dificultades para compilar su boceto, vea esta publicación para obtener más información sobre una actualización de MacOS que podría estar causando problemas. Reemplacé todas las ocurrencias de “python” con “python3” en platform.txt, y eso pareció resolver el problema.
Luego, conecte un cable al pin táctil 0 (T0, que es GPIO 4), y conéctelo a tierra.

Serial Plotter también funciona bien para el monitoreo de salida.
Con este hardware colocado, abra un monitor en serie a 115 200 baudios. Luego toque y suelte ambos cables con los dedos. La salida resultante será un valor que ronde los 80 cuando no haya nada en contacto, y disminuirá significativamente cuando sí lo haya. Esta reducción en el número se debe a la adición de la capacitancia de su cuerpo, que puede utilizarse como conmutador.
Hay diez pines de interfaz disponibles, e incluso puede configurarse el ESP32 para que salga de un modo de suspensión con bajo uso de energía mediante una función táctil.
En un ejemplo de uso, este tipo de entrada se usa para controlar el reloj de televisión retro que se vio en este artículo. Tenga en cuenta que los pines de puerto GPIO generalmente no corresponden al número de pines del sensor táctil.

Explicación de la sensibilidad táctil del ESP32
El ESP32 usa una interfaz periférica dedicada para detectar el cambio en la capacitancia de un pin. A medida que la capacitancia aumenta debido al contacto humano, el tiempo que le lleva a un pin de detección capacitiva completar un ciclo entre un estado alto y uno bajo aumenta proporcionalmente. En consecuencia, cuando se toca la entrada/tierra, debido a la capacitancia humana, el tiempo del ciclo aumenta y la cantidad de ciclos contados en un determinado período de tiempo se reduce.

Se pueden ver valores de ciclo muy bajos cuando los componentes del capacitor se unen entre T0/GPIO 4 y la tierra.
Sensibilidad táctil del ESP32: una gran variedad de usos
En la práctica, le recomendamos medir el valor de salida con y sin contacto humano para determinar un umbral que sirva para la toma de decisiones programáticas. Entre su fácil implementación de hardware, su rápido tiempo de respuesta y su capacidad para activarse, este periférico táctil podría ser útil en una amplia variedad de situaciones.
