- Mikä on kapasitiivinen kosketusanturi ja miten se toimii?
- Nelisuuntaisen kapasitiivisen kosketusanturin rakentaminen
- Tarvittavat materiaalit ESP32-kosketusohjatulle piirille
- Kapasitiivisen kosketusanturin ohjauspiiri
- Piirilevyn suunnittelu kapasitiiviselle kosketusanturipiirille
- Arduino-koodi ESP32-pohjaiselle kapasitiiviselle kosketusanturille
- ESP32-pohjaisen kosketusanturipiirin testaus
- Lisäparannuksia
Monissa tapauksissa kosketusantureita käytetään painikkeiden sijaan. Etuna on, että meidän ei tarvitse antaa voimaa painaa painiketta, ja voimme aktivoida avaimen koskematta siihen kosketusantureilla. Kosketustunnistustekniikka on tulossa suosittu päivittäin. Noin viime vuosikymmenen aikana on vaikea kuvitella maailmaa ilman kosketusherkää elektroniikkaa. Sekä resistiivisiä että kapasitiivisia kosketusmenetelmiä voidaan käyttää kosketusanturin kehittämiseen, ja tässä artikkelissa käsitellään raakaa tapaa valmistaa kapasitiivinen kosketusanturi ESP32: n kanssa. Aikaisemmin olemme rakentaneet myös Kapasitiivisen kosketuspainikkeen Raspberry pi: llä.
Vaikka sovelluskohtaiset kosketusanturit voivat olla hieman monimutkaisia, tämän tekniikan perusperiaate pysyy samana, joten tässä artikkelissa keskitymme kapasitiivisen kosketusanturin kehittämiseen suosikkimme ESP32: n ja pala kuparia - verhottu lauta.
Edellisessä opetusohjelmassa olemme tehneet ohjauksen kotivalot kosketuksella TTP223-kosketusanturilla ja Arduino UNO: lla. Nyt tässä projektissa rakennamme kosketusanturia ESP32: lle, mutta samaa voidaan käyttää myös Arduinoon. Aikaisemmin käytimme myös kosketuspohjaisia syöttötapoja käyttämällä kapasitiivisia kosketuslevyjä erilaisilla mikrokontrollereilla, kuten kosketusnäppäimistön liitäntä ATmega32-mikrokontrolleriin ja kapasitiivinen kosketusalusta Raspberry Pi: llä, voit myös tarkistaa ne, jos olet kiinnostunut.
Mikä on kapasitiivinen kosketusanturi ja miten se toimii?
Kondensaattoreita on monenlaisia. Yleisimpiä ovat kerran lyijypakkaus tai pinta-asennettava pakkaus e, mutta kapasitanssin muodostamiseksi tarvitsemme johtimia, jotka on erotettu dielektrisellä materiaalilla. Siksi se on helppo luoda. Hyvä esimerkki on se, jonka aiomme kehittää seuraavassa esimerkissä.
Ottaen huomioon etsattu PCB kuin johtavaa materiaalia, tarra toimii dielektrisestä materiaalista, joten nyt kysymykseen edelleen, miten koskettamalla kupari tyyny aiheuttaa kapasitanssin muutoksiin siten, että kosketus-anturi ohjain pystyy havaitsemaan? Tietysti ihmisen sormi.
No, on pääasiassa kahta syytä: Ensinnäkin yksi sisältää sormemme dielektriset ominaisuudet, toinen johtuu sormemme johtavista ominaisuuksista. Aiomme käyttää kapasitiivista kosketusta. Joten, me suuntaamme kohti kapasitiivista kosketusanturia. Mutta ennen kuin keskustelemme tästä kaikesta, on tärkeää huomata, että johtamista ei tapahdu, ja sormi on eristetty tarrassa käytetyn paperin takia. Joten sormi ei pysty purkamaan kondensaattoria.
Dielektrisenä toimiva sormi:
On yleisesti tiedossa, että kondensaattorilla on vakioarvo, joka voidaan toteuttaa kahden johtavan levyn pinta-alasta, levyjen välisestä etäisyydestä ja sen dielektrisestä vakiosta. Emme voi muuttaa kondensaattorin aluetta vain koskettamalla sitä, mutta voimme varmasti muuttaa kondensaattorin dielektrisyysvakion, koska ihmisen sormella on erilainen dielektrinen vakio kuin sitä näyttävällä materiaalilla. Meidän tapauksessamme se on ilmaa, syrjäytämme ilmaa sormillamme. Jos kysyt miten? Se johtuu siitä, että ilman 1006 dielektrisyysvakio merenpinnan huonelämpötilassa ja sormen dielektrisyysvakio on paljon korkeampi kuin 80, koska ihmisen sormi koostuu pääosin vedestä. Joten sormen vuorovaikutus kondensaattorin sähkökentän kanssa aiheuttaa dielektrisen vakion kasvun, joten kapasitanssi kasvaa.
Nyt kun olemme ymmärtäneet periaatteen, siirrytään todellisten PCB: iden valmistukseen.
Nelisuuntaisen kapasitiivisen kosketusanturin rakentaminen
Kapasitiivinen kosketusnäyttö anturi käyttää tässä projektissa on neljä kanavaa, ja se on helppo tehdä. Alla olemme maininneet yksityiskohtaisen prosessin sellaisen tekemiseksi.
Ensin teimme anturille piirilevyn Eagle-piirilevyn suunnittelutyökalun avulla, joka näyttää jotain alla olevan kuvan kaltaista.
Avulla on mitat ja Photoshop, teimme mallin ja lopulta tarra anturin, joka näyttää jotain alla olevassa kuvassa,
Nyt kun tarra on tehty, siirrymme tekemään todellisen verhokorttimallin, jota aiomme käyttää piirilevyn valmistamiseen, joka näyttää jotain alla olevasta kuvasta,
Nyt voimme tulostaa tämän tiedoston ja jatkaa prosessia kotitekoisen piirilevyn valmistamiseksi. JOS olet uusi, voit lukea artikkelin PCB: n rakentamisesta kotona. Voit myös ladata tarvittavat PDF- ja Gerber-tiedostot alla olevasta linkistä
- GERBER-tiedosto nelikanavaiselle kapasitiiviselle kosketusanturille
Kun se on valmis, varsinainen etsattu piirilevy näyttää alla olevalta kuvalta.
Nyt on aika porata joitain reikiä, ja yhdistämme joitain johtoja piirilevyyn. Jotta voimme liittää sen ESP32-korttiin. Kun se on valmis, se näyttää alla olevalta kuvalta.
Koska emme laittaneet via-levyjä piirilevyyn, juote pääsi kaikkialle juottamisen aikana, korjaimme virheemme asettamalla porausreiän piirilevylle, jonka löydät yllä olevasta latausosasta. Viimeinkin oli aika laittaa tarra päälle ja tehdä siitä lopullinen. Joka näyttää jotain alla olevalta kuvalta.
Nyt olemme tehneet kosketuspaneelin, on aika siirtyä kosketuspaneelin ohjauspiirin tekemiseen.
Tarvittavat materiaalit ESP32-kosketusohjatulle piirille
Ohjainosan rakentamiseen tarvittavat komponentit ESP32: n avulla on esitetty alla, ja sinun pitäisi pystyä löytämään suurin osa niistä paikallisesta harrastekaupasta.
Olen myös luetellut alla olevan taulukon komponentit vaaditulla tyypillä ja määrällä, koska liitämme nelikanavaisen kosketusanturin ja ohjaamme neljää vaihtovirtaa, käytämme 4 relettä vaihtovirran kuormitukseen ja 4 transistoria releen rakentamiseen ohjainpiirit.
Sl. Ei |
Osat |
Tyyppi |
Määrä |
1 |
Rele |
Vaihtaa |
4 |
2 |
BD139 |
Transistori |
4 |
3 |
Ruuviliitin |
Ruuviliitin 5mmx2 |
4 |
4 |
1N4007 |
Diodi |
5 |
5 |
0,1 uF |
Kondensaattori |
1 |
6 |
100uF, 25V |
Kondensaattori |
2 |
7 |
LM7805 |
Jännitteensäädin |
1 |
8 |
1 kt |
Vastus |
4 |
9 |
560R |
Vastus |
4 |
10 |
Keltainen LED |
LED |
4 |
11 |
Mies otsikko |
Liitin |
4 |
12 |
Nainen otsikko |
Liitin |
30 |
13 |
Punainen LED |
LED |
1 |
14 |
ESP32 Dev Board V1 |
ESP32-kortti |
1 |
12 |
Verhottu lauta |
Yleinen 50x50mm |
1 |
13 |
Neulalangat |
Johdot |
4 |
14 |
Johtojen liittäminen |
Johdot |
5 |
Kapasitiivisen kosketusanturin ohjauspiiri
Alla olevassa kuvassa näkyy ESP32-pohjaisen kosketusanturin täydellinen kytkentäkaavio .
Kuten näette, se on hyvin yksinkertainen piiri, jossa vaaditaan vähimmäiskomponentteja.
Koska se on yksinkertainen kosketusanturipiiri, se voi olla hyödyllinen esimerkiksi paikoissa, joissa haluat olla vuorovaikutuksessa laitteen kanssa kosketuksella, esimerkiksi kytkemällä päälle / pois päältä laitteesi kosketuksella sen sijaan, että käyttäisit tyypillistä lautaasennettua kytkintä.
Kaaviossa DC-tynnyriliitintä käytetään tulona, jossa tarjoamme tarvittavan virran piirin virran saamiseksi, sieltä meillä on 7805-jännitesäädin, joka muuntaa säätelemättömän DC-tulon vakiona 5 V DC: ksi, jonka kautta tarjoamme virtaa ESP32-moduuliin.
Seuraavaksi kaaviossa meillä on kosketusliittimet tapissa 25, 26, 27, 28, johon aiomme liittää kosketuslevyn.
Seuraavaksi meillä on releemme, jotka kytketään BD139-transistorin kautta, diodit D2, D3, D4, D5 ovat siellä suojaamaan piiriä kaikilta transientin jännitteiltä, jotka syntyvät, kun rele vaihtaa, diodit tässä kokoonpanossa tunnetaan nimellä paluu diodi / vapaasti pyörivä diodi. Kummankin transistorin pohjassa olevia 560R-vastuksia käytetään rajoittamaan virran kulkua kannan läpi.
Piirilevyn suunnittelu kapasitiiviselle kosketusanturipiirille
Kosketusanturipiirimme piirilevy on suunniteltu yksipuoliselle levylle. Olemme käyttäneet Eaglea piirilevyn suunnitteluun, mutta voit käyttää mitä tahansa valitsemaasi suunnitteluohjelmaa. 2D-kuva piirilevymme on esitetty alla.
Voimakiskojen valmistamiseen käytettiin riittävää piirtohalkaisijaa, jota käytetään virran ohjaamiseen piirilevyn läpi. Laitamme ruuviliittimen yläosaan, koska kuorman liittäminen on paljon helpompaa tällä tavalla, ja sivulle sijoitettiin virtaliitin, joka on DC-tynnyriliitin, mikä antaa myös helpon pääsyn. Koko Eaglen suunnittelutiedosto ja Gerber voidaan ladata alla olevasta linkistä.
- GERBER-tiedosto ESP32-pohjaiselle kosketusanturin ohjauspiirille
Nyt kun suunnittelumme on valmis, on aika syövyttää ja juottaa levy. Kun syövytys, poraus ja juotosprosessi on saatu päätökseen, lauta näyttää alla olevalta kuvalta,
Arduino-koodi ESP32-pohjaiselle kapasitiiviselle kosketusanturille
Tätä projektia varten ohjelmoimme ESP32: n mukautetulla koodilla, jonka kuvailemme pian. Koodi on hyvin yksinkertainen ja helppo käyttää, Aloitamme määrittelemällä kaikki vaaditut nastat, tapauksessamme, määritämme nastat kosketusantureillemme ja releillemme.
#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
Seuraavaksi aloitetaan asennusosassa alustamalla UART virheenkorjausta varten, seuraavaksi olemme ottaneet käyttöön 1S-viiveen, joka antaa meille vähän aikaa Serial Monitor -ikkunan avaamiseen. Seuraavaksi käytämme Arduinos pinMode -toimintoa, jotta Relay-nastat saadaan tuotokseksi, mikä merkitsee Setup () -osan loppua.
void setup () {Sarja.alku (115200); viive (1000); pinMode (rele_PIN_1, OUTPUT); pinMode (rele_PIN_2, OUTPUT); pinMode (Rele_PIN_3, OUTPUT); pinMode (rele_PIN_4, OUTPUT); }
Aloitamme silmukka osio kanssa , jos selvitys, kameran sisäinen toiminto touchRead (pin_no) käytetään määrittämään, jos pin kosketti vai ei. TouchRead (pin_no) funktio palauttaa kokonaisluvun arvo vaihtelee (0-100), arvo pysyy lähellä 100 koko ajan, mutta jos koskettaa valittu tappi, arvo laskee lähelle nollaa, ja sen avulla muuttuvan arvon, voimme selvittää, koskettiinko tiettyä tapia sormella vai ei.
Vuonna Jos me annamme tarkistaa muutokset kokonaisluku arvoja, ja jos arvo saavuttaa alle 28, voimme olla varmoja, että olemme tunnustaneet kosketuksen. Kun if- lauseesta tulee totta, odotamme 50 ms ja tarkistamme parametrin uudelleen. Tämä auttaa meitä selvittämään, laukaisiko anturin arvo väärin, sen jälkeen käännämme tapin tilan digitalWrite-toiminnolla (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) -menetelmää, ja loput koodista pysyvät samana.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("Anturia kosketetaan"); 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 ("Kaksi anturia kosketetaan"); 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 ("Kolmas anturi on kosketettu"); 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 ("Neljä anturia kosketetaan"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Lopuksi lopetamme koodimme uudella 200 ms: n estoviiveellä.
ESP32-pohjaisen kosketusanturipiirin testaus
Koska tämä on hyvin yksinkertainen projekti, testisarja on hyvin yksinkertainen, kuten näette, olen liittänyt 4 LEDiä vastuksilla, jotka toimivat kuormina, koska se on kytketty releeseen, voit helposti liittää minkä tahansa kuorman jopa 3 A: iin.
Lisäparannuksia
Vaikka piirilevy on yksinkertainen, parannuksia on vielä varaa, kuten todellisen piirilevyn alaosasta näet, olen liittänyt monia vastuksia yrittäen liittää neljä merkkivaloa, ja piirilevyn kokoa voidaan myös pienentää, jos se tulee vaatimus, Toivottavasti pidit artikkelista ja opit jotain hyödyllistä. Jos sinulla on kysyttävää, voit jättää ne alla olevaan kommenttiosioon tai käyttää foorumeitamme muiden teknisten kysymysten lähettämiseen.