- Co je kapacitní dotykový senzor a jak funguje?
- Budování čtyřcestného kapacitního dotykového senzoru
- Materiály potřebné pro dotykový ovládaný obvod ESP32
- Ovládací obvod pro náš kapacitní dotykový senzor
- Návrh desky plošných spojů pro obvod kapacitního dotykového senzoru
- Arduino kód pro kapacitní dotykový senzor založený na ESP32
- Testování obvodu dotykového snímače založeného na ESP32
- Další vylepšení
V mnoha případech se místo tlačítek používají dotykové senzory. Výhodou je, že nemusíme vyvíjet sílu na stisknutí tlačítka a můžeme klávesu aktivovat, aniž bychom se jí dotkli pomocí dotykových senzorů. Technologie snímání dotykem se každým dnem stává populární. A během posledního desetiletí bylo obtížné si představit svět bez dotykové elektroniky. Obě odporové a kapacitní dotykové metody mohou být použity k vytvoření senzor dotykové, av tomto článku se budeme diskutovat o surový způsob výroby kapacitní dotykový senzor s ESP32, dříve jsme také vybudovat kapacitní dotykový tlačítka s Raspberry Pi.
Ačkoli dotykové senzory specifické pro aplikaci mohou být trochu komplikované, základní princip této technologie zůstává stejný, takže v tomto článku se zaměříme na vývoj našeho kapacitního dotykového senzoru pomocí našeho oblíbeného ESP32 a kusu mědi plátovaná deska.
V předchozím tutoriálu jsme provedli Control Home Lights with Touch pomocí TTP223 Touch Sensor a Arduino UNO. Nyní v tomto projektu stavíme Touch senzor pro ESP32, ale to samé lze použít i pro Arduino. Také jsme dříve používali dotykové vstupní metody využívající kapacitní dotykové podložky s různými mikrokontroléry, jako je rozhraní Touch Keypad Interfacing s ATmega32 Microcontroller a Capacitive TouchPad s Raspberry Pi, v případě zájmu si je také můžete prohlédnout.
Co je kapacitní dotykový senzor a jak funguje?
Kondenzátory mají mnoho podob. Nejběžnější kdysi přichází ve formě vývodového balení nebo balení pro povrchovou montáž, ale pro vytvoření kapacity potřebujeme vodiče oddělené dielektrickým materiálem. Je tedy snadné jej vytvořit. Dobrým příkladem by byl příklad, který si v následujícím příkladu ukážeme.
Vzhledem k tomu, že leptaná deska plošných spojů je vodivý materiál, funguje samolepka jako dielektrický materiál, takže nyní zůstává otázkou, jak dotek měděné podložky způsobí změnu kapacity takovým způsobem, že je dotykový senzor schopen detekovat? Lidský prst, samozřejmě.
Existují hlavně dva důvody: Za prvé, jeden zahrnuje dielektrické vlastnosti našeho prstu, druhý je kvůli vodivým vlastnostem našeho prstu. Budeme používat kapacitní dotykové ovládání. Zaměříme se tedy na kapacitní dotykový senzor. Ale než o tom všem pojednáme, je důležité si uvědomit, že nedochází k žádnému vedení a prst je izolován kvůli papíru použitému v nálepce. Prst tedy není schopen vybít kondenzátor.
Prst jako dielektrikum:
Je všeobecně známo, že kondenzátor má konstantní hodnotu, kterou lze realizovat pomocí plochy dvou vodivých desek, vzdálenosti mezi deskami a její dielektrické konstanty. Nemůžeme změnit plochu kondenzátoru pouhým dotykem, ale můžeme jistě změnit dielektrickou konstantu kondenzátoru, protože lidský prst má jinou dielektrickou konstantu než materiál, který ji zobrazuje. V našem případě je to vzduch, vytlačujeme vzduch prsty. Pokud se ptáte jak? Je to proto, že dielektrická konstanta vzduchu 1006 při pokojové teplotě hladiny moře a dielektrická konstanta prstu je mnohem vyšší kolem 80, protože lidský prst se skládá převážně z vody. Interakce prstu s elektrickým polem kondenzátoru tedy způsobuje zvýšení dielektrické konstanty, a proto se zvyšuje kapacita.
Nyní, když jsme pochopili principál, pojďme k výrobě skutečných PCB.
Budování čtyřcestného kapacitního dotykového senzoru
Kapacitní dotykový senzor použitý v tomto projektu má čtyři kanály, a to je snadné. Níže jsme zmínili podrobný postup výroby.
Nejprve jsme vyrobili desku plošných spojů pro snímač pomocí návrhového nástroje pro desku plošných spojů Eagle, který vypadá podobně jako na obrázku níže.
S pomocí rozměrů a Photoshopu jsme vytvořili šablonu a nakonec nálepku pro senzor, která vypadá jako obrázek níže,
Nyní, jak jsme s nálepkou hotovi, přejdeme k výrobě skutečné šablony plátované desky, kterou budeme používat pro výrobu naší desky plošných spojů, která vypadá podobně jako obrázek níže,
Nyní můžeme tento soubor vytisknout a pokračovat v procesech výroby domácí desky plošných spojů. Pokud jste noví, můžete se podívat na článek o tom, jak si doma vyrobit desku plošných spojů. Můžete si také stáhnout požadované soubory PDF a Gerber z níže uvedeného odkazu
- Soubor GERBER pro čtyřkanálový kapacitní dotykový senzor
Jakmile je hotový, leptaná deska plošných spojů vypadá jako na obrázku níže.
Nyní je čas vyvrtat nějaké otvory a některé vodiče připojíme k desce plošných spojů. Abychom jej mohli propojit s deskou ESP32. Po dokončení to vypadá jako na obrázku níže.
Protože jsme do PCB nevložili průchody, pájka se při pájení dostala všude, napravili jsme naši chybu tím, že jsme do PCB vložili otvor, který najdete ve výše uvedené sekci ke stažení. Nakonec nastal čas nalepit nálepku a učinit ji konečnou. Který vypadá podobně jako obrázek níže.
Nyní jsme hotovi s dotykovým panelem, je čas přejít k vytvoření ovládacího obvodu pro dotykový panel.
Materiály potřebné pro dotykový ovládaný obvod ESP32
Níže jsou uvedeny komponenty potřebné k sestavení sekce řadiče pomocí ESP32, většinu z nich byste měli najít v místním hobby obchodě.
Také jsem uvedl komponenty v tabulce níže s požadovaným typem a množstvím, protože propojujeme čtyřkanálový dotykový senzor a ovládáme čtyři střídavé zátěže, použijeme 4 relé k přepnutí zátěže AC a 4 tranzistory k sestavení relé budicí obvody.
Sl. Č |
Díly |
Typ |
Množství |
1 |
Relé |
Přepínač |
4 |
2 |
BD139 |
Tranzistor |
4 |
3 |
Šroubová svorka |
Šroubová svorka 5mmx2 |
4 |
4 |
1N4007 |
Dioda |
5 |
5 |
0,1 μF |
Kondenzátor |
1 |
6 |
100uF, 25V |
Kondenzátor |
2 |
7 |
LM7805 |
Regulátor napětí |
1 |
8 |
1 tis |
Rezistor |
4 |
9 |
560R |
Rezistor |
4 |
10 |
Oranžová LED |
VEDENÝ |
4 |
11 |
Mužský záhlaví |
Konektor |
4 |
12 |
Ženský záhlaví |
Konektor |
30 |
13 |
Červená LED |
VEDENÝ |
1 |
14 |
ESP32 Dev Board V1 |
Deska ESP32 |
1 |
12 |
Opláštěná deska |
Obecné 50x 50mm |
1 |
13 |
Propojovací dráty |
Dráty |
4 |
14 |
Připojení vodičů |
Dráty |
5 |
Ovládací obvod pro náš kapacitní dotykový senzor
Níže uvedený obrázek ukazuje kompletní schéma zapojení pro náš dotykový senzor založený na ESP32.
Jak vidíte, jedná se o velmi jednoduchý obvod s minimálními požadovanými součástmi.
Jelikož se jedná o jednoduchý obvod dotykového senzoru, může být užitečný na místech, kde chcete komunikovat se zařízením pomocí dotyku, například místo typického spínače namontovaného na desce můžete zařízení zapnout / vypnout dotykem.
Ve schématu se jako vstup používá DC barel jack, kde poskytujeme potřebný výkon potřebný k napájení obvodu, odtud máme náš regulátor napětí 7805, který převádí neregulovaný stejnosměrný vstup na konstantní 5V DC, kterým poskytujeme napájení modulu ESP32.
Dále ve schématu máme dotykové konektory na pinech 25, 26, 27, 28, kde se chystáme připojit touchpad.
Dále máme naše relé, která jsou spínána pomocí tranzistoru BD139, je zde dioda D2, D3, D4, D5, která chrání obvod před jakýmkoli přechodovým napětím, které je generováno při přepnutí relé, diody v této konfiguraci jsou známé jako zpětná dioda / dioda s volnoběžkou. Rezistory 560R na základně každého tranzistoru se používají k omezení toku proudu základnou.
Návrh desky plošných spojů pro obvod kapacitního dotykového senzoru
Deska plošných spojů pro náš obvod dotykového senzoru byla navržena pro jednostrannou desku. K návrhu mé desky plošných spojů jsme použili Eagle, ale můžete použít jakýkoli designový software podle vašeho výběru. 2D obrázek našeho designu desky je uveden níže.
K výrobě výkonových stop byl použit dostatečný průměr stopy, který slouží k protékání proudu deskou plošných spojů. Dali jsme šroubovou svorku nahoře, protože je tak mnohem jednodušší připojit vaši zátěž, a napájecí konektor, což je stejnosměrný konektor, byl umístěn na boku, což také umožňuje snadný přístup. Celý návrhový soubor pro Eagle spolu s Gerberem si můžete stáhnout z níže uvedeného odkazu.
- Soubor GERBER pro ovládací obvod dotykového snímače ESP32
Nyní, když je náš Design připraven, je čas leptat a pájet desku. Po dokončení procesu leptání, vrtání a pájení vypadá deska jako na obrázku níže,
Arduino kód pro kapacitní dotykový senzor založený na ESP32
Pro tento projekt naprogramujeme ESP32 s vlastním kódem, který brzy popíšeme. Tento kód je velmi jednoduchý a snadno použitelný, Začneme definováním všech požadovaných pinů, v našem případě definujeme piny pro naše dotykové senzory a 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 14 #define TOUCH_SENSOR_PIN
Dále v sekci nastavení začneme inicializací UART pro ladění, dále jsme zavedli zpoždění 1S, což nám dává trochu času na otevření okna Serial Monitor. Dále použijeme funkci Arduinos pinMode, abychom vytvořili reléové piny jako výstup, který označuje konec sekce Setup () .
void setup () {Serial.begin (115200); zpoždění (1000); pinMode (Relay_PIN_1, VÝSTUP); pinMode (Relay_PIN_2, VÝSTUP); pinMode (Relay_PIN_3, VÝSTUP); pinMode (Relay_PIN_4, OUTPUT); }
Začneme naše smyčky sekci s pokud prohlášení, funkce vestavěný touchRead (pin_no) se používá k určení, zda je kolík se dotkla či nikoliv. Funkce touchRead (pin_no) vrací rozsahy celočíselných hodnot (0 - 100), hodnota zůstává stále kolem 100, ale pokud se dotkneme vybraného pinu, hodnota klesne téměř na nulu a pomocí měnící se hodnoty můžeme určit, zda se konkrétního kolíku dotkl prst nebo ne.
V příkazu if kontrolujeme jakoukoli změnu celočíselných hodnot a pokud hodnota dosáhne pod 28, můžeme si být jisti, že jsme potvrdili dotek. Jakmile se příkaz if stane pravdivým, počkáme 50 ms a znovu zkontrolujeme parametr, což nám pomůže určit, zda byla hodnota senzoru spuštěna falešně, poté invertujeme stav pinu pomocí digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) a zbytek kódu zůstane stejný.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("Dotkne se senzoru jeden"); 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 ("Touch Two is touch"); 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 ("Dotkl se senzoru tři"); 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 ("Touch Four is touch"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Nakonec náš kód ukončíme dalším 200 ms blokačním zpožděním.
Testování obvodu dotykového snímače založeného na ESP32
Jelikož se jedná o velmi jednoduchý projekt, testovací sada je velmi jednoduchá, jak vidíte, připojil jsem 4 LED diody s rezistory, které fungují jako zátěže, protože jsou propojeny s relé, můžete snadno připojit jakoukoli zátěž až do 3 Amp.
Další vylepšení
Ačkoli je deska plošných spojů jednoduchá, stále existuje prostor pro vylepšení, jak vidíte ze spodní strany skutečné desky plošných spojů, připojil jsem mnoho rezistorů ve snaze připojit čtyři indikační LED diody a velikost desky plošných spojů lze také zmenšit, pokud stává se požadavkem, Doufám, že se vám článek líbil a naučili jste se něco užitečného. Máte-li jakékoli dotazy, můžete je zanechat v sekci komentářů níže nebo použít naše fóra k odeslání dalších technických otázek.