- Apa itu Sensor Sentuh Kapasitif dan Bagaimana Ia Berfungsi?
- Membina Sensor Sentuh Kapasitif Empat Hala
- Bahan yang Diperlukan untuk Litar Terkawal Sentuhan ESP32
- Litar Kawalan untuk Sensor Sentuh Kapasitif kami
- Reka Bentuk PCB untuk Litar Sensor Sentuh Kapasitif
- Kod Arduino untuk Sensor Sentuh Kapasitif Berasaskan ESP32
- Menguji Litar Sensor Sentuh Berasaskan ESP32
- Penambahbaikan Lebih Lanjut
Dalam banyak kes, sensor sentuh digunakan sebagai ganti butang tekan. Kelebihannya ialah kita tidak perlu memberikan kekuatan untuk menekan butang, dan kita dapat mengaktifkan kunci tanpa menyentuhnya menggunakan sensor sentuh. Teknologi penderiaan sentuhan semakin popular dari hari ke hari. Dan dalam dekad yang lalu, menjadi sukar untuk membayangkan dunia tanpa elektronik yang sensitif terhadap sentuhan. Kedua-dua kaedah sentuhan resistif dan kapasitif dapat digunakan untuk mengembangkan sensor sentuh, dan dalam artikel ini, kita akan membincangkan cara kasar membuat sensor sentuh kapasitif dengan ESP32, sebelumnya kita juga telah membina butang sentuh Kapasitif dengan Raspberry pi.
Walaupun sensor sentuh khusus aplikasi mungkin sedikit rumit, prinsip asas yang mendasari teknologi ini tetap sama, jadi dalam artikel ini, kami akan memberi tumpuan untuk mengembangkan sensor sentuh kapasitif kami dengan bantuan ESP32 kegemaran kami dan sekeping tembaga- papan berpakaian.
Dalam tutorial sebelumnya, kami telah melakukan Control Home Lights with Touch menggunakan TTP223 Touch Sensor dan Arduino UNO, Sekarang dalam projek ini, kami sedang membangun Touch sensor untuk ESP32 tetapi yang sama juga dapat digunakan untuk Arduino. Juga, sebelum ini kami menggunakan kaedah input berasaskan sentuhan menggunakan pad sentuh kapasitif dengan mikrokontroler yang berbeza seperti Touch Keypad Interfacing dengan ATmega32 Microcontroller dan Capacitive TouchPad dengan Raspberry Pi, anda juga boleh memeriksanya jika berminat.
Apa itu Sensor Sentuh Kapasitif dan Bagaimana Ia Berfungsi?
Kapasitor terdapat dalam pelbagai bentuk. Yang paling biasa sekali terdapat dalam bentuk paket plumbum atau pekap permukaan permukaan tetapi untuk membentuk kapasitansi, kita memerlukan konduktor yang dipisahkan oleh bahan dielektrik. Oleh itu, mudah untuk membuatnya. Contoh yang baik adalah contoh yang akan kita kembangkan dalam contoh berikut.
Memandangkan PCB yang terukir sebagai bahan konduktif, pelekat bertindak sebagai bahan dielektrik, jadi sekarang persoalannya, bagaimana menyentuh pad tembaga menyebabkan kapasitansi berubah sedemikian rupa sehingga pengawal sensor sentuh dapat mengesan? Jari manusia tentu saja.
Terdapat dua sebab: Pertama, satu merangkumi sifat dielektrik jari kita, yang kedua adalah kerana sifat konduktif jari kita. Kami akan menggunakan sentuhan kapasitif. Oleh itu, kami akan mengalihkan fokus kami ke sensor sentuh berasaskan kapasitif. Tetapi sebelum kita membincangkan semua ini, penting untuk diperhatikan bahawa tidak ada konduksi yang berlaku, dan jari dilindungi, kerana kertas yang digunakan di dalam pelekat. Oleh itu, jari tidak dapat melepaskan kapasitor.
Jari Bertindak sebagai Dielektrik:
Sudah diketahui umum bahawa kapasitor mempunyai nilai malar yang dapat direalisasikan dengan luas dua plat pengalir, jarak antara plat, dan pemalar dielektrik. Kita tidak dapat mengubah kawasan kapasitor hanya dengan menyentuhnya tetapi kita pasti dapat menukar pemalar dielektrik kapasitor kerana jari manusia mempunyai pemalar dielektrik yang berbeza daripada bahan yang memaparkannya. Dalam kes kita, itu udara, kita mengalihkan udara dengan jari kita. Sekiranya anda bertanya bagaimana? Ini kerana pemalar dielektrik udara 1006 pada suhu bilik permukaan laut dan pemalar dielektrik jari jauh lebih tinggi sekitar 80 kerana jari manusia terdiri daripada kebanyakan air. Jadi, interaksi jari dengan medan elektrik kapasitor menyebabkan peningkatan pemalar dielektrik maka kapasitansinya meningkat.
Sekarang setelah kita memahami prinsipnya, mari beralih ke pembuatan PCB sebenar.
Membina Sensor Sentuh Kapasitif Empat Hala
The sensor sentuh kapasitif yang digunakan dalam projek ini mempunyai empat saluran, dan ia adalah mudah untuk membuat. Di bawah ini kami telah menyebutkan proses terperinci untuk membuatnya.
Pertama, kami membuat PCB untuk sensor dengan bantuan alat reka bentuk Eagle PCB, yang kelihatan seperti gambar di bawah.
Dengan bantuan dimensi dan Photoshop, kami membuat templat dan akhirnya pelekat untuk sensor, yang kelihatan seperti gambar di bawah,
Sekarang, setelah kita selesai dengan pelekat, kita terus membuat templat papan berpakaian sebenar yang akan kita gunakan untuk membuat PCB kita, yang kelihatan seperti gambar di bawah,
Sekarang kita dapat mencetak fail ini dan meneruskan proses pembuatan PCB buatan sendiri. JIKA anda baru, anda boleh membaca artikel tentang cara membina PCB di rumah. Anda juga boleh memuat turun fail PDF dan Gerber yang diperlukan dari pautan di bawah
- Fail GERBER untuk Sensor Sentuh Kapasitif Empat Saluran
Setelah selesai, PCB Etched yang sebenarnya kelihatan seperti gambar di bawah.
Kini tiba masanya untuk menggerudi beberapa lubang, dan kami menghubungkan beberapa wayar dengan PCB. Supaya kita dapat menghubungkannya dengan papan ESP32. Setelah selesai, ia seperti gambar di bawah.
Oleh kerana kami tidak memasukkannya ke dalam PCB, solder berada di seluruh tempat sambil menyolder, kami memperbaiki kesalahan kami dengan meletakkan lubang gerudi pada PCB, yang dapat anda temukan di bahagian muat turun di atas. Akhirnya, sudah tiba masanya untuk meletakkan pelekat dan menjadikannya tetap. Yang kelihatan seperti gambar di bawah.
Sekarang kita sudah selesai dengan panel Sentuh, sudah tiba masanya untuk beralih ke Litar Kawalan untuk panel sentuh.
Bahan yang Diperlukan untuk Litar Terkawal Sentuhan ESP32
Komponen yang diperlukan untuk membina bahagian pengawal menggunakan ESP32 diberikan di bawah, anda mungkin dapat menjumpai kebanyakannya di kedai hobi tempatan.
Saya juga telah menyenaraikan komponen dalam jadual di bawah dengan jenis dan kuantiti yang diperlukan, kerana kita menghubungkan sensor sentuh empat saluran dan mengawal empat beban AC, kita akan menggunakan 4 relay untuk menukar beban AC dan 4 transistor untuk membina relay. litar pemandu.
Sl.No |
Bahagian |
Jenis |
Kuantiti |
1 |
Geganti |
Tukar |
4 |
2 |
BD139 |
Transistor |
4 |
3 |
Terminal Skru |
Terminal Skru 5mmx2 |
4 |
4 |
1N4007 |
Diod |
5 |
5 |
0.1uF |
Kapasitor |
1 |
6 |
100uF, 25V |
Kapasitor |
2 |
7 |
LM7805 |
Pengatur Voltan |
1 |
8 |
1K |
Perintang |
4 |
9 |
560R |
Perintang |
4 |
10 |
LED Amber |
LED |
4 |
11 |
Pengetua Lelaki |
Penyambung |
4 |
12 |
Ketua Wanita |
Penyambung |
30 |
13 |
LED Merah |
LED |
1 |
14 |
Papan Dev ESP ESP32 V1 |
Papan ESP32 |
1 |
12 |
Papan Berpakaian |
Generik 50x 50mm |
1 |
13 |
Wayar Pelompat |
Wayar |
4 |
14 |
Wayar Penyambung |
Wayar |
5 |
Litar Kawalan untuk Sensor Sentuh Kapasitif kami
Gambar di bawah menunjukkan gambarajah litar lengkap untuk sensor sentuh berasaskan ESP32 kami .
Seperti yang anda lihat, ini adalah litar yang sangat sederhana dengan komponen yang sangat minimum diperlukan.
Oleh kerana ia adalah rangkaian sensor sentuhan sederhana, ia boleh berguna di tempat-tempat di mana anda ingin berinteraksi dengan peranti melalui sentuhan, sebagai contoh, daripada menggunakan suis pemasangan papan biasa, anda boleh menghidupkan / mematikan peralatan anda dengan sentuhan.
Dalam skema, jack laras DC digunakan sebagai input di mana kami menyediakan kuasa yang diperlukan untuk menghidupkan litar, dari sana kami mempunyai pengatur voltan 7805 kami yang mengubah input DC yang tidak terkawal menjadi DC 5V berterusan yang kami sediakan kekuatan untuk modul ESP32.
Seterusnya, dalam skema, kita mempunyai penyambung sentuh pada pin 25, 26, 27, 28, di mana kita akan menyambungkan pad sentuh.
Seterusnya, kita mempunyai geganti yang dihidupkan melalui transistor BD139, dioda D2, D3, D4, D5 ada untuk melindungi litar dari voltan sementara yang dihasilkan semasa relay beralih, diod dalam konfigurasi ini dikenali sebagai diod terbang-balik / diod freewheeling. Perintang 560R di dasar setiap transistor digunakan untuk mengehadkan aliran arus melalui dasar.
Reka Bentuk PCB untuk Litar Sensor Sentuh Kapasitif
PCB untuk litar sensor sentuh kami direka untuk papan satu sisi. Kami telah menggunakan Eagle untuk merancang PCB saya, tetapi anda boleh menggunakan perisian Reka bentuk pilihan anda. Gambar 2D reka bentuk papan kami ditunjukkan di bawah.
Diameter jejak yang mencukupi digunakan untuk membuat trek daya, yang digunakan untuk mengalirkan arus melalui papan litar. Kami meletakkan terminal skru di bahagian atas kerana lebih mudah untuk menyambungkan beban anda dengan cara itu, dan penyambung kuasa, yang merupakan soket tong DC diletakkan di sebelah, yang juga memberikan akses mudah. Fail Reka Bentuk lengkap untuk Eagle dan Gerber boleh dimuat turun dari pautan di bawah.
- Fail GERBER untuk Litar Kawalan Sensor Sentuh Berasaskan ESP32
Sekarang Reka Bentuk kami sudah siap, sudah tiba masanya untuk membuat dan menyolder papan. Setelah proses pengukiran, penggerudian, dan pematerian selesai, papan kelihatan seperti gambar yang ditunjukkan di bawah,
Kod Arduino untuk Sensor Sentuh Kapasitif Berasaskan ESP32
Untuk projek ini, kami akan memprogramkan ESP32 dengan kod tersuai yang akan kami jelaskan sebentar lagi. Kodnya sangat mudah dan senang digunakan, Kami mulakan dengan menentukan semua pin yang diperlukan, dalam kes kami, kami menentukan pin untuk sensor sentuh dan relay kami.
#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 #tentukan TOUCH_SENSOR_PIN_SIN_PIN_PIN_POR_PIN_PIN_PIN_PIN_PIN_PIN_PIN_PIN
Selanjutnya, di bahagian persediaan, kita mulakan dengan menginisialisasi UART untuk debugging, seterusnya kita telah memperkenalkan kelewatan 1S yang memberi kita sedikit masa untuk membuka tetingkap Monitor Serial. Seterusnya, kami menggunakan fungsi Arduinos pinMode untuk menjadikan pin Relay sebagai output, yang menandakan akhir bahagian Persediaan () .
persediaan tidak sah () {Serial.begin (115200); kelewatan (1000); pinMode (Relay_PIN_1, OUTPUT); pinMode (Relay_PIN_2, OUTPUT); pinMode (Relay_PIN_3, OUTPUT); pinMode (Relay_PIN_4, OUTPUT); }
Kami memulakan bahagian gelung kami dengan pernyataan if , fungsi builtin touchRead (pin_no) digunakan untuk menentukan apakah pin disentuh atau tidak. Fungsi touchRead (pin_no) mengembalikan julat nilai integer (0 - 100), nilainya tetap dekat 100 sepanjang masa, tetapi jika kita menyentuh pin yang dipilih, nilainya turun menjadi hampir sifar, dan dengan bantuan nilai yang berubah, kita dapat menentukan sama ada pin tertentu disentuh oleh jari atau tidak.
Dalam pernyataan if , kami sedang memeriksa perubahan dalam nilai integer, dan jika nilainya mencapai di bawah 28, kami dapat memastikan bahawa kami telah mengakui sentuhan. Setelah pernyataan if menjadi benar, kami menunggu 50ms dan memeriksa parameternya sekali lagi, ini akan membantu kami untuk menentukan sama ada nilai sensor dicetuskan secara salah, selepas itu, kami membalikkan status pin dengan menggunakan digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) kaedah, dan selebihnya kodnya tetap sama.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("Sensor satu disentuh"); digitalWrite (Relay_PIN_1,! digitalRead (Relay_PIN_1)); }} lain jika (touchRead (TOUCH_SENSOR_PIN_2) <28) {if (touchRead (TOUCH_SENSOR_PIN_2) <28) {Serial.println ("Sensor Two disentuh"); digitalWrite (Relay_PIN_2,! digitalRead (Relay_PIN_2)); }} lain jika (touchRead (TOUCH_SENSOR_PIN_3) <28) {if (touchRead (TOUCH_SENSOR_PIN_3) <28) {Serial.println ("Sensor Three disentuh"); digitalWrite (Relay_PIN_3,! digitalRead (Relay_PIN_3)); }} lain jika (touchRead (TOUCH_SENSOR_PIN_4) <28) {if (touchRead (TOUCH_SENSOR_PIN_4) <28) {Serial.println ("Sensor Four disentuh"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Akhirnya, kami mengakhiri kod kami dengan penangguhan sekatan 200 ms lagi.
Menguji Litar Sensor Sentuh Berasaskan ESP32
Oleh kerana ini adalah projek yang sangat mudah, set ujiannya sangat mudah, seperti yang anda lihat, saya telah menyambungkan 4 LED dengan perintang yang berfungsi sebagai beban, kerana ia disambungkan dengan relay, anda boleh menghubungkan beban dengan mudah hingga 3Amps.
Penambahbaikan Lebih Lanjut
Walaupun PCB itu sederhana, masih ada ruang untuk penambahbaikan seperti yang anda lihat dari sisi bawah PCB sebenarnya, saya telah menghubungkan banyak perintang dalam usaha menyambungkan empat LED petunjuk, dan ukuran PCB juga dapat dikurangkan jika itu menjadi keperluan, Semoga anda menikmati artikel ini dan mempelajari sesuatu yang berguna. Sekiranya anda mempunyai pertanyaan, anda boleh meninggalkannya di bahagian komen di bawah atau menggunakan forum kami untuk menghantar soalan teknikal lain.