Arduino Nano ESP32 - Sensor de Toque

Este tutorial mostra como usar o Arduino Nano ESP32 com o sensor de toque (também conhecido como interruptor de toque ou botão de toque).

Hardware Necessário

1×Arduino Nano ESP32
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×Sensor de Toque
1×Protoboard
1×Fios Jumper
1×(Opcional) Conector de Alimentação DC
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Sensor de Toque

Pinagem do Sensor de Toque

O sensor de toque tem 3 pinos:

  • Pino GND: conecte este pino ao GND (0V)
  • Pino VCC: conecte este pino ao VCC (5V ou 3.3v)
  • Pino SIGNAL: é um pino de saída: LOW quando NÃO é tocado, HIGH quando é tocado. Este pino precisa ser conectado a um pino de entrada do ESP32.
Pinagem do Sensor de Toque

Como o Sensor de Toque Funciona

  • O estado do pino SIGNAL é LOW quando o sensor de toque NÃO é tocado
  • O estado do pino SIGNAL é HIGH quando o sensor de toque é tocado

Arduino Nano ESP32 - Sensor de Toque

Podemos conectar o pino SIGNAL do sensor de toque a um pino de entrada do ESP32 e usar o código do Arduino Nano ESP32 para ler o estado do sensor de toque.

Diagrama de Ligação entre o Sensor de Toque e o Arduino Nano ESP32

Diagrama de Ligação do Sensor de Toque com o Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Como Programar o Sensor de Toque

  • Inicializa o pino do Arduino Nano ESP32 no modo de entrada digital usando a função pinMode(). Por exemplo, o pino D2
pinMode(D2, INPUT);
  • Lê o estado do pino do Arduino Nano ESP32 usando a função digitalRead().
int inputState = digitalRead(D2);

Sensor de Toque - Código para Arduino Nano ESP32

O código abaixo lê o estado do sensor de toque e o imprime no Serial Monitor.

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-touch-sensor */ #define SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to the sensor's SIGNAL pin of touch sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(SENSOR_PIN); // print state to Serial Monitor Serial.println(state); }

Passos Rápidos

  • Se esta é a primeira vez que você usa o Arduino Nano ESP32, veja como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
  • Copie o código acima e cole no Arduino IDE.
  • Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload do Arduino IDE
  • Toque o dedo no sensor e solte.
  • Confira o resultado no Serial Monitor. Ele se parece com o abaixo:
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' on 'COM15')
New Line
9600 baud
0 0 0 1 1 1 1 1 1 0 0
Ln 11, Col 1
Arduino Nano ESP32 on COM15
2

Como detectar a mudança de estado de LOW para HIGH

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-touch-sensor */ #define SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to the sensor's SIGNAL pin of 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 ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: touch_state = digitalRead(SENSOR_PIN); if (prev_state == LOW && touch_state == HIGH) Serial.println("The sensor is touched"); // save the the last state prev_state = touch_state; }

Vídeo

Tutoriais Relacionados

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!