bclose

Despertar mediante pin táctil

Material requerido

vista lateral del esp32 Un módulo ESP32

Pines táctiles capacitivos

 

Esta vez vamos a aprender a salir del modo deep sleep usando los pines táctiles capacitivos del ESP32. Estos pines detectan si los hemos tocado con nuestra propia piel, por ejemplo con un dedo.

No todos los pines tienen esa capacidad, es más, no todos los pines pueden ser usados cuando estamos en el modo deep sleep. Aquí podéis ver qué pines son los que están activos en el modo deep sleep, y de ellos, cuáles podemos usar como pines táctiles, que son los marcados en lila con la leyenda TOUCH.

pines capacitivos

Programación

Contenido solo disponible para suscriptores. ¡Accede al contenido!

     

El programa es muy parecido al que hemos visto en la sesión anterior, pero para activar el despertar por pin táctil usaremos la siguiente instrucción:

esp_sleep_enable_touchpad_wakeup()

Para poder usarlo correctamente tenemos que definir también que pin táctil vamos a utilizar y qué sensibilidad queremos que tenga, estableciendo el límite para el disparo (treshold). En el caso del ejemplo se utiliza el pin Touch 3, que corresponde al GPIO 15.

  • Cuando tocamos un pin táctil, el valor que lee desciende.
  • Por eso, cuanto mayor sea el límite o treshold, más sensible será.
#define Threshold 40 /* Greater the value, more the sensitivity */
//Setup interrupt on Touch Pad 3 (GPIO15)
touchAttachInterrupt(T3, callback, Threshold);

En la interrupción vemos que está incluida la función callback(). Esta función sólo se ejecuta si tocamos el pin táctil durante un poco más de tiempo. En este caso está vacía, pero podéis probar a ponerle algo.

void callback(){
  //placeholder callback function
}

Después, además de la misma función que teníamos en el caso del Timer para mostrar en pantalla la que tipo de interrupción ha despertado al ESP32, tenemos una función para poder ver qué pin ha sido el que ha disparado.

Contenido solo disponible para suscriptores. ¡Accede al contenido!

     

El setup tiene básicamente la misma estructura que el del ejemplo del Timer, cuenta las veces que se ha despertado y nos muestra en el monitor serie el número de veces que lleva y la razón por la que lo ha hecho.

serial pin touch

LikeUsOnFacebook_Icon

No Comments

Para porder realizar consultas a nuestros expertos, tienes que ser suscriptor. Suscribiendote nos ayudas a mantener este proyecto en marcha.

¡ Quiero Suscribirme !

Si ya eres premium y no puedes comentar haz login. Hacer login