- Che cos'è un sensore tattile capacitivo e come funziona?
- Costruire un sensore tattile capacitivo a quattro vie
- Materiali necessari per il circuito a controllo tattile ESP32
- Circuito di controllo per il nostro sensore tattile capacitivo
- Progettazione PCB per il circuito del sensore tattile capacitivo
- Codice Arduino per sensore tattile capacitivo basato su ESP32
- Test del circuito del sensore tattile basato su ESP32
- Ulteriori miglioramenti
In molti casi, vengono utilizzati sensori tattili al posto dei pulsanti. Il vantaggio è che non dobbiamo fornire forza per premere un pulsante e possiamo attivare un tasto senza toccarlo utilizzando i sensori tattili. La tecnologia di rilevamento tattile sta diventando popolare giorno dopo giorno. E nell'ultimo decennio circa, è diventato difficile immaginare il mondo senza elettronica sensibile al tocco. Entrambi i metodi tattili resistivi e capacitivi possono essere impiegati per sviluppare un sensore tattile, e in questo articolo discuteremo un modo grezzo di realizzare un sensore tattile capacitivo con ESP32, in precedenza abbiamo anche costruito un pulsante tattile capacitivo con Raspberry pi.
Sebbene i sensori tattili specifici dell'applicazione possano essere un po 'complicati, il principio fondamentale alla base di questa tecnologia rimane lo stesso, quindi in questo articolo ci concentreremo sullo sviluppo del nostro sensore tattile capacitivo con l'aiuto del nostro ESP32 preferito e un pezzo di rame- tavola rivestita.
Nel tutorial precedente, abbiamo fatto Control Home Lights with Touch usando TTP223 Touch Sensor e Arduino UNO, ora in questo progetto stiamo costruendo un sensore Touch per ESP32 ma lo stesso può essere usato anche per Arduino. Inoltre, in precedenza abbiamo utilizzato metodi di input basati sul tocco utilizzando touch pad capacitivi con diversi microcontrollori come l'interfaccia della tastiera tattile con il microcontrollore ATmega32 e il touchpad capacitivo con Raspberry Pi, puoi anche verificarli se interessati.
Che cos'è un sensore tattile capacitivo e come funziona?
I condensatori sono disponibili in molte forme. Il più comune una volta si presenta sotto forma di un pacchetto con piombo o un pacchetto a montaggio superficiale, ma per formare una capacità, abbiamo bisogno di conduttori separati da un materiale dielettrico. Quindi, è facile crearne uno. Un buon esempio potrebbe essere quello che svilupperemo nel seguente esempio.
Considerando il PCB inciso come materiale conduttivo, l'adesivo agisce come un materiale dielettrico, quindi ora resta la domanda, in che modo toccare il pad di rame fa cambiare la capacità in modo tale che il controller del sensore tattile sia in grado di rilevare? Un dito umano, ovviamente.
Bene, ci sono principalmente due ragioni: in primo luogo, una include le proprietà dielettriche del nostro dito, la seconda è a causa delle proprietà conduttive del nostro dito. Useremo un tocco basato su capacità. Quindi, concentreremo la nostra attenzione sul sensore tattile basato su capacità. Ma prima di discutere di tutto questo, è importante notare che non avviene alcuna conduzione e il dito è isolato, a causa della carta utilizzata nell'adesivo. Quindi, il dito non è in grado di scaricare il condensatore.
Dito che agisce come dielettrico:
È risaputo che un condensatore ha un valore costante che può essere realizzato dall'area delle due piastre conduttrici, dalla distanza tra le piastre e dalla sua costante dielettrica. Non possiamo cambiare l'area del condensatore semplicemente toccandolo, ma possiamo sicuramente cambiare la costante dielettrica del condensatore perché un dito umano ha una costante dielettrica diversa dal materiale che lo visualizza. Nel nostro caso, è aria, stiamo spostando l'aria con le nostre dita. Se stai chiedendo come? È perché la costante dielettrica dell'aria 1006 a temperatura ambiente a livello del mare e la costante dielettrica del dito è molto più alta intorno a 80 perché un dito umano è composto principalmente da acqua. Quindi, l'interazione del dito con il campo elettrico del condensatore provoca un aumento della costante dielettrica e quindi la capacità aumenta.
Ora che abbiamo capito il principio, passiamo alla realizzazione di veri e propri PCB.
Costruire un sensore tattile capacitivo a quattro vie
Il sensore tattile capacitivo utilizzato in questo progetto ha quattro canali ed è facile da realizzare. Di seguito abbiamo menzionato il processo dettagliato per crearne uno.
Per prima cosa, abbiamo realizzato il PCB per il sensore con l'aiuto dello strumento di progettazione PCB Eagle, che assomiglia all'immagine sottostante.
Con l'aiuto delle dimensioni e di Photoshop, abbiamo realizzato il modello e infine l'adesivo per il sensore, che assomiglia all'immagine qui sotto,
Ora, quando abbiamo finito con l'adesivo, passiamo alla creazione del modello di scheda rivestito effettivo che utilizzeremo per realizzare il nostro PCB con, che assomiglia all'immagine sottostante,
Ora possiamo stampare questo file e procedere con i processi di creazione di un PCB fatto in casa. SE sei nuovo, puoi consultare l'articolo su come costruire PCB a casa. Puoi anche scaricare i file PDF e Gerber richiesti dal link sottostante
- File GERBER per sensore tattile capacitivo a quattro canali
Una volta terminato, il PCB inciso effettivo appare come l'immagine qui sotto.
Ora è il momento di praticare dei fori e colleghiamo alcuni fili con il PCB. In modo che possiamo collegarlo con la scheda ESP32. Una volta fatto, assomiglia all'immagine qui sotto.
Poiché non abbiamo inserito i via nel PCB, la saldatura è andata dappertutto durante la saldatura, abbiamo corretto il nostro errore mettendo un foro sul PCB, che puoi trovare nella sezione di download sopra. Finalmente è arrivato il momento di mettere l'adesivo e renderlo definitivo. Che assomiglia all'immagine qui sotto.
Ora abbiamo finito con il pannello a sfioramento, è ora di passare alla creazione del circuito di controllo per il pannello a sfioramento.
Materiali necessari per il circuito a controllo tattile ESP32
I componenti necessari per costruire la sezione controller utilizzando ESP32 sono riportati di seguito, dovresti essere in grado di trovarne la maggior parte nel negozio di hobby locale.
Ho anche elencato i componenti nella tabella sottostante con il tipo e la quantità richiesta, poiché stiamo interfacciando un sensore tattile a quattro canali e controllando quattro carichi CA, utilizzeremo 4 relè per commutare il carico CA e 4 transistor per costruire il relè circuiti di pilotaggio.
Sl.No |
Parti |
genere |
Quantità |
1 |
Relè |
Interruttore |
4 |
2 |
BD139 |
Transistor |
4 |
3 |
Terminale a vite |
Terminale a vite 5mmx2 |
4 |
4 |
1N4007 |
Diodo |
5 |
5 |
0.1uF |
Condensatore |
1 |
6 |
100uF, 25V |
Condensatore |
2 |
7 |
LM7805 |
Regolatore di tensione |
1 |
8 |
1K |
Resistore |
4 |
9 |
560R |
Resistore |
4 |
10 |
LED ambra |
GUIDATO |
4 |
11 |
Intestazione maschile |
Connettore |
4 |
12 |
Intestazione femminile |
Connettore |
30 |
13 |
LED rosso |
GUIDATO |
1 |
14 |
Scheda di sviluppo ESP32 V1 |
Scheda ESP32 |
1 |
12 |
Bordo rivestito |
Generico 50 x 50 mm |
1 |
13 |
Cavi per ponticelli |
Fili |
4 |
14 |
Collegamento dei cavi |
Fili |
5 |
Circuito di controllo per il nostro sensore tattile capacitivo
L'immagine sotto mostra lo schema elettrico completo del nostro sensore tattile basato su ESP32.
Come puoi vedere, è un circuito molto semplice con componenti minimi richiesti.
Trattandosi di un semplice circuito con sensore tattile, può essere utile nei luoghi in cui si desidera interagire con un dispositivo tramite il tocco, ad esempio, invece di utilizzare un tipico interruttore montato su scheda, è possibile accendere / spegnere i propri elettrodomestici con il tocco.
Nello schema, un jack a barilotto CC viene utilizzato come ingresso in cui forniamo la potenza necessaria richiesta per alimentare il circuito, da lì abbiamo il nostro regolatore di tensione 7805 che converte l'ingresso CC non regolato in una CC costante di 5 V attraverso la quale stiamo fornendo l'alimentazione al modulo ESP32.
Successivamente, nello schema, abbiamo i nostri connettori touch sui pin 25, 26, 27, 28, dove collegheremo il touchpad.
Successivamente, abbiamo i nostri relè che vengono commutati tramite un transistor BD139, il diodo D2, D3, D4, D5 è lì per proteggere il circuito da qualsiasi tensione transitoria che viene generata quando il relè si attiva, i diodi in questa configurazione sono noti come diodo fly-back / diodo a ruota libera. I resistori 560R alla base di ciascun transistor vengono utilizzati per limitare il flusso di corrente attraverso la base.
Progettazione PCB per il circuito del sensore tattile capacitivo
Il PCB per il nostro circuito del sensore tattile è stato progettato per una scheda unilaterale. Abbiamo utilizzato Eagle per progettare il mio PCB, ma puoi utilizzare qualsiasi software di progettazione di tua scelta. L'immagine 2D del design della nostra tavola è mostrata di seguito.
Un diametro di traccia sufficiente è stato utilizzato per realizzare le tracce di alimentazione, che viene utilizzato per far fluire la corrente attraverso il circuito stampato. Mettiamo il terminale a vite in alto perché è molto più facile collegare il carico in questo modo e il connettore di alimentazione, che è un jack a barilotto CC, è stato posizionato sul lato, il che consente anche un facile accesso. Il file di progettazione completo per Eagle insieme al Gerber può essere scaricato dal link sottostante.
- File GERBER per circuito di controllo del sensore tattile basato su ESP32
Ora che il nostro design è pronto, è tempo di incidere e saldare la scheda. Dopo che il processo di incisione, perforazione e saldatura è terminato, la scheda appare come l'immagine mostrata di seguito,
Codice Arduino per sensore tattile capacitivo basato su ESP32
Per questo progetto, programmeremo l'ESP32 con un codice personalizzato che descriveremo a breve. Il codice è molto semplice e facile da usare, Iniziamo definendo tutti i pin richiesti, nel nostro caso definiamo i pin per i nostri sensori tattili e relè.
#define Relay_PIN_1 15 #define Relay_PIN_2 2 #define Relay_PIN_3 4 #define Relay_PIN_4 16 #define TOUCH_SENSOR_PIN_1 13 #define TOUCH_SENSOR_PIN_2 12 #define TOUCH_SENSOR_PIN_3_define
Successivamente, nella sezione setup, iniziamo inizializzando l'UART per il debug, successivamente abbiamo introdotto un ritardo di 1S che ci dà un po 'di tempo per aprire una finestra di Serial Monitor. Successivamente, usiamo la funzione pinMode di Arduinos per rendere i pin Relay come output, che segna la fine della sezione Setup () .
void setup () {Serial.begin (115200); ritardo (1000); pinMode (Relay_PIN_1, OUTPUT); pinMode (Relay_PIN_2, OUTPUT); pinMode (Relay_PIN_3, OUTPUT); pinMode (Relay_PIN_4, OUTPUT); }
Iniziamo la nostra sezione di loop con un'istruzione if , la funzione incorporata touchRead (pin_no) viene utilizzata per determinare se un pin è stato toccato o meno. La funzione touchRead (pin_no) restituisce un intervallo di valori interi (0-100), il valore rimane sempre vicino a 100, ma se tocchiamo il pin selezionato, il valore scende quasi a zero e con l'aiuto del valore che cambia, possiamo determinare se il particolare pin è stato toccato da un dito o meno.
Nell'istruzione if , stiamo controllando qualsiasi cambiamento nei valori interi, e se il valore scende al di sotto di 28, possiamo essere sicuri di aver riconosciuto un tocco. Una volta che l' istruzione if diventa vera, aspettiamo 50 ms e controlliamo nuovamente il parametro, questo ci aiuterà a determinare se il valore del sensore è stato attivato in modo errato, dopodiché invertiamo lo stato del pin utilizzando digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) e il resto del codice rimane lo stesso.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("Il sensore uno è toccato"); digitalWrite (Relay_PIN_1,! digitalRead (Relay_PIN_1)); }} else if (touchRead (TOUCH_SENSOR_PIN_2) <28) {if (touchRead (TOUCH_SENSOR_PIN_2) <28) {Serial.println ("Sensor Two is touched"); digitalWrite (Relay_PIN_2,! digitalRead (Relay_PIN_2)); }} else if (touchRead (TOUCH_SENSOR_PIN_3) <28) {if (touchRead (TOUCH_SENSOR_PIN_3) <28) {Serial.println ("Sensor Three is touched"); digitalWrite (Relay_PIN_3,! digitalRead (Relay_PIN_3)); }} else if (touchRead (TOUCH_SENSOR_PIN_4) <28) {if (touchRead (TOUCH_SENSOR_PIN_4) <28) {Serial.println ("Sensor Four is touched"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Infine, terminiamo il nostro codice con altri 200 ms di ritardo di blocco.
Test del circuito del sensore tattile basato su ESP32
Trattandosi di un progetto molto semplice, il set di test è molto semplice, come puoi vedere, ho collegato 4 LED con resistenze che fungono da carichi, poiché è collegato al relè, puoi collegare facilmente qualsiasi carico fino a 3Amps.
Ulteriori miglioramenti
Sebbene il PCB sia semplice, c'è ancora spazio per miglioramenti come puoi vedere dal lato inferiore del PCB effettivo, ho collegato molte resistenze nel tentativo di collegare quattro LED di indicazione e la dimensione del PCB può anche essere ridotta se così diventa un requisito, Spero che l'articolo ti sia piaciuto e che abbia imparato qualcosa di utile. Se hai domande, puoi lasciarle nella sezione commenti qui sotto o utilizzare i nostri forum per pubblicare altre domande tecniche.