- Mi az a kapacitív érintésérzékelő és hogyan működik?
- Négyutas kapacitív érintésérzékelő építése
- Az ESP32 érintésvezérelt áramkörhöz szükséges anyagok
- Kapacitív érintésérzékelőnk vezérlő áramköre
- NYÁK-tervezés a kapacitív érintésérzékelő áramkörhöz
- Arduino kód az ESP32 alapú kapacitív érintésérzékelőhöz
- Az ESP32 alapú érintésérzékelő áramkör tesztelése
- További fejlesztések
Sok esetben érintőérzékelőket használnak a nyomógombok helyett. Előnye, hogy nem kell erőt adnunk a gomb megnyomásához, és egy billentyűt anélkül is aktiválhatunk, hogy érintésérzékelőkkel megérintenénk. Az érintésérzékelő technológia napról napra népszerűvé válik. Körülbelül az elmúlt évtizedben nehéz volt elképzelni a világot érintésérzékeny elektronika nélkül. Mindkét rezisztív és kapacitív érintőképernyő módszerek alkalmazhatók, hogy dolgozzon ki egy érintésérzékeny, és ebben a cikkben fogjuk megvitatni nyers módja egy kapacitív érintőképernyő érzékelő ESP32, korábban mi is építeni egy kapacitív érintőképernyő gomb Raspberry Pi.
Habár az alkalmazás-specifikus érintésérzékelők kissé bonyolultak lehetnek, a technológia alapelve ugyanaz marad, ezért ebben a cikkben a kapacitív érintésérzékelőnk fejlesztésére fogunk összpontosítani kedvenc ESP32-nk és egy darab réz- burkolt deszka.
Az előző oktatóanyagban megtörtént az otthoni fények vezérlése érintéssel a TTP223 érintésérzékelő és az Arduino UNO használatával. Most ebben a projektben egy érintésérzékelőt építünk az ESP32 számára, de ugyanez használható az Arduino esetében is. Korábban már használtunk érintésalapú beviteli módszereket különböző mikrovezérlőkkel ellátott kapacitív érintőpadok használatával, mint például az ATmega32 mikrovezérlővel ellátott érintőképernyős billentyűzet és a Raspberry Pi-vel ellátott kapacitív érintőtábla.
Mi az a kapacitív érintésérzékelő és hogyan működik?
A kondenzátorok sokféle formában kaphatók. A legelterjedtebb egyszer ólmozott csomagolás vagy felületre szerelhető csomagolás jön létre, de a kapacitás kialakításához dielektromos anyaggal elválasztott vezetőkre van szükségünk . Így könnyen létrehozható. Jó példa lenne az, amelyet a következő példában kidolgozunk.
Ha a maratott NYÁK- t vezetőképes anyagnak tekintjük, a matrica dielektromos anyagként működik, így most marad a kérdés, hogy a rézpárna megérintése hogyan változtatja meg a kapacitást oly módon, hogy az érintésérzékelő vezérlő képes érzékelni? Természetesen emberi ujj.
Nos, főként két oka van: Először az egyik az ujjunk dielektromos tulajdonságait tartalmazza, a második az ujjunk vezetőképességének köszönhető. Kapacitív alapú érintést fogunk használni. Tehát a kapacitív alapú érintésérzékelő felé irányulunk. Mielőtt azonban mindezt megvitatnánk, fontos megjegyezni, hogy a matricában használt papír miatt nincs vezetés, és az ujj szigetelt. Tehát az ujj nem képes kisütni a kondenzátort.
Dielektrikumként funkcionáló ujj:
Köztudott, hogy a kondenzátor állandó értékkel rendelkezik, amelyet a két vezető lemez területe, a lemezek közötti távolság és dielektromos állandója valósíthat meg. Csak a megérintésével nem változtathatjuk meg a kondenzátor területét, de biztosan megváltoztathatjuk a kondenzátor dielektromos állandóját, mert az emberi ujjnak más dielektromos állandója van, mint az azt megjelenítő anyagnak. Esetünkben ez a levegő, ujjainkkal kiszorítjuk a levegőt. Ha azt kérdezi, hogyan? Ez azért van, mert az 1006 levegő dielektromos állandója tengerszint feletti szobahőmérsékleten, és az ujj dielektromos állandója sokkal nagyobb 80 körül, mert az emberi ujj többnyire vízből áll. Tehát az ujj és a kondenzátor elektromos mezőjének interakciója a dielektromos állandó növekedését okozza, így a kapacitás nő.
Most, hogy megértettük az alapelvet, térjünk át a tényleges PCB-k készítésére.
Négyutas kapacitív érintésérzékelő építése
A projektben használt kapacitív érintésérzékelő négy csatornás, és könnyen elkészíthető. Az alábbiakban megemlítettük az elkészítésének részletes folyamatát.
Először az érzékelő NYÁK-ját készítettük az Eagle NYÁK tervező eszköz segítségével, amely valami hasonló az alábbi képhez.
A méretek és a Photoshop segítségével elkészítettük a sablont és végül a matricát az érzékelőhöz, amely úgy néz ki, mint az alábbi kép,
Most, amikor elkészültünk a matricával, továbblépünk a tényleges burkolt tábla sablon elkészítéséhez, amelyet a NYÁK készítéséhez fogunk használni, ami valami hasonló az alábbi képhez,
Most kinyomtathatjuk ezt a fájlt, és folytathatjuk a házi készítésű NYÁK készítésének folyamatait. HA új vagy, megnézheted a cikket arról, hogyan lehet otthon felépíteni a NYÁK-t. A szükséges PDF és Gerber fájlokat az alábbi linkről is letöltheti
- GERBER fájl a négycsatornás kapacitív érintésérzékelőhöz
Miután elkészült, a tényleges maratott NYÁK úgy néz ki, mint az alábbi kép.
Itt az ideje, hogy fúrjon néhány lyukat, és néhány vezetéket összekötünk a NYÁK-val. Annak érdekében, hogy csatlakoztathassuk az ESP32 kártyához. Miután elkészült, úgy néz ki, mint az alábbi kép.
Mivel nem helyeztük a via-okat a NYÁK-ba, a forrasztás az egész helyen forrasztás közben történt, kijavítottuk hibánkat azzal, hogy furatot tettünk a NYÁK-ra, amelyet a fenti letöltési részben talál. Végül itt volt az ideje, hogy feltegye a matricát és véglegessé tegye. Ami úgy néz ki, mint az alábbi kép.
Most elkészültünk az érintőpanellel, itt az ideje folytatni az érintőpanel vezérlő áramkörének elkészítését.
Az ESP32 érintésvezérelt áramkörhöz szükséges anyagok
Az alábbiakban ismertetjük azokat az összetevőket, amelyek a vezérlő szakasz felépítéséhez szükségesek az ESP32 használatával. A legtöbbet a helyi hobbiboltban kell megtalálnia.
Az alábbi táblázatban felsoroltam az összetevőket a szükséges típussal és mennyiséggel is, mivel összekapcsolunk egy négycsatornás érintésérzékelőt és négy váltakozó áram terhelést vezérelünk, 4 relét fogunk használni az AC terhelés kapcsolására és 4 tranzisztort a relé felépítésére. vezető áramkörök.
Sl. Nem |
Alkatrészek |
típus |
Mennyiség |
1 |
Relé |
Kapcsoló |
4 |
2 |
BD139 |
Tranzisztor |
4 |
3 |
Csavaros terminál |
Csavaros kapocs 5mmx2 |
4 |
4 |
1N4007 |
Dióda |
5. |
5. |
0,1 uF |
Kondenzátor |
1 |
6. |
100uF, 25V |
Kondenzátor |
2 |
7 |
LM7805 |
Feszültségszabályozó |
1 |
8. |
1K |
Ellenállás |
4 |
9. |
560R |
Ellenállás |
4 |
10. |
Borostyánsárga LED |
VEZETTE |
4 |
11. |
Férfi fejléc |
Csatlakozó |
4 |
12. |
Női fejléc |
Csatlakozó |
30 |
13. |
Piros LED |
VEZETTE |
1 |
14 |
ESP32 Dev Board V1 |
ESP32 Board |
1 |
12. |
Burkolt tábla |
Általános 50x 50mm |
1 |
13. |
Jumper huzalok |
Vezetékek |
4 |
14 |
Vezetékek csatlakoztatása |
Vezetékek |
5. |
Kapacitív érintésérzékelőnk vezérlő áramköre
Az alábbi kép az ESP32 alapú érintésérzékelő teljes kapcsolási rajzát mutatja .
Mint látható, ez egy nagyon egyszerű áramkör, minimálisan szükséges komponensekkel.
Mivel ez egy egyszerű érintésérzékelő áramkör, hasznos lehet olyan helyeken, ahol érintéssel érintkezni akar egy eszközzel, például tipikus táblára szerelt kapcsoló használata helyett érintéssel kapcsolhatja be / ki a készülékeket.
A sematikus ábrán egy egyenáramú csatlakozóaljzatot használunk bemenetként, ahol megadjuk az áramkör áramellátásához szükséges energiát, onnan pedig megvan a 7805-ös feszültségszabályozónk, amely a szabályozatlan egyenáramú bemenetet állandó 5 V DC-vé alakítja át, amelyen keresztül biztosítjuk az ESP32 modul áramellátása.
Ezután a vázlatban az érintkezõink vannak a 25., 26., 27., 28. érintkezõn, ahol az érintõpadot fogjuk csatlakoztatni.
Ezután megvannak a reléink, amelyeket egy BD139 tranzisztoron keresztül kapcsolunk, a D2, D3, D4, D5 dióda azért van, hogy megvédje az áramkört minden átmeneti feszültségtől, amely a relé váltásakor keletkezik. Az ebben a konfigurációban lévő diódák visszacsapó dióda / szabadonfutó dióda. Az egyes tranzisztorok tövében lévő 560R ellenállásokat arra használják, hogy korlátozzák a bázison átáramló áramot.
NYÁK-tervezés a kapacitív érintésérzékelő áramkörhöz
Az érintésérzékelő áramkörünk NYÁK -ját egyoldalas táblához tervezték. Az Eagle-t használtuk a NYÁK tervezéséhez, de bármilyen tetszőleges Design szoftvert használhat. A táblánk kialakításának 2D képe az alábbiakban látható.
Megfelelő nyomátmérőt használtak az erőpályák előállításához, amelyet az áram áramoltatására használnak az áramköri lapon. A csavaros sorkapcsot a tetejére helyeztük, mert így sokkal könnyebb a teherét csatlakoztatni, és oldalra helyezték a tápcsatlakozót, amely egy egyenáramú hordó emelő, amely szintén könnyű hozzáférést biztosít. Az Eagle teljes tervezési fájlja és a Gerber az alábbi linkről tölthető le.
- GERBER fájl az ESP32 alapú érintésérzékelő vezérlő áramkörhöz
Most, hogy a tervünk készen áll, itt az ideje a tábla maratásának és forrasztásának. A maratás, fúrás és forrasztás befejezése után a tábla úgy néz ki, mint az alábbi kép,
Arduino kód az ESP32 alapú kapacitív érintésérzékelőhöz
Ehhez a projekthez egy egyedi kóddal programozzuk az ESP32-et, amelyet röviden leírunk. A kód nagyon egyszerű és könnyen használható, Kezdjük az összes szükséges csap megadásával, esetünkben meghatározzuk az érintésérzékelők és relék csapjait.
#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
Ezután a beállítási részben az UART inicializálásával kezdjük a hibakeresést, majd bevezettük az 1S késleltetést, amely egy kis időt ad a Serial Monitor ablak megnyitására. Ezután az Arduinos pinMode függvényt használjuk arra, hogy kimenetként elkészítsük a Relay csapokat, ami a Setup () szakasz végét jelöli.
void setup () {Soros.kezdés (115200); késés (1000); pinMode (Relé_PIN_1, OUTPUT); pinMode (Relé_PIN_2, OUTPUT); pinMode (Relay_PIN_3, OUTPUT); pinMode (Relé_PIN_4, OUTPUT); }
A hurokszakaszt egy if utasítással kezdjük , a beépített touchRead (pin_no) függvény segítségével határozhatjuk meg, hogy megérintettek-e egy csapot vagy sem. A touchRead (pin_no) függvény egy egész értéktartományt ad vissza (0 - 100), az érték folyamatosan 100 közelében marad, de ha megérintjük a kiválasztott csapot, akkor az érték nulla közelébe csökken, és a változó érték segítségével meghatározhatjuk, hogy az adott csapot megérintette-e egy ujjal, vagy sem.
Az if utasításban ellenőrizzük az egész számok változását, és ha az érték eléri a 28 értéket, biztosak lehetünk abban, hogy nyugtáztunk egy érintést. Amint az if állítás igaz lesz, várunk 50 ms-ot, és újra ellenőrizzük a paramétert, ez segít abban, hogy megállapítsuk, az érzékelő értéke hamisan váltott- e ki, ezt követően a digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) módszerrel, és a kód többi része változatlan marad.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("Az egyik érzékelő megérintve"); 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 ("A második érzékelő megérintve"); 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 ("Három érzékelő megérintve"); 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 ("Négy érzékelő megérintve"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Végül a kódunkat további 200 ms blokkolási késleltetéssel fejezzük be.
Az ESP32 alapú érintésérzékelő áramkör tesztelése
Mivel ez egy nagyon egyszerű projekt, a tesztkészlet nagyon egyszerű, amint láthatja, 4 LED-et csatlakoztattam ellenállásokkal, amelyek terhelésként működnek, mivel a reléhez csatlakozik, könnyen csatlakoztathat bármilyen terhelést akár 3 A-ig.
További fejlesztések
Noha a NYÁK egyszerű, még van hová fejlődni, amint az a tényleges NYÁK aljáról látható, sok ellenállást csatlakoztattam négy jelzőlámpa összekapcsolására, és a NYÁK mérete is csökkenthető, ha ez követelményté válik, Remélem, tetszett a cikk, és valami hasznosat tanult. Ha bármilyen kérdése van, hagyhatja őket az alábbi megjegyzés részben, vagy fórumunkon keresztül további technikai kérdéseket tehet fel.