- Što je kapacitivni osjetnik na dodir i kako funkcionira?
- Izgradnja četverosmjernog kapacitivnog osjetnika dodira
- Materijali potrebni za krug upravljan dodirom ESP32
- Upravljački krug za naš kapacitivni osjetnik dodira
- Dizajn PCB-a za kapacitivni krug osjetnika dodira
- Arduino kôd za kapacitivni senzor osjetljiv na dodir na bazi ESP32
- Testiranje sklopa osjetnika dodira na temelju ESP32
- Daljnja poboljšanja
U mnogim se slučajevima umjesto tipki koriste senzori dodira. Prednost je u tome što ne moramo prisiljavati pritisak na gumb, a tipku možemo aktivirati bez dodirivanja pomoću senzora za dodir. Tehnologija osjetljivosti dodira postaje popularna iz dana u dan. I u posljednjem desetak godina ili tako nekako, postalo je teško zamisliti svijet bez elektronike osjetljive na dodir. Oba buntovna i Kapacitivni touch metode mogu se koristiti za razvoj senzor osjetljiv na dodir, te u ovom članku, mi ćemo raspravljati grubi način izrade Kapacitivni senzor osjetljiv na dodir s ESP32, već smo i izgraditi kapacitivni gumb osjetljiv na dodir s malina pi.
Iako senzori dodira specifični za primjenu mogu biti malo komplicirani, temeljni princip koji stoji u osnovi ove tehnologije ostaje isti, pa ćemo se u ovom članku usredotočiti na razvoj našeg kapacitivnog osjetnika dodira uz pomoć našeg omiljenog ESP32 i komada bakra. odjevena daska.
U prethodnom uputstvu izvršili smo kontrolu kućnih svjetala dodirom pomoću TTP223 osjetnika dodira i Arduino UNO. Sada u ovom projektu gradimo osjetnik dodira za ESP32, ali isti se može koristiti i za Arduino. Također, prethodno smo koristili metode unosa zasnovane na dodiru pomoću kapacitivnih dodirnih pločica s različitim mikrokontrolerima kao što su sučelja dodirne tipkovnice s mikrokontrolerom ATmega32 i kapacitivna dodirna pločica s Raspberry Pi, a također ih možete provjeriti ako su zainteresirani.
Što je kapacitivni osjetnik na dodir i kako funkcionira?
Kondenzatori postoje u mnogim oblicima. Najčešći jednom dolazi u obliku olovnog paketa ili ambalaže za površinski nosač, ali da bismo stvorili kapacitet, potrebni su nam vodiči odvojeni dielektričnim materijalom. Stoga ga je lako stvoriti. Dobar primjer bio bi onaj koji ćemo razviti u sljedećem primjeru.

Uzimajući u obzir naječeni PCB kao provodni materijal, naljepnica djeluje kao dielektrični materijal, pa sada ostaje pitanje, kako dodirivanje bakrene pločice uzrokuje promjenu kapacitivnosti na takav način da je kontroler osjetnika dodira u stanju otkriti? Ljudski prst, naravno.
Pa, uglavnom postoje dva razloga: Prvi, jedan uključuje dielektrična svojstva našeg prsta, drugi je zbog provodnih svojstava našeg prsta. Koristit ćemo kapacitivni dodir. Dakle, svoj ćemo fokus usmjeriti prema kapacitivnom senzoru dodira. Ali prije nego što razgovaramo o svemu ovome, važno je napomenuti da se ne odvija provodljivost, a prst je izoliran zbog papira koji se koristi u naljepnici. Dakle, prst ne može isprazniti kondenzator.
Prst glumi dielektrik:
Uobičajeno je poznato da kondenzator ima konstantnu vrijednost koja se može ostvariti površinom dviju provodnih ploča, razmakom između ploča i njegovom dielektričnom konstantom. Ne možemo promijeniti područje kondenzatora samo dodirivanjem, ali možemo sigurno promijeniti dielektričnu konstantu kondenzatora, jer ljudski prst ima drugačiju dielektričnu konstantu od materijala koji ga prikazuje. U našem slučaju to je zrak, mi istiskujemo zrak prstima. Ako pitate kako? To je zato što su dielektrična konstanta zraka 1006 na sobnoj temperaturi na razini mora i dielektrična konstanta prsta puno veće oko 80, jer se ljudski prst sastoji uglavnom od vode. Dakle, interakcija prsta s električnim poljem kondenzatora uzrokuje povećanje dielektrične konstante, pa se kapacitet povećava.
Sad kad smo shvatili glavno, prijeđimo na izradu stvarnih PCB-a.
Izgradnja četverosmjernog kapacitivnog osjetnika dodira
Kapacitivni senzor osjetljiv na dodir korišten u ovom projektu ima četiri kanala, i to je lako napraviti. U nastavku smo spomenuli detaljan postupak izrade.
Prvo smo PCB za senzor napravili uz pomoć alata za dizajn Eagle PCB, koji izgleda otprilike kao na slici dolje.

Uz pomoć dimenzija i Photoshopa napravili smo predložak i na kraju naljepnicu za senzor, koja izgleda otprilike kao slika ispod,

Sada, kad smo završili s naljepnicom, prelazimo na izradu stvarnog predloška obložene ploče koji ćemo koristiti za izradu naše PCB-a, koji izgleda nekako poput donje slike,

Sada možemo ispisati ovu datoteku i nastaviti s postupcima izrade domaće PCB. AKO ste novi, možete pogledati članak o tome kako napraviti PCB kod kuće. Također možete preuzeti potrebne PDF i Gerber datoteke s donje veze
- GERBER datoteka za četverokanalni kapacitivni senzor dodira
Jednom završen, stvarni ugravirani PCB izgleda kao na slici dolje.

Sada je vrijeme da izbušimo neke rupe, a mi povežemo neke žice s PCB-om. Tako da ga možemo povezati s pločom ESP32. Nakon završetka izgleda kao na donjoj slici.

Kako u PCB nismo stavili prolaze, lem se posvuda pojavio tijekom lemljenja, ispravili smo svoju pogrešku stavljanjem izbušene rupe na PCB, što možete pronaći u gornjem odjeljku za preuzimanje. Napokon je došlo vrijeme da naljepimo naljepnicu i učinimo je konačnom. Što izgleda nekako poput donje slike.

Sad smo završili s dodirnom pločom, vrijeme je da prijeđemo na izradu upravljačkog kruga dodirne ploče.
Materijali potrebni za krug upravljan dodirom ESP32
Komponente potrebne za izgradnju odjeljka kontrolera pomoću ESP32 dane su u nastavku, a većinu biste ih trebali moći pronaći u lokalnoj hobi trgovini.

Također sam naveo komponente u donjoj tablici s potrebnom vrstom i količinom, budući da povezujemo četverokanalni osjetnik dodira i kontroliramo četiri izmjenična opterećenja, koristit ćemo 4 releja za prebacivanje izmjeničnog opterećenja i 4 tranzistora za izgradnju releja sklopovi vozača.
|
Sl.br. |
Dijelovi |
Tip |
Količina |
|
1 |
Relej |
Sklopka |
4 |
|
2 |
BD139 |
Tranzistor |
4 |
|
3 |
Vijčani priključak |
Vijčana stezaljka 5mmx2 |
4 |
|
4 |
1N4007 |
Dioda |
5 |
|
5 |
0,1uF |
Kondenzator |
1 |
|
6 |
100uF, 25V |
Kondenzator |
2 |
|
7 |
LM7805 |
Regulator napona |
1 |
|
8 |
1K |
Otpornik |
4 |
|
9 |
560R |
Otpornik |
4 |
|
10 |
Jantarna LED |
LED |
4 |
|
11 |
Muško zaglavlje |
Konektor |
4 |
|
12 |
Žensko zaglavlje |
Konektor |
30 |
|
13 |
Crvena LED |
LED |
1 |
|
14 |
ESP32 razvojna ploča V1 |
ESP32 ploča |
1 |
|
12 |
Odjevena daska |
Generički 50x 50mm |
1 |
|
13 |
Jumper žice |
Žice |
4 |
|
14 |
Spajanje žica |
Žice |
5 |
Upravljački krug za naš kapacitivni osjetnik dodira
Sljedeća slika prikazuje cjeloviti dijagram sklopa za naš osjetnik dodira na temelju ESP32.
Kao što vidite, riječ je o vrlo jednostavnom krugu s minimalno potrebnim komponentama.

Budući da se radi o jednostavnom krugu osjetnika dodira, može biti koristan na mjestima na kojima želite komunicirati s uređajem dodirom, na primjer, umjesto da koristite tipični prekidač postavljen na ploču, svoje uređaje možete uključiti / isključiti dodirom.
U shemi se DC bačvasta utičnica koristi kao ulaz gdje osiguravamo potrebnu snagu potrebnu za napajanje kruga, odatle imamo svoj regulator napona 7805 koji neregulirani istosmjerni ulaz pretvara u konstantni 5V DC kroz koji pružamo napajanje modula ESP32.
Dalje, u shemi imamo konektore za dodir na pin 25, 26, 27, 28, gdje ćemo spojiti dodirnu pločicu.
Dalje, imamo svoje releje koji se prebacuju preko BD139 tranzistora, dioda D2, D3, D4, D5 je tu da zaštiti krug od bilo kojeg prijelaznog napona koji nastaje kad se relej prebaci, diode u ovoj konfiguraciji poznate su kao povratna dioda / dioda slobodnog kotača. Otpornici 560R na bazi svakog tranzistora koriste se za ograničavanje protoka struje kroz bazu.
Dizajn PCB-a za kapacitivni krug osjetnika dodira
PCB za naš krug osjetnika dodira dizajniran je za jednostranu ploču. Eagle smo koristili za dizajn moje PCB-a, ali možete koristiti bilo koji softver za dizajn po vašem izboru. 2D slika našeg dizajna ploče prikazana je u nastavku.

Za izradu energetskih tračnica korišten je dovoljan promjer traga koji služi za protok struje kroz pločicu. Terminal s vijkom postavili smo na vrh jer je puno lakše na taj način povezati svoj teret, a bočni priključak za napajanje, koji je DC bačva, postavljen je sa strane, što također omogućuje jednostavan pristup. Kompletnu datoteku dizajna za Eagle zajedno s Gerberom možete preuzeti s donje poveznice.
- GERBER datoteka za upravljački krug osjetnika dodira na bazi ESP32
Sad, kad je naš dizajn spreman, vrijeme je da se ureže i lemi ploča. Po završetku jetkanja, bušenja i lemljenja ploča izgleda kao slika prikazana dolje,

Arduino kôd za kapacitivni senzor osjetljiv na dodir na bazi ESP32
Za ovaj ćemo projekt programirati ESP32 s prilagođenim kodom koji ćemo uskoro opisati. Kôd je vrlo jednostavan i lagan za upotrebu, Počinjemo s definiranjem svih potrebnih pinova, u našem slučaju definiramo pinove za naše senzore i releje dodira.
#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 27
Dalje, u odjeljku za postavljanje započinjemo inicijalizacijom UART-a za otklanjanje pogrešaka, zatim smo uveli kašnjenje od 1S što nam daje malo vremena za otvaranje prozora serijskog monitora. Dalje, koristimo funkciju Arduinos pinMode za izradu relejnih pinova kao izlaza, što označava kraj odjeljka Setup () .
void setup () {Serial.begin (115200); kašnjenje (1000); pinMode (relej_PIN_1, IZLAZ); pinMode (relej_PIN_2, IZLAZ); pinMode (relej_PIN_3, IZLAZ); pinMode (relej_PIN_4, IZLAZ); }
Mi smo započeli našu okvirnu odjeljak s ako izjavi, Ugrađen funkcija touchRead (pin_no) se koristi kako bi se utvrdilo je li igla je dotaknu ili ne. Funkcija touchRead (pin_no) vraća cjelobrojne vrijednosti raspona (0 - 100), vrijednost ostaje cijelo vrijeme blizu 100, ali ako dodirnemo odabrani pin, vrijednost pada na gotovo nulu, a uz pomoć promjene vrijednosti, možemo utvrditi je li određenu iglu dodirnuo prst ili ne.
U naredbi if provjeravamo ima li promjena u cjelobrojnim vrijednostima, a ako vrijednost dosegne ispod 28, možemo biti sigurni da smo prepoznali dodir. Nakon što izjava if postane istinita, čekamo 50 ms i ponovno provjeravamo parametar, to će nam pomoći da utvrdimo je li vrijednost senzora lažno okidana , a nakon toga invertiramo status pin-a pomoću digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) , a ostatak koda ostaje isti.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("Senzor je dodirnut"); 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 ("Senzor dva je dodirnut"); 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 ("Dodirnut je senzor tri"); 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 ("Dodirnut je senzor četiri"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Na kraju, naš kod završavamo s još 200 ms kašnjenja u blokiranju.
Testiranje sklopa osjetnika dodira na temelju ESP32
Kako je ovo vrlo jednostavan projekt, testni skup je vrlo jednostavan, kao što vidite, spojio sam 4 LED diode s otpornicima koji djeluju kao opterećenja, jer je povezan s relejem, lako možete spojiti bilo koje opterećenje do 3Ampra.
Daljnja poboljšanja
Iako je PCB jednostavan, još uvijek ima mjesta za poboljšanja, kao što možete vidjeti s donje strane stvarne PCB-a, spojio sam mnogo otpora pokušavajući spojiti četiri indikacijske LED diode, a veličina PCB-a također se može smanjiti ako se to učini postaje uvjet, Nadam se da ste uživali u članku i naučili nešto korisno. Ako imate bilo kakvih pitanja, možete ih ostaviti u odjeljku za komentare u nastavku ili na našim forumima objaviti druga tehnička pitanja.
