Skip to Content

Conexión de Arduino a un sensor táctil

Conexión de Arduino a un sensor táctil

Este tutorial le enseñará cómo conectar un botón táctil al Arduino. Obtendrás la guía de conexión paso a paso, el código de Arduino y el principio de funcionamiento básico del sensor táctil.

Los sensores táctiles ayudan a mejorar la experiencia del usuario de los productos. Puede hacer que los productos sean 100% resistentes al agua, sustituir los interruptores mecánicos existentes y proporcionar una mayor duración de los botones. 

Dado que no hay partes móviles en un botón táctil, no hay problemas de desbordamiento y envejecimiento.

La opción táctil también permite superponer fácilmente la luz de fondo a los botones. 

Empezaremos con los fundamentos de una función táctil.

Veremos algunos ejemplos de los CIs de controladores táctiles más utilizados. En las siguientes secciones, te presentaré una guía de conexión paso a paso y proyectos de ejemplo con código, y también responderé a algunas preguntas frecuentes.

Comencemos.

Componentes necesarios para construir Arduino y un botón táctil

Componentes de hardware 

Software

Makerguides.com participa en el Programa de Asociados de Amazon Services LLC, un programa de publicidad de afiliados diseñado para proporcionar un medio para que los sitios ganen honorarios de publicidad mediante la publicidad y los enlaces a productos en Amazon.com.

Conceptos básicos de un sensor táctil de un solo botón

Existen varios tipos de sensores táctiles en el mercado, como se muestra en la siguiente imagen.

Conceptos básicos de un sensor táctil de un solo botón

El controlador táctil más utilizado en estos sensores táctiles es el TTP223. El chip TTP223 tiene las siguientes características:

  • Amplia tensión de funcionamiento de 2 V a 5,5 V
  • Corriente en modo de baja potencia → 1,5 uA
  • Sensibilidad táctil ajustable
  • Salidas configurables - Configurar como activo alto o activo bajo
  • Calibración automática continua
IC de 6 pines en la placa

Puedes ver el pequeño IC de 6 pines en las placas. El Pinout del TTP223 IC se da a continuación.

Número de pinNombre de la clavijaTipo de E/SDescripción de la clavija
1QSalidaPin de salida CMOS. Conecta este pin al Arduino
2VSSPotenciaAlimentación negativa / Tierra
3IEntradaPuerto del sensor de entrada
4AHLBEntradaSalida Activa Selección alta o baja
5VDDPotenciaFuente de alimentación positiva
6TOGEntradaSelección de la opción de tipo de salida (modo de alternancia/modo directo)

A continuación se muestra el componente de hardware fundamental necesario para diseñar un botón táctil en una placa de circuito impreso.

Fundamentos de la detección táctil

La detección táctil capacitiva es fácil de usar y entender. En esta sección, veremos los bloques de construcción básicos necesarios para completar la conducción de un sensor táctil. 

En la siguiente imagen se puede ver un despiece de un sensor de botón táctil simple.

El revestimiento viene en la parte superior. Es una separación entre el PCB y el usuario.

El grosor de la superposición afecta al rendimiento táctil. 

Deberías elegir un recubrimiento más fino con una constante dieléctrica más alta para mejorar la sensibilidad al tacto.

El revestimiento elegido debe ser no conductor.

La almohadilla del sensor es el elemento crucial, que es una almohadilla de cobre sólido. Se puede crear de cualquier forma, pero la circular es la más recomendable por su simetría y ausencia de extremo afilado. 

El diámetro del sensor táctil debe ser como mínimo el diámetro del dedo. En casos prácticos, la mayoría de los botones táctiles que he visto tienen entre 8 mm y 12 mm. 

Si los botones son más pequeños, la sensibilidad al tacto se reduce. Si los botones son demasiado grandes, se vuelven muy sensibles.

El botón puede activarse incluso si sólo se acerca el dedo al botón (sin llegar a tocarlo).

Por lo tanto, debes encontrar un buen equilibrio entre el tamaño del botón y el grosor de la superposición para lograr el mejor rendimiento táctil. 

La vista transversal tiene el aspecto de la imagen siguiente.

El patrón de malla es la tierra. El campo eléctrico de la almohadilla del sensor emerge de la almohadilla del sensor y termina en el suelo.

y termina en el suelo

Al tocar el botón, se proporciona un camino alternativo para las líneas de campo. Esto, a su vez, refleja un aumento de la capacitancia. El controlador táctil detecta este cambio en la capacitancia. 

La siguiente imagen es de uno de los sensores táctiles de Infineon (antes Cypress). Los recuentos en bruto representan directamente la capacitancia del botón táctil detectada por el controlador táctil.

Se puede ver un aumento drástico en los recuentos brutos cuando el usuario toca el botón. 

El CI táctil de un solo botón calibra automáticamente los valores de umbral para poder filtrar el ruido no deseado en los recuentos brutos.

IC táctil de un solo botón

Nota: Las líneas de campo eléctrico se acoplan muy fuertemente si el patrón de tierra es sólido. Por lo tanto, no se obtendrá una buena sensibilidad al tacto cuando se toque el botón. Por lo tanto, la tierra se crea en un patrón de malla.

Ventajas de los sensores de botones táctiles

Los botones táctiles ofrecen algunas ventajas sobre los botones tradicionales

  • Sin movimientos mecánicos (mayor duración y fiabilidad de las conexiones)
  • Integración de la háptica, la luz de fondo es fácil en el caso de los controladores táctiles
  • Fácil de limpiar las superficies ya que no hay ranuras ni agujeros como en las llaves mecánicas
  • Mejora de la experiencia del usuario
  • Aspecto estético

Instrucciones paso a paso para conectar un sensor táctil a un Arduino

En esta sección, te daré instrucciones paso a paso para completar la conexión necesaria entre el Arduino y la placa del sensor táctil.

En este ejemplo, utilizaremos un sensor táctil con 4 pines.

sensor táctil con 4 pines

Uno de los cuatro pines es un NC (sin conexión). Es posible que tengas que adaptar las conexiones en función de tu sensor táctil.

Será fácil completar la conexión si sigues los siguientes pasos. 

Comencemos.

¿Cómo conectar el sensor táctil al Arduino UNO?

A continuación se muestra la guía de conexión paso a paso para completar el Arduino y el sensor táctil. 

Paso 1: Realizar la conexión a tierra

Realice la conexión a tierra

El pin 1 del sensor táctil va al pin GND del Arduino. Puedes elegir el pin GND más cercano disponible para completar la conexión.

Es una excelente práctica comenzar las conexiones con la conexión GND primero.

Paso 2: Conectar el pin VCC

Conecte el pin VCC

Conecta el pin de 5 V del sensor táctil al Arduino UNO. La potencia consumida por el sensor táctil es muy baja.

Paso 3: Conectar la clavija de señal táctil

Conectar la clavija de señal táctil

Conecta el pin 2 del Arduino UNO al pin SIG del sensor táctil. La conexión final debe ser similar a la imagen de abajo.

Siempre puedes cambiar el pin del UNO al que tienes que conectar el pin SIG del controlador táctil. 

Asegúrese de actualizar también el código de Arduino para reflejar las nuevas conexiones

LED a uno de los GPIO del Arduino

Además, también puedes añadir un LED a uno de los GPIO del Arduino. Usted puede conducir el LED de alta para la duración del toque. Otra sugerencia es añadir un zumbador.

De este modo, el usuario recibe una agradable respuesta sonora cuando toca el botón. 

Los sensores táctiles no ofrecen una respuesta háptica cuando se comparan con un interruptor mecánico.

También puede optar por un motor de retroalimentación de vibración háptica para compensar eso.

Ejemplo de código Arduino para el sensor táctil

En esta sección, veremos un ejemplo sencillo de un proyecto de sensor táctil. Sólo necesitas un pin GPIO de Arduino para leer el estado del botón táctil. He utilizado el pin 2 de Arduino en este ejemplo.

Para usar otros pines, debes actualizar la línea de abajo en el sketch de Arduino.

const int clavija_táctil = 2;

Por ejemplo, si conectas el pin SIG del sensor táctil al PIN5 del Arduino UNO, debes cambiar la línea a

const int touch_pin = 5;

El código completo de Arduino

Proyecto de botón táctil único 

En este proyecto, se lee el estado del botón táctil. Cuando el usuario toque el botón, imprimirás un mensaje en el terminal.

Abre el IDE de Arduino y haz clic en la opción "Archivo". Bajo las opciones de archivo, selecciona "Nuevo".

//Change the pin here according to your connection
const int touch_pin = 2;
 
void setup()
{
 /* make sure that, when you open the serial terminal, 
   you set the baud rate to match the baud rate you define in the following line. 
   You can choose 115200, 9600, or any standard baud rate. 
   Make sure both baud rate matches */
 
  Serial.begin(14400);
 
  //define the touch pin as an input pin
  pinMode(touch_pin, INPUT);
}
 
//read the button status and display the message once touch is detected
void loop()
{
  if (digitalRead(touch_pin) == HIGH)
  {
    Serial.println("Touch detected!");
    delay(100);
  }
}

Proyecto de botón táctil múltiple

En este ejemplo, se amplía el proyecto anterior en cuatro botones táctiles. Puedes utilizarlos para crear una sencilla aplicación de piano, atajos de teclado para tu PC, etc. 

La siguiente aplicación radica el estado táctil de 4 botones táctiles y crea atajos de teclado. Puedes asignar fácilmente los pines de Arduino UNP a los botones táctiles. 

Puedes consultar la documentación de Arduino para saber más sobre los modificadores de teclado. 

El siguiente código demuestra el uso de los botones táctiles para crear combinaciones de teclado comunes para los usuarios de Mac.

Aquí está el código completo.

#include "Keyboard.h"
 
const int delayValue = 100;
const char cmdKey = KEY_LEFT_GUI;
 
void setup() {
  pinMode(2, INPUT);
  pinMode(3, INPUT);
  pinMode(4, INPUT);
  pinMode(5, INPUT);
  Keyboard.begin();
}
 
void loop() {
  if (digitalRead(2)) {
    Keyboard.press(cmdKey);
    Keyboard.press('c');
    delay(delayValue);
    Keyboard.releaseAll();
    while (digitalRead(2));
  }
  if (digitalRead(3)) {
    Keyboard.press(cmdKey);
    Keyboard.press('v');
    delay(delayValue);
    Keyboard.releaseAll();
    while (digitalRead(3));
  }
  if (digitalRead(4)) {
    Keyboard.press(cmdKey);
    Keyboard.press('n');
    delay(delayValue);
    Keyboard.releaseAll();
    while (digitalRead(4));
  }
  if (digitalRead(5)) {
    Keyboard.press(cmdKey);
    Keyboard.press('z');
    delay(delayValue);
    Keyboard.releaseAll();
    while (digitalRead(5));
  }
}

Preguntas frecuentes sobre los proyectos de sensores táctiles Arduino

He recopilado una lista de las preguntas más frecuentes sobre los CI de sensores táctiles. He intentado responderlas brevemente.

Si todavía tienes preguntas, estaré encantado de escucharlas en la sección de comentarios. 

1) ¿Cómo puedo conectar un sensor táctil a mi Arduino?

La mayoría de los sensores táctiles de un solo botón le proporcionan una salida digital. Debes conectar el pin de alimentación, que suele ser de 5 V, una conexión a tierra y la salida del sensor táctil. 

Por lo tanto, para completar la conexión, sólo necesita tres cables: 5V, GND, y cualquier pin GPIO de Arduino. Y

También puede encontrar sensores táctiles que pueden proporcionar salidas analógicas y digitales.

Las salidas analógicas le ayudarán a decidir la fuerza del toque. 

2) ¿Cómo programo mi sensor táctil Arduino?

Los sensores táctiles de un solo botón no necesitan ninguna programación. Se adaptan automáticamente al entorno. Por lo tanto, el uso de los botones en sus proyectos es sencillo. 

También puede encontrar algunos sensores táctiles avanzados que se pueden programar a través de la interfaz I2C o SPI (Ejemplo: controladores táctiles de la serie MBR).

3) ¿Cuál es el principio básico de funcionamiento de un sensor táctil?

El sensor táctil funciona detectando la capacitancia que cambia rápidamente. El botón del sensor táctil consta de dos placas paralelas separadas por un aislante (PCB, por ejemplo). Las placas pueden estar formadas por cobre en los PCB. 

Al tocar el botón, aumenta el área efectiva de una placa, lo que provoca un aumento del valor de la capacitancia.

El CI del controlador táctil detecta este cambio repentino en la capacitancia.

Si supera un límite predefinido, producirá una salida, indicando la acción táctil. 

4) ¿El sensor táctil es un dispositivo activo o pasivo?

Los sensores táctiles funcionan cargando y descargando activamente la capacitancia del sensor. Los sensores táctiles se consideran dispositivos activos.

Conclusión

Te he llevado a través de los fundamentos de la detección táctil para una aplicación de un solo botón. También hemos visto la guía de conexión y un código de ejemplo.

Estoy seguro de que has podido probar con éxito el circuito que has construido. 

Los sensores táctiles son un excelente complemento para nuestros proyectos. Estaré encantado de leer sus siguientes proyectos de Arduino Touch.

Por favor, publícalos en la sección de comentarios. Si estás atascado, deja un comentario. Intentaré ayudarle. 

Espero que el artículo sea fácil de seguir. Si tiene alguna sugerencia para mejorar el artículo, por favor, compártala conmigo en los comentarios. 

¿Qué le gustaría leer a continuación? ¿Qué temas le han interesado más? Por favor, hágamelo saber.

No olvides compartir este artículo con tus amigos si te resulta útil.