- Apa itu Sensor Sentuh Kapasitif dan Bagaimana Cara Kerjanya?
- Membangun Sensor Sentuh Kapasitif Empat Arah
- Bahan yang Diperlukan untuk Sirkuit Terkontrol Sentuh ESP32
- Sirkuit Kontrol untuk Sensor Sentuh Kapasitif kami
- Desain PCB untuk Rangkaian Sensor Sentuh Kapasitif
- Kode Arduino untuk Sensor Sentuh Kapasitif Berbasis ESP32
- Menguji Sirkuit Sensor Sentuh Berbasis ESP32
- Peningkatan Lebih Lanjut
Dalam banyak kasus, sensor sentuh digunakan sebagai pengganti tombol tekan. Keuntungannya adalah kita tidak perlu memaksa untuk menekan tombol, dan kita dapat mengaktifkan kunci tanpa menyentuhnya menggunakan sensor sentuh. Teknologi penginderaan sentuh menjadi populer dari hari ke hari. Dan dalam dekade terakhir ini, menjadi sulit untuk membayangkan dunia tanpa elektronik yang peka sentuhan. Baik metode sentuh resistif maupun kapasitif dapat digunakan untuk mengembangkan sensor sentuh, dan pada artikel ini, kami akan membahas cara kasar pembuatan sensor sentuh kapasitif dengan ESP32, sebelumnya kami juga telah membangun tombol sentuh kapasitif dengan Raspberry pi.
Meskipun sensor sentuh khusus aplikasi bisa sedikit rumit, prinsip dasar yang mendasari teknologi ini tetap sama, jadi dalam artikel ini, kami akan berfokus pada pengembangan sensor sentuh kapasitif kami dengan bantuan ESP32 favorit kami dan sepotong tembaga- papan berpakaian.
Pada tutorial sebelumnya, kita telah melakukan Kontrol Lampu Rumah dengan Sentuhan menggunakan TTP223 Touch Sensor dan Arduino UNO, Sekarang dalam proyek ini, kita sedang membangun Sensor sentuh untuk ESP32 tetapi hal yang sama juga dapat digunakan untuk Arduino. Selain itu, kami sebelumnya menggunakan metode input berbasis sentuh menggunakan bantalan sentuh kapasitif dengan mikrokontroler berbeda seperti Antarmuka Keypad Sentuh dengan Mikrokontroler ATmega32 dan Panel Sentuh Kapasitif dengan Raspberry Pi, Anda juga dapat memeriksanya jika tertarik.
Apa itu Sensor Sentuh Kapasitif dan Bagaimana Cara Kerjanya?
Kapasitor tersedia dalam berbagai bentuk. Yang paling umum sekali datang dalam bentuk paket bertimbal atau paket dudukan permukaan tetapi untuk membentuk kapasitansi, kita membutuhkan konduktor yang dipisahkan oleh bahan dielektrik. Jadi, mudah untuk membuatnya. Contoh yang baik adalah yang akan kita kembangkan dalam contoh berikut.
Mengingat PCB tergores sebagai bahan konduktif, stiker tersebut bertindak sebagai bahan dielektrik, jadi sekarang pertanyaannya tetap, bagaimana menyentuh bantalan tembaga menyebabkan kapasitansi berubah sedemikian rupa sehingga pengontrol sensor sentuh dapat mendeteksi? Jari manusia, tentu saja.
Ada dua alasan utama: Pertama, satu termasuk sifat dielektrik jari kita, yang kedua adalah karena sifat konduktif jari kita. Kami akan menggunakan sentuhan berbasis kapasitif. Jadi, kami akan mengalihkan fokus kami ke sensor sentuh berbasis kapasitif. Tetapi sebelum kita membahas semua ini, penting untuk dicatat bahwa tidak ada konduksi yang terjadi, dan jari diisolasi, karena kertas yang digunakan dalam stiker. Jadi, jari tidak dapat melepaskan kapasitor.
Jari Bertindak sebagai Dielektrik:
Sudah menjadi rahasia umum bahwa kapasitor memiliki nilai konstan yang dapat diketahui dari luas dua pelat konduktor, jarak antar pelat, dan konstanta dielektriknya. Kita tidak dapat mengubah luas kapasitor hanya dengan menyentuhnya tetapi kita yakin dapat mengubah konstanta dielektrik kapasitor karena jari manusia memiliki konstanta dielektrik yang berbeda dari bahan yang menampilkannya. Dalam kasus kami, ini adalah udara, kami menggeser udara dengan jari-jari kami. Jika Anda bertanya bagaimana caranya? Itu karena konstanta dielektrik udara 1006 pada suhu kamar di permukaan laut dan konstanta dielektrik jari jauh lebih tinggi sekitar 80 karena jari manusia sebagian besar terdiri dari air. Jadi interaksi jari dengan medan listrik kapasitor menyebabkan peningkatan konstanta dielektrik sehingga kapasitansinya meningkat.
Sekarang kita telah memahami prinsipnya, mari kita lanjutkan ke pembuatan PCB yang sebenarnya.
Membangun Sensor Sentuh Kapasitif Empat Arah
The sensor sentuh kapasitif yang digunakan dalam proyek ini memiliki empat saluran, dan mudah untuk membuat. Di bawah ini kami telah menyebutkan proses rinci untuk membuatnya.
Pertama, kami membuat PCB untuk sensor dengan bantuan alat desain Eagle PCB, yang terlihat seperti gambar di bawah ini.
Dengan bantuan dimensi dan Photoshop, kami membuat template dan terakhir stiker untuk sensor, yang terlihat seperti gambar di bawah ini,
Sekarang, setelah kita selesai dengan stikernya, kita melanjutkan untuk membuat template papan berpakaian yang sebenarnya akan kita gunakan untuk membuat PCB kita, yang terlihat seperti gambar di bawah ini,
Sekarang kita dapat mencetak file ini dan melanjutkan proses pembuatan PCB buatan sendiri. JIKA Anda baru, Anda dapat melihat artikel tentang cara membuat PCB di rumah. Anda juga dapat mengunduh file PDF dan Gerber yang diperlukan dari tautan di bawah ini
- File GERBER untuk Sensor Sentuh Kapasitif Empat Saluran
Setelah selesai, Etched PCB yang sebenarnya terlihat seperti gambar di bawah ini.
Sekarang saatnya untuk mengebor beberapa lubang, dan kita menghubungkan beberapa kabel dengan PCB. Sehingga kita bisa menghubungkannya dengan papan ESP32. Setelah selesai, akan terlihat seperti gambar di bawah ini.
Karena kami tidak memasukkan via di PCB, solder tersebar di semua tempat saat menyolder, kami memperbaiki kesalahan kami dengan meletakkan lubang bor pada PCB, yang dapat Anda temukan di bagian unduhan di atas. Akhirnya, tibalah waktunya untuk memasang stiker dan membuatnya final. Yang terlihat seperti gambar di bawah ini.
Sekarang kita selesai dengan panel Sentuh, saatnya beralih ke membuat Sirkuit Kontrol untuk panel sentuh.
Bahan yang Diperlukan untuk Sirkuit Terkontrol Sentuh ESP32
Komponen yang diperlukan untuk membangun bagian pengontrol menggunakan ESP32 diberikan di bawah ini, Anda seharusnya dapat menemukannya di toko hobi lokal.
Saya juga telah membuat daftar komponen dalam tabel di bawah ini dengan jenis dan jumlah yang diperlukan, karena kita menghubungkan sensor sentuh empat saluran dan mengendalikan empat beban AC, kita akan menggunakan 4 relai untuk mengalihkan beban AC dan 4 transistor untuk membangun relai sirkuit pengemudi.
Sl.No |
Bagian |
Tipe |
Kuantitas |
1 |
Menyampaikan |
Beralih |
4 |
2 |
BD139 |
Transistor |
4 |
3 |
Terminal Sekrup |
Terminal Sekrup 5mmx2 |
4 |
4 |
1N4007 |
Diode |
5 |
5 |
0.1uF |
Kapasitor |
1 |
6 |
100uF, 25V |
Kapasitor |
2 |
7 |
LM7805 |
Regulator tegangan |
1 |
8 |
1K |
Penghambat |
4 |
9 |
560R |
Penghambat |
4 |
10 |
LED Kuning |
LED |
4 |
11 |
Header Pria |
Penyambung |
4 |
12 |
Header Wanita |
Penyambung |
30 |
13 |
LED Merah |
LED |
1 |
14 |
Papan Pengembang ESP32 V1 |
Papan ESP32 |
1 |
12 |
Papan Berpakaian |
Generik 50x 50mm |
1 |
13 |
Kabel Jumper |
Kabel |
4 |
14 |
Menghubungkan Kabel |
Kabel |
5 |
Sirkuit Kontrol untuk Sensor Sentuh Kapasitif kami
Gambar di bawah ini menunjukkan diagram sirkuit lengkap untuk sensor sentuh berbasis ESP32 kami .
Seperti yang Anda lihat, ini adalah sirkuit yang sangat sederhana dengan komponen yang sangat sedikit.
Karena ini adalah rangkaian sensor sentuh sederhana, ini dapat berguna di tempat-tempat di mana Anda ingin berinteraksi dengan perangkat melalui sentuhan, misalnya, daripada menggunakan sakelar yang dipasang di papan, Anda dapat menghidupkan / mematikan peralatan Anda dengan sentuhan.
Dalam skema, jack barel DC digunakan sebagai input di mana kami memberikan daya yang diperlukan untuk menyalakan rangkaian, dari sana kami memiliki regulator Tegangan 7805 kami yang mengubah input DC yang tidak diatur menjadi DC 5V konstan yang kami sediakan. daya ke modul ESP32.
Selanjutnya, dalam skema, kami memiliki konektor sentuh pada pin 25, 26, 27, 28, tempat kami akan menghubungkan panel sentuh.
Selanjutnya, kami memiliki relai yang dialihkan melalui transistor BD139, dioda D2, D3, D4, D5 ada untuk melindungi rangkaian dari tegangan transien apa pun yang dihasilkan ketika relai mati, dioda dalam konfigurasi ini dikenal sebagai fly-back diode / dioda freewheeling. Resistor 560R di dasar setiap transistor digunakan untuk membatasi aliran arus melalui basis.
Desain PCB untuk Rangkaian Sensor Sentuh Kapasitif
PCB untuk sirkuit sensor sentuh kami dirancang untuk papan satu sisi. Kami telah menggunakan Eagle untuk mendesain PCB saya, tetapi Anda dapat menggunakan perangkat lunak Desain pilihan Anda. Gambar 2D dari desain papan kami ditunjukkan di bawah ini.
Diameter jejak yang cukup digunakan untuk membuat jalur listrik, yang digunakan untuk mengalirkan arus melalui papan sirkuit. Kami menempatkan terminal sekrup di bagian atas karena jauh lebih mudah untuk menghubungkan beban Anda dengan cara itu, dan konektor daya, yang merupakan jack barel DC ditempatkan di samping, yang juga memberikan akses yang mudah. File Desain lengkap untuk Eagle bersama dengan Gerber dapat diunduh dari tautan di bawah ini.
- File GERBER untuk Sirkuit Kontrol Sensor Sentuh Berbasis ESP32
Sekarang setelah Desain kita siap, saatnya untuk mengetsa dan menyolder papan. Setelah proses etsa, pengeboran, dan penyolderan selesai, papan terlihat seperti gambar dibawah ini,
Kode Arduino untuk Sensor Sentuh Kapasitif Berbasis ESP32
Untuk proyek ini, kami akan memprogram ESP32 dengan kode khusus yang akan segera kami jelaskan. Kodenya sangat sederhana dan mudah digunakan, Kami mulai dengan menentukan semua pin yang diperlukan, dalam kasus kami, kami menentukan pin untuk sensor sentuh dan relai kami.
# Tentukan Relai_PIN_1 15 # Tentukan Relai_PIN_2 2 # Tentukan Relai_PIN_3 4 # Tentukan Relai_PIN_4 16 # Tentukan TOUCH_SENSOR_PIN_1 13 # Tentukan TOUCH_SENSOR_PIN_2 12 # Tentukan TOUCH_SENSOR_PIN_3 14 # Tentukan TOUCH_SENSOR_PIN_4 27
Selanjutnya, di bagian penyetelan, kita mulai dengan menginisialisasi UART untuk debugging, selanjutnya kita telah memperkenalkan penundaan 1S yang memberi kita sedikit waktu untuk membuka jendela Serial Monitor. Selanjutnya, kami menggunakan fungsi pinMode Arduinos untuk menjadikan pin Relay sebagai output, yang menandai akhir dari bagian Setup () .
void setup () {Serial.begin (115200); penundaan (1000); pinMode (Relay_PIN_1, OUTPUT); pinMode (Relay_PIN_2, OUTPUT); pinMode (Relay_PIN_3, OUTPUT); pinMode (Relay_PIN_4, OUTPUT); }
Kami memulai bagian loop kami dengan pernyataan if , fungsi builtin touchRead (pin_no) digunakan untuk menentukan apakah pin disentuh atau tidak. Fungsi touchRead (pin_no) mengembalikan rentang nilai integer (0 - 100), nilainya tetap mendekati 100 sepanjang waktu, tetapi jika kita menyentuh pin yang dipilih, nilainya turun mendekati nol, dan dengan bantuan nilai yang berubah, kita dapat menentukan apakah pin tertentu tersentuh oleh jari atau tidak.
Dalam pernyataan if , kami memeriksa setiap perubahan dalam nilai integer, dan jika nilainya mencapai di bawah 28, kami dapat memastikan bahwa kami telah menerima sentuhan. Setelah pernyataan if menjadi true, kami menunggu 50ms dan memeriksa parameter lagi, ini akan membantu kami untuk menentukan apakah nilai sensor dipicu secara salah, setelah itu, kami membalikkan status pin dengan menggunakan digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) , dan kode lainnya 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 Dua 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 Tiga 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 Empat disentuh"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Akhirnya, kami mengakhiri kode kami dengan penundaan pemblokiran 200 ms lagi.
Menguji Sirkuit Sensor Sentuh Berbasis ESP32
Karena ini adalah proyek yang sangat sederhana, set pengujian sangat sederhana, seperti yang Anda lihat, saya telah menghubungkan 4 LED dengan resistor yang bertindak sebagai beban, karena terhubung dengan relai, Anda dapat dengan mudah menghubungkan beban apa pun hingga 3Amps.
Peningkatan Lebih Lanjut
Meskipun PCB sederhana, masih ada ruang untuk perbaikan seperti yang Anda lihat dari sisi bawah PCB yang sebenarnya, saya telah menghubungkan banyak resistor dalam upaya menghubungkan empat LED indikasi, dan ukuran PCB juga dapat dikurangi jika itu menjadi sebuah kebutuhan, Semoga Anda menikmati artikel ini dan mempelajari sesuatu yang bermanfaat. Jika Anda memiliki pertanyaan, Anda dapat meninggalkannya di bagian komentar di bawah ini atau gunakan forum kami untuk memposting pertanyaan teknis lainnya.