Arrow Electronic Components Online

Cómo utilizar las entradas táctiles en el ESP32

Robótica06 jul 2022
Primer plano de una placa de desarrollo ESP32 con conector USB, componentes integrados y encabezados de pines etiquetados.
Ver todos los artículos

Durante muchas décadas, los botones simples (por ejemplo, teclados) han sido el método principal para interactuar con las computadoras. Hoy en día, especialmente con la llegada de los teléfonos inteligentes, muchos dispositivos utilizan pantallas táctiles capacitivas como su interfaz principal.   Los microcontroladores también pueden aprovechar la funcionalidad táctil capacitiva, y el módulo ESP32 tiene esta capacidad integrada en diez de sus pines GPIO, proporcionando un método de entrada de bajo costo y extremadamente sensible.

Configuración de la interfaz táctil en Arduino IDE

Arduino IDE Boards Manager window displaying available ESP32 board packages with install options.

Para probar la capacidad táctil del ESP32 a través del Arduino IDE, primero instala la definición de la placa ESP32 mediante el Administrador de Placas de Arduino. Luego selecciona tu dispositivo en particular.   Abre el ejemplo táctil en Archivo > Ejemplos > ESP32 > TouchRead. Compila* y envíalo a la placa ESP32 seleccionada.   *Nota para MacOS: Si tienes dificultades para compilar tu proyecto, consulta esta publicación para obtener información sobre una actualización de MacOS que puede causar problemas. Reemplacé todas las ocurrencias de “python” con “python3” en platform.txt, lo que parece solucionar el problema.   Luego, conecta un cable al pin táctil 0 (T0, que es GPIO 4) y tierra.

Serial plot showing fluctuating touch sensor readings over time, with a sharp drop and rise indicating touch detection.

Serial Plotter también funciona bien para el monitoreo de salida.

Con este hardware instalado, abre un monitor serial a 115200 baudios. Luego, toca y suelta ambos cables con los dedos. La salida resultante será un valor en los 80 cuando no haya contacto, que disminuye significativamente al tocarlo. Esta disminución numérica se debe a la adición de la capacitancia de tu cuerpo, que puede usarse como un interruptor.   Hay disponibles diez pines de interfaz de este tipo, y el ESP32 incluso puede configurarse para despertarse de un modo de suspensión de bajo consumo mediante el tacto.   En un ejemplo de uso, este tipo de entrada se utiliza para controlar el reloj retro de televisión mencionado en este artículo. Ten en cuenta que los pines GPIO generalmente no corresponden al número de pin del sensor táctil.

Table listing ESP32 capacitive-touch GPIOs, showing touch signal names T0 through T9 mapped to their corresponding pin names.

Explicación del sensor táctil ESP32

El ESP32 utiliza un periférico dedicado para detectar el cambio en la capacitancia de un pin. A medida que la capacitancia aumenta debido al contacto humano, el tiempo que tarda un pin de detección capacitiva en alternar entre un estado alto y bajo aumenta proporcionalmente. Por lo tanto, cuando se toca la entrada/tierra, añadiendo la capacitancia de un humano, el tiempo de ciclo aumenta y el número de ciclos contados en un período de tiempo determinado disminuye.

ESP32 development board wired on a breadboard with jumper wires and a capacitive touch sensor component connected.

Se observan valores de ciclo muy bajos cuando se conectan componentes capacitivos reales entre T0/GPIO 4 y tierra.

Detección táctil del ESP32: Una amplia gama de usos

En la práctica, querrás medir el valor de salida con y sin contacto humano para determinar un umbral para la toma de decisiones programáticas. Entre su fácil implementación de hardware, tiempo de respuesta rápido y capacidad de activación, este periférico táctil podría ser útil en una amplia variedad de situaciones.

Etiquetas de artículo

Robótica
Máquinas autónomas

Contenido relacionado