- Kapasitif Dokunmatik Sensör Nedir ve Nasıl Çalışır?
- Dört Yönlü Kapasitif Dokunmatik Sensör Oluşturma
- ESP32 Dokunmatik Kontrollü Devre için Gerekli Malzemeler
- Kapasitif Dokunmatik Sensörümüz için Kontrol Devresi
- Kapasitif Dokunmatik Sensör Devresi için PCB Tasarımı
- ESP32 Tabanlı Kapasitif Dokunmatik Sensör için Arduino Kodu
- ESP32 Tabanlı Dokunmatik Sensör Devresinin Test Edilmesi
- Diğer Geliştirmeler
Çoğu durumda, basmalı düğmeler yerine dokunmatik sensörler kullanılır. Bunun avantajı, bir düğmeye basmak için güç sağlamamız gerekmemesi ve dokunmatik sensörleri kullanarak bir tuşu dokunmadan etkinleştirebilmemizdir. Dokunma algılama teknolojisi gün geçtikçe popüler hale geliyor. Ve son on yılda, dokunmaya duyarlı elektronikler olmadan dünyayı hayal etmek zorlaştı. Bir dokunma sensörü geliştirmek için hem dirençli hem de kapasitif dokunma yöntemleri kullanılabilir ve bu makalede, ESP32 ile kapasitif bir dokunmatik sensör yapmanın kaba bir yolunu tartışacağız, daha önce Raspberry pi ile bir Kapasitif dokunmatik düğme oluşturduk.
Gerçi Uygulamaya özel dokunmatik sensörleri biraz karmaşık olabilir, temel ilkesi bu nedenle bu makalede, biz odaklanarak olacak aynı bu teknoloji kalır yatan bizim kapasitif dokunmatik sensör geliştirilmesi bizim favori yardımıyla ESP32 ve bakır- bir parça kaplı tahta.
Önceki eğitimde, TTP223 Dokunmatik Sensör ve Arduino UNO kullanarak Dokunmatik Ev Işıklarını Kontrol Et işlemini yaptık, Şimdi bu projede ESP32 için bir Dokunmatik sensör oluşturuyoruz, ancak aynı şey Arduino için de kullanılabilir. Ayrıca, daha önce ATmega32 Microcontroller ile Touch Keypad Interfacing ve Raspberry Pi ile Capacitive TouchPad gibi farklı mikrodenetleyicilere sahip kapasitif dokunmatik pedler kullanarak dokunmatik tabanlı giriş yöntemlerini kullandık, ilgileniyorsanız bunları da inceleyebilirsiniz.
Kapasitif Dokunmatik Sensör Nedir ve Nasıl Çalışır?
Kapasitörler birçok biçimde gelir. En yaygın olanı, kurşunlu bir paket veya yüzeye monte bir paket şeklinde gelir, ancak bir kapasitans oluşturmak için, bir dielektrik malzeme ile ayrılmış iletkenlere ihtiyacımız var . Böylece, bir tane oluşturmak kolaydır. Aşağıdaki örnekte geliştireceğimiz örnek iyi bir örnek olacaktır.
Kazınmış PCB'yi iletken malzeme olarak düşünürsek, çıkartma bir dielektrik malzeme gibi davranıyor, öyleyse artık soru kalıyor, bakır pede dokunmak kapasitansın dokunmatik sensör denetleyicisinin algılayabileceği şekilde değişmesine neden oluyor? Elbette bir insan parmağı.
Esasen iki neden var: Birincisi parmağımızın dielektrik özelliklerini içeriyor, ikincisi ise parmağımızın iletken özelliklerinden. Kapasitif tabanlı bir dokunuş kullanacağız. Böylece odağımızı kapasitif tabanlı dokunmatik sensöre çevireceğiz. Ancak tüm bunları tartışmadan önce, herhangi bir iletim olmadığını ve çıkartmada kullanılan kağıt nedeniyle parmağın yalıtıldığını not etmek önemlidir. Yani parmak kapasitörü boşaltamıyor.
Dielektrik Olarak Hareket Eden Parmak:
Bir kapasitörün, iki iletken plakanın alanı, plakalar arasındaki mesafe ve dielektrik sabiti tarafından gerçekleştirilebilen sabit bir değere sahip olduğu yaygın bir bilgidir. Kondansatörün alanını sadece dokunarak değiştiremeyiz, ancak kondansatörün dielektrik sabitini değiştirebileceğimizden emin olabiliriz çünkü bir insan parmağında onu gösteren malzemeden farklı bir dielektrik sabiti vardır. Bizim durumumuz havadır, havayı parmaklarımızla yer değiştiriyoruz. Nasıl diye soruyorsan? Bunun nedeni, havanın 1006 deniz seviyesinde oda sıcaklığında dielektrik sabiti ve parmağın dielektrik sabitinin 80 civarında çok daha yüksek olmasıdır, çünkü bir insan parmağı çoğunlukla sudan oluşur. Böylece, parmağın kapasitörün elektrik alanıyla etkileşimi dielektrik sabitinde bir artışa neden olur, dolayısıyla kapasitans artar.
Şimdi prensibi anladığımıza göre, gerçek PCB'lerin yapımına geçelim.
Dört Yönlü Kapasitif Dokunmatik Sensör Oluşturma
Kapasitif dokunmatik sensör bu projede kullanılan dört kanal vardır ve yapmak kolaydır. Aşağıda, bir tane yapmak için ayrıntılı işlemden bahsettik.
Öncelikle sensör için PCB'yi aşağıdaki resme benzeyen Eagle PCB tasarım aracının yardımıyla yaptık.
Yardımıyla boyutları ve Photoshop, biz nihayet şablonu ve aşağıdaki resim gibi bir şey görünüyor sensör için etiket, yapılan
Şimdi, çıkartma ile işimiz bittiğinde, PCB'mizi yapmak için kullanacağımız, aşağıdaki resme benzeyen gerçek kaplı tahta şablonunu yapmaya geçiyoruz.
Şimdi bu dosyayı yazdırabilir ve ev yapımı bir PCB yapma işlemlerine geçebiliriz. Yeniyseniz, evde PCB'nin nasıl oluşturulacağı hakkındaki makaleye göz atabilirsiniz. Ayrıca gerekli PDF ve Gerber dosyalarını aşağıdaki bağlantıdan indirebilirsiniz.
- Dört Kanallı Kapasitif Dokunmatik Sensör için GERBER dosyası
Bir kez yapıldığında, gerçek Etched PCB aşağıdaki resme benziyor.
Şimdi birkaç delik açmanın zamanı geldi ve PCB'ye bazı kablolar bağlayacağız. Böylece onu ESP32 kartına bağlayabiliriz. Tamamlandığında aşağıdaki resme benziyor.
PCB'ye geçiş yapmadığımız için, lehimleme sırasında lehim her yere yayıldı, yukarıdaki indirme bölümünde bulabileceğiniz PCB üzerine bir matkap deliği açarak hatamızı düzelttik. Sonunda, çıkartmayı yapıştırmanın ve son halini almanın zamanı gelmişti. Aşağıdaki resme benzeyen bir şeye benziyor.
Artık Dokunmatik panel ile işimiz bitti, dokunmatik panel için Kontrol Devresini yapmaya geçme zamanı.
ESP32 Dokunmatik Kontrollü Devre için Gerekli Malzemeler
ESP32 kullanarak denetleyici bölümünü oluşturmak için gerekli bileşenler aşağıda verilmiştir, bunların çoğunu yerel hobi mağazasında bulabilmelisiniz.
Ayrıca, aşağıdaki tablodaki bileşenleri gereken tür ve miktarla listeledim, çünkü dört kanallı bir dokunmatik sensörle arabirim oluşturduğumuz ve dört AC yükünü kontrol ettiğimiz için, AC yükünü değiştirmek için 4 röle ve röleyi oluşturmak için 4 transistör kullanacağız. sürücü devreleri.
Sl. Yok hayır |
Parçalar |
Tür |
Miktar |
1 |
Röle |
Değiştirmek |
4 |
2 |
BD139 |
Transistör |
4 |
3 |
Vidalı terminal |
Vidalı Klemens 5mmx2 |
4 |
4 |
1N4007 |
Diyot |
5 |
5 |
0.1 uF |
Kondansatör |
1 |
6 |
100 uF, 25V |
Kondansatör |
2 |
7 |
LM7805 |
Voltaj regülatörü |
1 |
8 |
1.000 |
Direnç |
4 |
9 |
560R |
Direnç |
4 |
10 |
Sarı LED |
LED |
4 |
11 |
Erkek Başlık |
Bağlayıcı |
4 |
12 |
Kadın Başlık |
Bağlayıcı |
30 |
13 |
Kırmızı LED |
LED |
1 |
14 |
ESP32 Geliştirme Kartı V1 |
ESP32 Kurulu |
1 |
12 |
Kaplı Kurulu |
Genel 50x 50mm |
1 |
13 |
Atlama Telleri |
Teller |
4 |
14 |
Kabloların Bağlanması |
Teller |
5 |
Kapasitif Dokunmatik Sensörümüz için Kontrol Devresi
Aşağıdaki resim, ESP32 tabanlı dokunmatik sensörümüzün tam devre şemasını göstermektedir .
Gördüğünüz gibi, çok az bileşen gerektiren çok basit bir devredir.
Basit bir dokunmatik sensör devresi olduğu için, bir cihazla dokunarak etkileşim kurmak istediğiniz yerlerde yararlı olabilir, örneğin tipik bir panoya monte edilmiş anahtar kullanmak yerine, cihazlarınızı dokunarak açıp kapatabilirsiniz.
Şematikte, devreye güç sağlamak için gerekli gücü sağladığımız bir giriş olarak bir DC varil jakı kullanılıyor, oradan regülesiz DC girişini sağladığımız sabit bir 5V DC'ye dönüştüren 7805 Voltaj regülatörümüz var. ESP32 modülüne giden güç.
Ardından, şemada, dokunmatik yüzeyi bağlayacağımız 25, 26, 27, 28 pinlerinde dokunmatik konektörlerimiz var.
Daha sonra, bir BD139 transistörü ile anahtarlanan rölelerimiz var, diyot D2, D3, D4, D5, devreyi röle değiştiğinde üretilen herhangi bir geçici gerilimden korumak için var, bu konfigürasyondaki diyotlar olarak bilinir. geri dönüş diyotu / serbest dönen diyot. Her transistörün tabanındaki 560R dirençleri, tabandan geçen akım akışını sınırlamak için kullanılır.
Kapasitif Dokunmatik Sensör Devresi için PCB Tasarımı
Dokunmatik sensör devremizin PCB'si tek taraflı bir kart için tasarlanmıştır. PCB'mi tasarlamak için Eagle'ı kullandık, ancak istediğiniz herhangi bir Tasarım yazılımını kullanabilirsiniz. Kart tasarımımızın 2D görüntüsü aşağıda gösterilmiştir.
Akımı devre kartından geçirmek için kullanılan güç izlerini yapmak için yeterli bir iz çapı kullanıldı. Yükünüzü bu şekilde bağlamak çok daha kolay olduğu için vidalı terminali üst tarafa koyduk ve yan tarafa DC varil jakı olan güç konektörü yerleştirildi, bu da kolay erişim sağlıyor. Gerber ile birlikte Eagle için eksiksiz Tasarım dosyası aşağıdaki bağlantıdan indirilebilir.
- ESP32 Tabanlı Dokunmatik Sensör Kontrol Devresi için GERBER dosyası
Artık Tasarımımız hazır olduğuna göre , kartı aşındırma ve lehimleme zamanı. Aşındırma, delme ve lehimleme işlemleri bittikten sonra, kart aşağıdaki resimdeki gibi görünür,
ESP32 Tabanlı Kapasitif Dokunmatik Sensör için Arduino Kodu
Bu proje için ESP32'yi kısaca açıklayacağımız özel bir kodla programlayacağız. Kod çok basit ve kullanımı kolaydır, Gerekli tüm pinleri tanımlayarak başlıyoruz, bizim durumumuzda dokunmatik sensörlerimiz ve rölelerimiz için pinleri tanımlıyoruz.
#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 TOUCH_S
Ardından, kurulum bölümünde hata ayıklama için UART'ı başlatarak başlıyoruz, daha sonra Seri Monitör penceresi açmak için bize biraz zaman veren 1S'lik bir gecikme ekledik. Ardından, Relay pinlerini çıktı olarak yapmak için Arduinos pinMode işlevini kullanıyoruz, bu da Setup () bölümünün sonunu işaret ediyor.
geçersiz kurulum () {Serial.begin (115200); gecikme (1000); pinMode (Relay_PIN_1, OUTPUT); pinMode (Relay_PIN_2, OUTPUT); pinMode (Relay_PIN_3, OUTPUT); pinMode (Relay_PIN_4, OUTPUT); }
Bizim başlamak döngü bir bölümle eğer açıklamada, yerleşik işlevi touchRead (pin_no) bir iğne dokundu ya da değil olup olmadığını belirlemek için kullanılır. TouchRead (pin_no) işlevi, bir tamsayı değeri aralıkları (0-100) döndürür biz, seçilen iğne dokunma, 100 her zaman yakın değer kalır, ancak değeri sıfıra yakın bir seviyeye düşer ve değişen değer yardımıyla, belirli bir pime parmakla dokunulup dokunulmadığını belirleyebiliriz.
In eğer açıklamada, biz tamsayı değerler herhangi bir değişiklik olduğunda kontrol ediyoruz ve değer ulaşır 28 altında, biz emin bir dokunuş tanımam gerektiğini olabilir. Bir kez eğer ifade doğru olur, biz 50ms bekleyin ve tekrar parametreyi kontrol bu sensör değeri tetik, yanlış ise belirlememize yardımcı olacak bundan sonra, biz kullanarak pim durumuna invert digitalWrite (Relay_PIN_1,! DigitalRead (Relay_PIN_1)) yöntemi ve kodun geri kalanı aynı kalır.
if (touchRead (TOUCH_SENSOR_PIN_1) <28) {if (touchRead (TOUCH_SENSOR_PIN_1) <28) {Serial.println ("Sensöre dokunulduğunda"); 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 ("Sensör İki dokunulmuş"); 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 ("Sensör Üç dokunulmuş"); 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 ("Sensör Dört dokunulmuş"); digitalWrite (Relay_PIN_4,! digitalRead (Relay_PIN_4)); }}
Son olarak, kodumuzu 200 ms'lik başka bir engelleme gecikmesiyle sonlandırıyoruz.
ESP32 Tabanlı Dokunmatik Sensör Devresinin Test Edilmesi
Bu çok basit bir proje olduğu için test seti çok basit gördüğünüz gibi yük görevi gören dirençler ile 4 adet led bağladım, röleye bağlı olduğu için 3Amps'ye kadar her türlü yükü rahatlıkla bağlayabilirsiniz.
Diğer Geliştirmeler
PCB basit olsa da, gerçek PCB'nin alt tarafından görebileceğiniz gibi iyileştirmeler için hala yer var, dört gösterge LED'ini bağlamak için birçok direnç bağladım ve eğer bu durumda PCB'nin boyutu da azaltılabilir. bir gereklilik haline gelir, Umarım makaleyi beğenmişsinizdir ve faydalı bir şeyler öğrenmişsinizdir. Herhangi bir sorunuz varsa, bunları aşağıdaki yorum bölümünde bırakabilir veya diğer teknik sorularınızı göndermek için forumlarımızı kullanabilirsiniz.