Arduino Nano - Sensor de Toque

Este tutorial ensina você a usar o sensor de toque capacitivo com o Arduino Nano. Em detalhes, vamos aprender:

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×Sensor de Toque
1×Fios Jumper
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

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

Um sensor de toque capacitivo, também conhecido como botão de toque ou interruptor de toque, é um dispositivo muito usado para controlar outros aparelhos, como um abajur sensível ao toque. Ele faz a mesma função de um botão, mas costuma ser escolhido no lugar do botão em dispositivos modernos para dar a eles uma aparência mais refinada.

Pinagem do Sensor de Toque

O sensor de toque tem três pinos:

  • O pino GND deve ser conectado ao terra (0V).
  • O pino VCC deve ser conectado à fonte de tensão (5V ou 3.3v).
  • O pino SIGNAL é um pino de saída. Ele fica em LOW quando não há toque e em HIGH quando há toque. Esse pino deve ser conectado a um pino de entrada do Arduino Nano.
pinagem do sensor de toque

Como Funciona

  • Quando o sensor não está sendo tocado, o pino SIGNAL do sensor fica em nível LOW.
  • Por outro lado, quando o sensor é tocado, o pino SIGNAL do sensor fica em nível HIGH.

Arduino Nano - Sensor de Toque

O pino SIGNAL do sensor de toque é conectado a um pino de entrada do Arduino Nano. Ao verificar o estado de um pino de entrada do Arduino Nano, podemos saber se o sensor de toque foi tocado ou não.

Diagrama de Ligação

Diagrama de ligação do sensor de toque com Arduino Nano

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Como Programar para o Sensor de Toque

  • Inicializa o pino do Arduino Nano no modo de entrada digital com a função pinMode(). Por exemplo, o código abaixo configura o pino 2 no modo de entrada.
pinMode(2, INPUT_PULLUP);
  • Usa a função digitalRead() para ler o estado do pino do Arduino Nano.
int inputState = digitalRead(2);

※ Nota:

Existem dois cenários comuns:

  • O primeiro: se a entrada estiver em HIGH, execute uma ação. Se a entrada estiver em LOW, execute a ação oposta.
  • O segundo: se a entrada mudar de LOW para HIGH (ou vice-versa), execute uma ação.

Dependendo da aplicação, podemos escolher um deles. Por exemplo, se estivermos usando um sensor de toque para controlar um LED:

  • Se queremos que o LED fique LIGADO quando o sensor é tocado e DESLIGADO quando o sensor NÃO é tocado, DEVEMOS usar o primeiro cenário.
  • Se queremos que o LED alterne entre LIGADO e DESLIGADO cada vez que tocamos o sensor, DEVEMOS usar o segundo cenário.

Código Arduino Nano para o Sensor de Toque

Vamos executar dois códigos de exemplo:

  • O Arduino Nano lê o valor do sensor de toque e o imprime no Serial Monitor.
  • O Arduino Nano detecta os eventos de toque ou fim de toque.

O Arduino Nano lê o valor do sensor de toque e o imprime no Serial Monitor

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.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); }

Passos Rápidos

  • Copie o código e abra-o com o Arduino IDE.
  • Clique no botão Upload no Arduino IDE para compilar e fazer o upload do código para o Arduino Nano.
  • Coloque o dedo no sensor e depois tire.
  • Veja o resultado no Serial Monitor.
∞
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

O Arduino Nano detecta quando o sensor é tocado ou solto

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.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; }

Passos Rápidos

  • Copie o código e abra-o no Arduino IDE.
  • Clique no botão Upload no IDE para transferir o código para o Arduino Nano.
  • Encoste o dedo no sensor.
  • Verifique a saída no Serial Monitor.
∞
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
  • Tire o dedo do sensor de toque.
  • Verifique a saída no Serial Monitor.
∞
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

Vídeo

Referências de Funções

※ 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!