Arduino Nano - sensor táctil

Este tutorial te enseña cómo usar el sensor de toque capacitivo con Arduino Nano. En detalle, aprenderemos:

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×Sensor Táctil
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor táctil

Un sensor táctil capacitivo, también conocido como botón táctil o interruptor táctil, es un dispositivo comúnmente utilizado para controlar otros dispositivos, como una lámpara sensible al tacto. Realiza la misma función que un botón, pero a menudo se prefiere a un botón para dispositivos modernos con el fin de darles un aspecto más pulido.

Pinout del sensor táctil

El sensor táctil tiene tres pines:

  • El pin GND debe conectarse a tierra (0V).
  • El pin VCC debe conectarse a la fuente de voltaje (5V o 3.3V).
  • El pin SIGNAL es un pin de salida. Estará en bajo cuando no se toque y en alto cuando se toque. Este pin debe conectarse a un pin de entrada del Arduino Nano.
pinout del sensor táctil

Cómo funciona

  • Cuando el sensor no está siendo tocado, el pin de señal del sensor está en un nivel bajo.
  • Por el contrario, cuando el sensor es tocado, el pin de señal del sensor está en un nivel alto.

Arduino Nano - Sensor táctil

El pin SEÑAL del sensor táctil está conectado a un pin de entrada de un Arduino Nano. Al verificar el estado de ese pin de entrada, podemos determinar si el sensor táctil ha sido tocado o no.

Diagrama de Cableado

Diagrama de cableado del sensor táctil para Arduino Nano

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Cómo programar para un sensor táctil

  • Inicializa el pin del Arduino Nano en modo de entrada digital con la función pinMode(). Por ejemplo, el código a continuación configura el pin 2 en modo de entrada.
pinMode(2, INPUT_PULLUP);
  • Utiliza la función digitalRead() para leer el estado del pin del Arduino Nano.
int inputState = digitalRead(2);

※ Nota:

Existen dos escenarios comunes:

  • El primero: Si la entrada está en alto, realiza una acción. Si la entrada está en bajo, realiza la acción opuesta.
  • El segundo: Si la entrada cambia de bajo a alto (o viceversa), realiza una acción.

Dependiendo de la aplicación, podemos elegir uno de ellos. Por ejemplo, si estamos usando un sensor táctil para controlar un LED:

  • Si queremos que el LED esté encendido cuando se toque el sensor y apagado cuando no se toque el sensor, deberíamos usar el primer escenario.
  • Si queremos que el LED cambie entre encendido y apagado cada vez que toquemos el sensor, deberíamos usar el segundo escenario.

Código de Arduino Nano para sensor táctil

Ejecutaremos dos códigos de muestra:

  • Arduino Nano lee el valor del sensor táctil y lo imprime en el Monitor Serial.
  • Arduino Nano detecta los eventos de tocar y dejar de tocar.

Arduino Nano lee el valor del sensor táctil y lo imprime en el Monitor Serial

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-touch-sensor */ #define TOUCH_SENSOR_PIN 2 // The Arduino Nano pin connected to the touch sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input pinMode(TOUCH_SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(TOUCH_SENSOR_PIN); // print state to Serial Monitor Serial.println(state); }

Pasos R\u00e1pidos

  • Copia el código y ábrelo con el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para compilar y subir el código al Arduino Nano.
  • Coloca el dedo sobre el sensor y luego retíralo.
  • Consulta el resultado en el Monitor Serial.
COM6
Send
0 0 0 1 1 1 1 1 1 0 0
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Arduino Nano detecta que el sensor está tocado o liberado

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-touch-sensor */ #define TOUCH_SENSOR_PIN 2 // The Arduino Nano pin connected to the touch sensor int prev_state = LOW; // The previous state from the input pin int touch_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the Arduino Nano pin as an input pinMode(TOUCH_SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: touch_state = digitalRead(TOUCH_SENSOR_PIN); if (prev_state == LOW && touch_state == HIGH) Serial.println("The sensor is touched"); else if (prev_state == HIGH && touch_state == LOW) Serial.println("The sensor is released"); // save the the last state prev_state = touch_state; }

Pasos R\u00e1pidos

  • Copia el código y ábrelo con el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE para transferir el código al Arduino Nano.
  • Coloca un dedo sobre el sensor.
  • Revisa la salida en el Monitor Serial.
COM6
Send
The sensor is touched
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Quita tu dedo del sensor táctil.
  • Verifica la salida en el Monitor Serial.
COM6
Send
The sensor is touched The sensor is released
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Referencias de funciones

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!