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 Nano V3.0 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 (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.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
0 0 0 1 1 1 1 1 1 0 0
Ln 11, Col 1
Arduino Nano on COM15
2

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.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
The sensor is touched
Ln 11, Col 1
Arduino Nano on COM15
2
  • Quita tu dedo del sensor táctil.
  • Verifica la salida en el Monitor Serial.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
The sensor is touched The sensor is released
Ln 11, Col 1
Arduino Nano on COM15
2

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!