O sensor de toque capacitivo deteta a presença do dedo humano pela variação de capacitância — sem pressão mecânica. Baseado num IC TTP223 (ou similar), tem saída digital HIGH ao toque e LOW sem toque. Funciona através de materiais finos (vidro, plástico, papel).
#define TOQUE_PIN 2
#define LED_PIN 13
void setup() {{
pinMode(TOQUE_PIN, INPUT); // Sem pull-up — HIGH = tocado
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
}}
void loop() {{
bool tocado = (digitalRead(TOQUE_PIN) == HIGH);
digitalWrite(LED_PIN, tocado);
if (tocado) Serial.println("Toque detectado!");
delay(50);
}}#define TOQUE_PIN 2
#define LED_PIN 13
#define BUZZER_PIN 8
bool ledState = false;
bool ultimoToque = false;
void setup() {{
pinMode(TOQUE_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN,OUTPUT);
Serial.begin(9600);
}}
void loop() {{
bool tocado = (digitalRead(TOQUE_PIN) == HIGH);
// Detetar flanco de subida (início do toque)
if (tocado && !ultimoToque) {{
ledState = !ledState;
digitalWrite(LED_PIN, ledState);
digitalWrite(BUZZER_PIN, HIGH); delay(60); digitalWrite(BUZZER_PIN, LOW);
Serial.print("Toggle LED: ");
Serial.println(ledState ? "ON" : "OFF");
}}
ultimoToque = tocado;
delay(20);
}}| Característica | Sensor de Toque Capacitivo (#14) | Botão de Pressão (#25) |
|---|---|---|
| Mecanismo | Variação de capacitância — sem pressão | Contacto mecânico — requer pressão |
| Lógica de saída | HIGH quando tocado | LOW quando premido (com pull-up) |
| Debounce necessário | Não (IC interno gere) | Sim — bounce mecânico |
| Desgaste mecânico | Nenhum (sem partes móveis) | Limitado (~100 000 ciclos) |
| Funciona através de superfícies | ✅ Vidro, plástico fino | ❌ Precisa de acesso direto |
| Sensível a humidade/EMI | ⚠️ Mais sensível | ❌ Menos sensível ao ambiente |
| Ideal para | Interfaces sem botões visíveis, superfícies decorativas | Aplicações robustas, industriais |