👆 Arduino • Sensore tattile • Relè

Sensore tattile con Arduino: controllare un relè con il tocco

Usiamo un sensore tattile capacitivo per rilevare il contatto della mano e attivare un relè. È un progetto semplice, utile per capire ingressi digitali, sensibilità del sensore e controllo di un carico.

DifficoltàPrincipiante
SensoreD7
RelèD12
In poche parole: quando il sensore rileva il tocco, porta la sua uscita a HIGH. Arduino legge il segnale sul pin D7 e attiva il relè collegato a D12. Quando il contatto termina, il relè viene disattivato.

Cosa imparerai

  • come funziona un sensore tattile capacitivo;
  • come leggere un ingresso digitale con digitalRead();
  • come regolare la sensibilità del sensore;
  • come pilotare un modulo relè con Arduino;
  • come sostituire il relè con un LED o un buzzer;
  • come migliorare il progetto con una logica ON/OFF a ogni tocco.

Come funziona il sensore tattile

Il modulo rileva variazioni del campo elettrico quando una persona tocca l’elettrodo o una superficie metallica collegata al sensore. Il contatto modifica la capacità rilevata dal circuito e l’uscita digitale cambia stato.

Il sensore può essere collegato direttamente a una piccola superficie metallica oppure a un elemento più grande, come una maniglia, una piastrina o un pannello. Il potenziometro presente sul modulo permette di regolare la sensibilità.

Sensore tattile capacitivo per Arduino

Modulo sensore tattile con regolazione della sensibilità.

Regolazione: aumenta la sensibilità solo quanto basta. Se il modulo è troppo sensibile può reagire a disturbi, cavi lunghi o superfici metalliche molto estese anche senza un vero tocco.

Materiale necessario

🔌 Arduino Uno
👆 Modulo sensore tattile
⚡ Modulo relè 5 V
🔗 Cavetti jumper
🧩 Breadboard

🧰 Kit Arduino consigliato

Molti progetti utilizzano sensori, relè, breadboard, LED e cavetti. Un kit completo può essere comodo per avere già a disposizione i componenti più comuni.

👉 Guarda il kit Arduino consigliato

Link di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.

📘 Vuoi imparare Arduino passo dopo passo?

Se vuoi approfondire e realizzare progetti più completi, puoi dare un’occhiata anche ai miei libri dedicati ad Arduino. Troverai spiegazioni semplici, schemi chiari e molti progetti pratici pensati per chi parte da zero.

👉 Scopri i miei libri su Arduino

Link di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.

Schema del circuito

Schema Arduino sensore tattile e relè

Schema di collegamento del sensore tattile con Arduino e modulo relè.

Collegamenti principali

ElementoPin ArduinoFunzione
Uscita sensore tattileD7Segnale digitale del tocco
Ingresso modulo relèD12Attivazione/disattivazione del relè
Alimentazione sensore5 V / GNDAlimentazione del modulo
Alimentazione relè5 V / GNDAlimentazione del modulo relè
Attenzione ai carichi collegati al relè: Arduino deve comandare soltanto l’ingresso del modulo relè. Se vuoi controllare tensioni di rete o carichi potenti, servono componenti, isolamento e procedure adeguate. Non usare breadboard o cablaggi improvvisati con la 230 V.

Codice Arduino commentato

Sensore tattile + relè
// ==========================================================
// SENSORE TATTILE CON ARDUINO
// Attiva un relè quando viene rilevato il tocco
// ==========================================================

// Pin collegato all'uscita digitale del sensore
const int sensorePin = 7;

// Pin collegato all'ingresso del modulo relè
const int relePin = 12;

// Variabile che memorizza lo stato del sensore
int statoSensore = LOW;

void setup() {

  // Il sensore invia un segnale digitale ad Arduino
  pinMode(sensorePin, INPUT);

  // Il relè viene comandato da Arduino
  pinMode(relePin, OUTPUT);

  // Stato iniziale: relè spento
  digitalWrite(relePin, LOW);
}

void loop() {

  // Legge lo stato dell'uscita del sensore
  statoSensore = digitalRead(sensorePin);

  // Se il sensore rileva il tocco
  if (statoSensore == HIGH) {

    // Attiva il relè
    digitalWrite(relePin, HIGH);
  }
  else {

    // Nessun tocco: disattiva il relè
    digitalWrite(relePin, LOW);
  }
}

Come funziona il programma

1. Lettura del sensore

Arduino controlla continuamente il pin D7 con digitalRead(). Il risultato può essere HIGH oppure LOW.

2. Tocco rilevato

Quando l’uscita del sensore è HIGH, il pin D12 viene portato a HIGH e il modulo relè si attiva.

3. Nessun tocco

Quando l’uscita torna LOW, anche D12 viene portato a LOW e il relè viene disattivato.

Comportamento attuale: il relè resta attivo soltanto finché il sensore rileva il tocco. Appena il contatto termina, il relè si spegne.

Attenzione ai moduli relè active LOW

Molti moduli relè si attivano con un livello LOW invece che HIGH. Se il tuo relè lavora al contrario, verifica prima la serigrafia e il comportamento del modulo.

Se il relè è active LOW
// Tocco rilevato
digitalWrite(relePin, LOW);

// Nessun tocco
digitalWrite(relePin, HIGH);

Variante: tocco per accendere, tocco successivo per spegnere

Una variante molto più pratica consiste nel trasformare il sensore in un vero interruttore touch: ogni nuovo tocco cambia lo stato del relè.

Interruttore touch ON/OFF
const int sensorePin = 7;
const int relePin = 12;

bool releAttivo = false;
bool statoPrecedente = LOW;

void setup() {

  pinMode(sensorePin, INPUT);
  pinMode(relePin, OUTPUT);

  digitalWrite(relePin, LOW);
}

void loop() {

  bool statoAttuale = digitalRead(sensorePin);

  // Rileva soltanto il passaggio LOW -> HIGH
  if (statoAttuale == HIGH && statoPrecedente == LOW) {

    // Inverte lo stato del relè
    releAttivo = !releAttivo;

    digitalWrite(
      relePin,
      releAttivo ? HIGH : LOW
    );

    // Piccolo debounce
    delay(80);
  }

  statoPrecedente = statoAttuale;
}
Risultato: un tocco accende il relè, il tocco successivo lo spegne. Questa logica è più adatta per lampade, dispositivi dimostrativi e interfacce touch.

Usare una superficie metallica più grande

La parte sensibile può essere collegata a una superficie metallica per aumentare l’area di contatto. Una maniglia, una piastrina o un pomello possono quindi diventare un comando touch.

Più grande è la superficie e più lungo è il filo, maggiore può essere anche la sensibilità ai disturbi. Per questo conviene regolare il potenziometro dopo aver completato il montaggio definitivo.

Alternative al relè

Al posto del relè puoi collegare altri dispositivi a bassa potenza, per esempio:

  • un LED;
  • un buzzer;
  • un ingresso logico di un altro circuito;
  • un modulo MOSFET per piccoli carichi in corrente continua;
  • un servo o un altro attuatore, con il relativo circuito di pilotaggio.

Debug rapido

  • verifica che il sensore sia alimentato correttamente;
  • controlla l’uscita digitale sul pin D7;
  • regola lentamente il potenziometro di sensibilità;
  • se il sensore si attiva da solo, riduci la sensibilità;
  • se il relè lavora al contrario, verifica se è active LOW;
  • controlla che Arduino e modulo relè condividano la massa quando richiesto dal modulo;
  • prova prima il circuito senza collegare carichi esterni al relè.

Scarica lo sketch

⬇️ Scarica lo sketch Arduino

Varianti del progetto

  • realizzare un interruttore touch ON/OFF;
  • aggiungere un LED che mostra lo stato del relè;
  • aggiungere un buzzer di conferma;
  • comandare più relè con più sensori touch;
  • usare un display OLED per mostrare lo stato;
  • integrare il sensore in una maniglia o pannello metallico;
  • aggiungere un timer di spegnimento automatico.

Cosa devi ricordare

  • Il sensore tattile è collegato al pin D7.
  • Il relè è comandato dal pin D12.
  • L’uscita del sensore è digitale: HIGH o LOW.
  • La sensibilità si regola tramite il potenziometro del modulo.
  • Il relè può essere active HIGH oppure active LOW.
  • Con una semplice modifica software puoi trasformare il sensore in un interruttore touch.

Domande frequenti

Perché il sensore si attiva senza toccarlo?

La sensibilità potrebbe essere troppo alta oppure la superficie collegata potrebbe captare disturbi. Riduci la sensibilità e prova con fili più corti.

Posso collegare una piastra metallica al sensore?

Sì. Una superficie metallica può aumentare l’area sensibile, ma può anche rendere il circuito più sensibile ai disturbi.

Perché il relè è acceso quando dovrebbe essere spento?

Il tuo modulo potrebbe essere active LOW. In quel caso la logica HIGH/LOW va invertita.

Posso usare il sensore come interruttore permanente?

Sì. Basta rilevare il fronte del tocco e invertire una variabile di stato, come nell’esempio ON/OFF.