ESP32 Botão Touch: Como Usar o Sensor Touch (Tutorial com LED e Relé)

Neste tutorial vamos aprender como usar o sensor touch do ESP32 para controlar um LED e um relé, criando um botão sensível ao toque para projetos de eletrônica e robótica.

O ESP32 DEVKIT V1 é um microcontrolador moderno que possui muitos pinos e sensores touch capacitivos integrados. Isso permite criar projetos mais simples, sem precisar de módulos extras.

Neste artigo do RodRobot você aprenderá:

Quantos pinos o ESP32 possui

Diferença entre versões com mais pinos

Como funciona o botão touch

Comparação com o módulo TTP223B

Código prático com botão e touch ligando e desligando um LED


Entendendo os pinos do ESP32 DEVKIT V1

O ESP32 possui pinos chamados GPIO (General Purpose Input Output).

Eles podem funcionar como:

  • Entrada digital (ler botão)
  • Saída digital (ligar LED, relé)
  • Entrada analógica
  • Touch
  • Comunicação (I2C, SPI, Serial)

Quantidade de pinos do ESP32

O ESP32 possui internamente até 34 pinos GPIO utilizáveis, porém a quantidade disponível depende da placa.

As versões mais comuns são:

ESP32 com 30 pinos

  • versão mais comum
  • menor
  • ideal para a maioria dos projetos

ESP32 com 38 pinos

  • possui mais pinos disponíveis
  • permite conectar mais sensores
  • ideal para projetos maiores

O chip é o mesmo. Apenas a placa expõe mais pinos.


Por que alguns pinos não aparecem

Alguns pinos são usados internamente para:

  • memória flash
  • funcionamento do sistema
  • comunicação interna

Por isso não podem ser usados externamente.

Isso é normal em microcontroladores modernos.


O que é o Touch do ESP32


O ESP32 possui sensores touch capacitivos integrados.
Isso significa que ele detecta o toque do dedo sem precisar de botão.
Você pode usar:

  • um fio
  • uma moeda
  • uma placa metálica

Quando o dedo toca, o ESP32 detecta automaticamente.


Como funciona (explicação simples)

Nosso corpo possui uma pequena carga elétrica natural.

Quando tocamos no pino, o ESP32 detecta essa mudança.

É o mesmo princípio usado em:

  • celulares
  • interruptores touch
  • fogões modernos


Comparação com o módulo Touch TTP223B

O TTP223B é um módulo sensor touch capacitivo externo muito utilizado com Arduino.

Função dele:

Transformar toque em sinal digital.

Comparação simples:

ESP32

  • já possui touch integrado
  • não precisa módulo
  • mais prático

TTP223B

  • precisa módulo extra
  • ocupa espaço
  • mesma função
  • Resultado final é igual.

Ambos detectam o toque do dedo.


Projeto prático Botão e Touch ligando e desligando LED

Funcionamento:

Pressiona botão → liga LED

Pressiona novamente → desliga LED

Toca no touch → liga LED

Toca novamente → desliga LED

Modo interruptor (toggle)


Ligações

Código completo ESP32

/*====================================================================

# - RodRobot — Simples. Claro. Funciona.

# - ESP32 para iniciantes — Pino touch

# - MENU -> FERRAMENTAS -> SELECIONAR PLACA ESP32 DEV MODULE

# - PARA COMPILAR É PRECISO APERTAR O BOTÃO BOOT NO ESP COM APARECE Connecting..........

#====================================================================*/

#define LED 2

#define BOTAO 18

#define TOUCH 4


bool estadoLED = false;


bool ultimoBotao = HIGH;

bool ultimoTouch = false;


void setup()

{

  pinMode(LED, OUTPUT);

  pinMode(BOTAO, INPUT_PULLUP);

  Serial.begin(115200);

}


void loop()

{

  // Leitura do botão

  bool leituraBotao = digitalRead(BOTAO);


  if(leituraBotao == LOW && ultimoBotao == HIGH)

  {

    estadoLED = !estadoLED;

    digitalWrite(LED, estadoLED);


    delay(300);

  }


  ultimoBotao = leituraBotao;


  // Leitura do touch

  int valorTouch = touchRead(TOUCH);


  if(valorTouch < 40 && ultimoTouch == false)

  {

    estadoLED = !estadoLED;

    digitalWrite(LED, estadoLED);

    delay(300);

    ultimoTouch = true;

  }


  if(valorTouch > 40)

  {

    ultimoTouch = false;

  }

}


Código disponível no GitHub 

Como o código funciona

Esta linha faz o LED alternar entre ligado e desligado:

estadoLED = !estadoLED;

Se estiver desligado → liga

Se estiver ligado → desliga

Funciona como interruptor de parede.

Touch

O ESP32 mede a capacitância do dedo.

Valor normal:

~70 a 100

Valor quando toca:

~20 a 40

Por isso usamos:

if(valorTouch < 40)


Vantagem do touch integrado

Com ESP32 você não precisa do TTP223B.

Isso significa:

  • menos componentes
  • menor custo
  • montagem mais simples
  • projeto mais profissional


Aplicações reais

  • Você pode usar este sistema para:
  • interruptor touch
  • automação residencial
  • controle de relé
  • projetos IoT
  • controle de iluminação


Conclusão

O ESP32 DEVKIT V1 é um microcontrolador completo, com muitos pinos e sensores touch integrados. Algumas versões possuem mais pinos disponíveis, mas todas são muito poderosas.

O touch integrado elimina a necessidade de módulos externos como o TTP223B, tornando os projetos mais simples, baratos e modernos.


🤖 RodRobot - Projetos Maker

Projetos com ESP32, Arduino e eletrônica para makers.

🔗 Código fonte disponível no GitHub:
https://github.com/RodRobot

🌐 Visite também o blog:
rodrobot.blogspot.com









Comentários

Postagens mais visitadas deste blog

1. Como Medir a Intensidade do Sinal Wi-Fi no ESP32 (RSSI em dBm) (Código e Projeto) - com Display OLED SSD1306