Arduino - Sensor de Toque
O sensor de toque (também chamado de botão de toque ou interruptor de toque) é muito usado para controlar dispositivos (por exemplo, luminárias de toque). Ele tem a mesma função de um botão. Ele é usado no lugar do botão em muitos dispositivos novos porque deixa o produto com um visual mais limpo.
Neste tutorial, vamos aprender a usar o sensor de toque com o Arduino.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Toque
Pinagem
O sensor de toque tem 3 pinos:
- Pino GND: precisa ser conectado ao GND (0V)
- Pino VCC: precisa ser conectado ao VCC (5V ou 3.3v)
- Pino SIGNAL: é um pino de saída: LOW quando NÃO está sendo tocado, HIGH quando está sendo tocado. Este pino precisa ser conectado a um pino de entrada do Arduino.

Como Funciona
- Quando o sensor NÃO está sendo tocado, o pino SIGNAL do sensor fica em LOW
- Quando o sensor está sendo tocado, o pino SIGNAL do sensor fica em HIGH
Arduino - Sensor de Toque
O pino SIGNAL do sensor de toque é conectado a um pino de entrada do Arduino.
Lendo o estado do pino do Arduino (configurado como pino de entrada), podemos detectar se o sensor de toque está sendo tocado ou não.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Como Programar o Sensor de Toque
- Inicialize o pino do Arduino no modo de entrada digital usando a função pinMode(). Por exemplo, o pino 7
- Leia o estado do pino do Arduino usando a função digitalRead().
※ Nota:
Existem dois casos de uso bastante comuns:
- O primeiro: se o estado da entrada for HIGH, faça algo. Se o estado da entrada for LOW, faça o contrário.
- O segundo: se o estado da entrada mudar de LOW para HIGH (ou de HIGH para LOW), faça algo.
Dependendo da aplicação, escolhemos um deles. Por exemplo, no caso de usar um sensor de toque para controlar um LED:
- Se quisermos que o LED fique LIGADO quando o sensor for tocado e DESLIGADO quando o sensor NÃO for tocado, DEVEMOS usar o primeiro caso de uso.
- Se quisermos que o LED alterne entre LIGADO e DESLIGADO cada vez que tocamos o sensor, DEVEMOS usar o segundo caso de uso.
- Como detectar a mudança de estado de LOW para HIGH
Sensor de Toque - Código Arduino
Vamos executar quatro códigos de exemplo:
- Ler o valor do sensor de toque e exibi-lo no Serial Monitor.
- Controlar o LED de acordo com o estado do sensor.
- Detectar quando o sensor é tocado ou solto.
- Alternar o LED quando o sensor é tocado (este é o mais usado).
Ler o valor do sensor de toque e exibi-lo no Serial Monitor
Passos Rápidos
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Toque o sensor com o dedo e solte.
- Veja o resultado no Serial Monitor.
Controlar o LED de acordo com o estado do sensor
Se o sensor for tocado, acenda o LED. Se o sensor não for tocado, apague o LED.
Passos Rápidos
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Toque o sensor com o dedo e continue tocando.
- Veja o estado do LED ⇒ o LED deve estar aceso.
- Tire o dedo do sensor.
- Veja o estado do LED ⇒ o LED deve estar apagado.
Detectar quando o sensor é tocado ou solto
Passos Rápidos
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Toque o sensor com o dedo e continue tocando.
- Veja o resultado no Serial Monitor.
- Tire o dedo do sensor.
- Veja o resultado no Serial Monitor.
Alternar o LED quando o sensor é tocado.
Passos Rápidos
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Toque o sensor com o dedo e solte.
- Veja o estado do LED ⇒ o LED deve estar aceso.
- Toque o sensor com o dedo e solte.
- Veja o estado do LED ⇒ o LED deve estar apagado.
- Toque o sensor com o dedo e solte.
- Veja o estado do LED ⇒ o LED deve estar aceso.
Vídeo
O vídeo de demonstração abaixo usa o código abaixo. Observe que o vídeo mostra o Arduino Uno R4, mas funciona da mesma forma no Arduino Uno R3: