EXPLORAÇÃO TÉCNICA

Explorando o Sensor Touch Capacitivo TTP223B na Robótica Educacional

Como transformar o toque humano em comandos digitais para criar interfaces interativas e modernas.

Neste exercício, vamos explorar como o Sensor Touch Capacitivo TTP223B funciona e como ele pode ser integrado com microcontroladores como o Arduino para acender um LED. O objetivo é utilizar o sensor para detectar um toque e, com isso, ativar um LED, criando uma interação simples e eficaz entre o usuário e o sistema.

O que é o Sensor Capacitivo?

O TTP223B detecta variações na capacitância (capacidade de armazenar carga elétrica). Quando você toca a superfície, seu corpo altera essa carga, o que é registrado pelo sensor como um sinal digital.

Funcionamento do Sistema

  • Detecção de Toque: O sensor registra a alteração de capacitância e envia um sinal HIGH (nível lógico 1) ou LOW (nível lógico 0) para o Arduino.
  • Saída Digital: O comportamento da saída pode ser configurado para ativar ou desativar componentes instantaneamente.
  • Feedback Visual: Um LED verde é utilizado para indicar se o sistema registrou o acionamento do toque.

Materiais

  • Arduino UNO
  • Protoboard & Jumpers
  • Sensor Touch Capacitivo TTP223B
  • LED Verde
  • Resistor de 220Ω

Conexões Chave

  • Sensor VCC/GND: 5V e Terra do Arduino
  • Sensor IO (Sinal): Pino Digital 2
  • LED Verde (Ânodo): Pino Digital 8
  • LED Verde (Cátodo): GND (via resistor 220Ω)

Protótipo em Operação

Protótipo Sensor Touch TTP223B

Lógica de Programação

Baixar Código (.INO)

// Exploração Técnica: Sensor Touch TTP223B
#define TOUCH 2
#define LED_VERDE 8

bool ligado = false;

void setup() {
  pinMode(TOUCH, INPUT_PULLUP); // Resistor interno para estabilidade
  pinMode(LED_VERDE, OUTPUT);
  digitalWrite(LED_VERDE, HIGH); // Inicia desligado (lógica inversa se necessário)
}

void loop() {
  // Verifica se o sensor foi tocado (detectando LOW conforme pull-up)
  if (digitalRead(TOUCH) == LOW) {
    ligado = !ligado; // Inverte o estado atual
    
    // Liga (LOW) ou Desliga (HIGH) o LED baseado na variável
    digitalWrite(LED_VERDE, ligado ? LOW : HIGH);
    
    // Aguarda soltar o sensor para evitar múltiplos acionamentos
    while (digitalRead(TOUCH) == LOW);
    
    delay(50); // Debounce para estabilizar o sinal
  }
}
                    

Considerações sobre o Código

Utilizamos o INPUT_PULLUP para garantir que o pino não flutue quando não houver toque. A lógica ligado = !ligado cria um efeito de interruptor (toggle), e o laço while impede que o LED fique piscando descontroladamente se você mantiver o dedo no sensor.