- Dokunma sensörü
- Relay hakkında bilgi edinin
- Gerekli Bileşenler
- Devre şeması
- Dokunmatik Sensör Kullanarak Ampulü Kontrol Etmek için Arduino UNO'yu Programlama
- Dokunmatik Sensör TTP223'ün Çalışmasının Test Edilmesi
Bazı uygulamalarda, bir cihazın işlevlerini kontrol etmek için kullanıcı girişi gerekir. Gömülü ve dijital elektroniklerde kullanılan farklı türde kullanıcı giriş yöntemleri vardır. Dokunma sensörü bunlardan biridir. Dokunma sensörü, bir mikro denetleyici ile arayüz oluşturmak için önemli ve yaygın olarak kullanılan bir giriş cihazıdır ve veri girişini kolaylaştırmıştır. İster bir cep telefonu, ister bir LCD monitör anahtarı olsun, dokunmatik sensörün kullanılabileceği ayrı yerler vardır. Bununla birlikte, piyasada pek çok sensör türü bulunmaktadır ancak Kapasitif dokunmatik sensör, dokunmatik sensör segmentinde yaygın olarak kullanılan tiptir.
Önceki eğitimde, Dokunmatik Sensör ve 8051 Mikrodenetleyici kullanarak Işığı Kontrol Etmeyi yaptık, Şimdi bu projede aynı dokunmatik sensör Arduino UNO ile arayüzlenecek. Arduino, oldukça popüler ve kolayca bulunabilen bir geliştirme kartıdır.
Daha önce farklı mikrodenetleyicilerle kapasitif dokunmatik yüzeyler kullanarak dokunmatik tabanlı giriş yöntemlerini kullandık, örneğin:
- ATmega32 Mikrodenetleyici ile Dokunmatik Tuş Takımı Arayüzü
- Raspberry Pi ile Kapasitif Dokunmatik Yüzey
Dokunma sensörü
Bu proje için kullanılacak dokunmatik sensör, kapasitif dokunmatik sensör modülüdür ve sensör sürücüsü IC TTP223 sürücüsüne dayanmaktadır. TTP223 IC'nin çalışma voltajı 2 V ila 5,5 V arasındadır ve dokunmatik sensörün akım tüketimi çok düşüktür. Ucuz, düşük akım tüketimi ve kolay entegre desteği nedeniyle, TTP223 ile dokunmatik sensör, kapasitif dokunmatik sensör segmentinde popüler hale geliyor.
Yukarıdaki görüntüde, sensör şemasının açıkça görülebildiği yerde sensörün her iki tarafı da gösterilmiştir. Sensörün çıkışa göre yeniden yapılandırılmasında kullanılabilen bir lehim bağlantı teline de sahiptir. Atlama teli A ve B'dir. Varsayılan yapılandırma veya lehim bağlantı kablosunun varsayılan durumunda, sensöre dokunulduğunda çıkış DÜŞÜK'ten YÜKSEK'e değişir. Bununla birlikte, atlama teli ayarlandığında ve sensör yeniden yapılandırıldığında, dokunmatik sensör dokunmayı algıladığında çıkış durumunu değiştirir. Dokunmatik sensörün hassasiyeti, kapasitör değiştirilerek de yapılandırılabilir. Ayrıntılı bilgi için, çok faydalı olacak TTP 223'ün veri sayfasını gözden geçirin.
Aşağıdaki grafik, farklı jumper ayarlarında farklı çıkışları göstermektedir.
Atlama Teli A | Atlama Teli B | Çıkış Kilit Durumu | Çıkış TTL seviyesi |
Açık | Açık | Kilitli değil | Yüksek |
Açık | Kapat | Kendinden kilitli | Yüksek |
Kapat | Açık | Kilitli değil | Düşük |
Kapat | Kapat | Kendinden Kilitleme | Düşük |
Bu proje için sensör, fabrika çıkış koşullarında mevcut olan varsayılan yapılandırma olarak kullanılacaktır.
Cihazlar, dokunmatik sensör kullanılarak ve bir mikro denetleyici ile arayüz oluşturularak kontrol edilebilir. Bu projede dokunmatik sensör, Arduino UNO ve Röle kullanılarak bir Ampulü AÇIK veya KAPALI olarak kontrol etmek için kullanılacaktır.
Relay hakkında bilgi edinin
Rölenin arayüzünü oluşturmak için, rölenin pin tanımı hakkında makul bir fikre sahip olmak önemlidir. Rölenin pin çıkışı aşağıdaki resimde görülebilir.
NO normalde açıktır ve NC normalde bağlıdır. L1 ve L2, Röle bobininin iki terminalidir. Gerilim uygulanmadığında, röle kapanır ve POLE NC pini ile bağlanır. Bobin terminallerine gerilim uygulandığında rölenin L1 ve L2'si AÇIK konuma gelir ve POLE NO'ya bağlanır. Böylece, Rölenin çalışma durumu değiştirilerek POLE ve NO arasındaki bağlantı AÇIK veya KAPALI konuma getirilebilir. Uygulamadan önce röle özelliklerini kontrol etmeniz şiddetle tavsiye edilir. Rölenin L1 ve L2 boyunca bir çalışma voltajı vardır. Bazı röleler 12V, bazıları 6V ve bazıları 5V ile çalışır. Sadece buna sahip değil, NO, NC ve POLE'nin de bir voltaj ve akım derecesi vardı. Uygulamamız için anahtar tarafında 250V, 6A dereceli 5V Röle kullanıyoruz.
Gerekli Bileşenler
- Arduino UNO
- Programlama ve güç için USB kablosu
- Standart Kübik Röle - 5V
- 2k direnç -1 adet
- 4.7k direnç - 1 adet
- BC549B transistör
- TTP223 Sensör modülü
- 1N4007 Diyot
- Ampul Tutuculu Ampul
- Bir breadboard
- Arduino'yu USB kablosuyla bağlamak için bir telefon şarj cihazı.
- Çok sayıda bağlantı kablosu veya berg kablosu
- Arduino programlama platformu.
2k direnç, BC549B, 1N4007 ve Röle bir Röle Modülü ile değiştirilebilir.
Devre şeması
Dokunmatik sensörü Arduino ile bağlama şeması basittir ve aşağıda görülebilir,
Transistör, Röleyi açmak veya kapatmak için kullanılır. Bunun nedeni, Arduino GPIO pinlerinin Röleyi sürmek için yeterli akımı sağlayamamasıdır. 1N4007, Röle açık veya kapalı durumu sırasında EMI engellemesi için gereklidir. Diyot, serbest bir diyot görevi görür. Dokunmatik sensör, Arduino UNO kartına bağlanır.
Devre, aşağıdaki gibi Arduino ile bir devre tahtası üzerine inşa edilmiştir.
Uygun devre tahtası bağlantısı aşağıdaki şemada görülebilir.
Dokunmatik Sensör Kullanarak Ampulü Kontrol Etmek için Arduino UNO'yu Programlama
Sonunda video ile birlikte eksiksiz bir program verilmektedir. Burada kodun birkaç önemli bölümünü açıklıyoruz. Arduino UNO, Arduino IDE kullanılarak programlanacaktır. İlk olarak, Arduino'nun tüm varsayılan işlevlerine erişmek için Arduino kütüphanesi dahil edilmiştir.
#Dahil etmek
Rölenin ve dokunmatik sensörün bağlanacağı tüm pin numaralarını tanımlayın. Burada dokunmatik sensör A5 pinine bağlanır. Dahili LED de kullanılır ve kartta pin 13'e doğrudan bağlanır. Röle A4 pinine bağlıdır.
/ * * Pin Açıklaması * / int Touch_Sensor = A5; int LED = 13; int Röle = A4;
Pin modunu, yani giriş veya çıkış olarak pin işlevinin ne olması gerektiğini tanımlayın. Burada dokunmatik sensör girişi yapılır. Röle ve LED pinleri çıkar.
/ * * Pin modu kurulumu * / void kurulumu () { pinMode (Touch_Sensor, INPUT); pinMode (LED, OUTPUT); pinMode (Röle, ÇIKIŞ); }
Dokunulsa da dokunulmasa da sensörün durumunu tutmak için 'koşul'un kullanıldığı yerde iki tam sayı tanımlanır. 'Durum', LED ve Rölenin durumunu açık veya kapalı tutmak için kullanılır.
/ * * Program akışı Açıklama * / int koşul = 0; int durum = 0; // Anahtar durumunu tutmak için.
Dokunma sensörü, dokunulduğunda mantığı 0 ile 1 arasında değiştirir. Bu, digitalRead () işlevi tarafından okunur ve değer, koşul değişkeninde saklanır. Koşul 1 olduğunda LED ve Rölenin durumu değişir. Ancak, dokunmayı doğru bir şekilde algılamak için bir geri çevrilme gecikmesi kullanılır. Geri çevrilme gecikmesi , gecikme (250); tek dokunuşu onaylamak için kullanılır.
geçersiz döngü () { koşul = digitalRead (A5); // Arduino'nun A5 Pininden dijital verileri okumak. eğer (koşul == 1) { gecikme (250); // geri sıçrama gecikmesi. eğer (koşul == 1) { durum = ~ durum; // Anahtarın durumunu değiştiriyoruz. digitalWrite (LED, durum); digitalWrite (Röle, durum); } } }
Dokunmatik Sensör TTP223'ün Çalışmasının Test Edilmesi
Devre, kendisine bağlı düşük güçlü bir ampulle devre tahtasında test edilir.
Bu projenin 230-240V AC voltaj kullandığını unutmayın, bu nedenle ampul kullanırken dikkatli olunması önerilir. Herhangi bir şüpheniz veya öneriniz varsa, lütfen aşağıya yorum yapın.