TV Uzaktan Kumandasını Kullanarak Arduino Tabanlı Ev Otomasyon Sistemi Nasıl Tasarlanır?
Ev Otomasyon Sistemi, modern dünyanın en hızlı büyüyen konseptidir. Akıllı ev otomasyonu, bir evin çeşitli elektronik parametrelerini kontrol etmek için tek bir cihazın kullanıldığı bir konsepttir; örneğin, ev aletlerinin değiştirilmesi, güvenlik alarmlarının izlenmesi, garaj kapısı otomasyonu vb.
Bu projede, basit bir ev otomasyon sistemi yapmak için basit bir TV uzaktan kumandası kullanacağız. Bu TV uzaktan kumandası, mikrodenetleyici kartına bağlı tüm cihazları kontrol edecektir.
Ev Otomasyon Sistemi Yapmak İçin TV Kumandası Nasıl Kullanılır?
Halihazırda piyasada bulunan Ev Otomasyon sistemleri oldukça maliyetlidir. Farklı ev aletlerini bağlamak ve bunları bir TV uzaktan kumandası kullanarak kontrol etmek için bir Arduino kartı kullanabiliriz. Bu çok düşük maliyetli ve evi otomatikleştirmenin verimli bir yolu olacaktır. Şimdi bir adım öne geçelim ve projeyi başlatmak için bilgi toplamaya başlayalım.
Adım 1: Bileşenleri Toplama
Herhangi bir projeye başlamak için en iyi yaklaşım, bileşenlerin bir listesini yapmak ve bu bileşenlerin kısa bir incelemesini yapmaktır çünkü hiç kimse eksik bir bileşen yüzünden bir projenin ortasında kalmak istemeyecektir. Bu projede kullanacağımız bileşenlerin bir listesi aşağıda verilmiştir:
Adım 2: Bileşenlerin İncelenmesi
Şimdi hangi bileşenleri kullanacağımızı bildiğimize göre, devremizin nasıl çalıştığını daha iyi anlamak için bunları kısaca inceleyelim.
Arduino Nano, farklı devrelerde çeşitli işlemleri gerçekleştiren bir mikrodenetleyici kartıdır. Gerektirir C Kodu bu, kurula hangi görevleri ve nasıl gerçekleştireceğini söyler. 13 dijital I / O pinine sahiptir, bu da 13 farklı cihazı çalıştırabileceğimiz anlamına gelir. 13'ten fazla cihazı kontrol etmek istiyorsanız, Arduino Mega kullanın.
TSOP 1738, Uzaktan Kumandalar için bir IR modülüdür. 38kHz taşıyıcı frekansına sahiptir. Sinyali algılayan ve ardından demodüle eden bir fotodetektörden oluşur. Çıkışı doğrudan Arduino veya başka bir mikrodenetleyici kartı tarafından kullanılır.
Bir röle modülü, bir anahtarlama cihazıdır. İki modda çalışır, Normalde Açık (NO) ve Normalde Kapalı (NC). NO modunda, Arduino üzerinden röleye YÜKSEK bir sinyal göndermediğiniz sürece devre her zaman kesilir. NC modu tam tersi şekilde kötüleşir, röle modülünü açmadığınız sürece devre her zaman tamamlanır. Elektrikli Cihazınızın pozitif kablosunu aşağıda gösterilen şekilde röle modülüne bağladığınızdan emin olun.
Standart bir TV uzaktan kumandasında bir güç düğmesi ve üzerinde tüm sayısal tuşlar bulunur. Bu sayısal tuşlar, elektrikli aletlerin anahtarlanması için kullanılacaktır.
Adım 3: Devreyi Yapmak
Artık tüm bileşenlerin nasıl çalıştığını bildiğimize göre, devam edelim ve devreyi yapmaya başlayalım.
- Bir devre tahtası alın ve Arduino Nano'nuzu ve TSOP 1738'inizi içine yerleştirin.
- TSOP 1738 modülünü ve röle modülünü Arduino üzerinden çalıştırın. Bağlan DIŞARI TSOP1738'in pinini Arduino'nun pin11'ine bağlayın ve ayrıca İÇİNDE röle modülünün pinlerini Arduino'ya. Yalnızca iki elektrikli cihazı kontrol ediyorum, bu nedenle burada yalnızca röle modülleri kullanıyorum. Daha fazla cihazı kontrol etmek istiyorsanız, benzer şekilde daha fazla röle modülü bağlayın.
Adım 4: Arduino'ya Başlarken
Daha önce Arduino IDE üzerinde çalışmadıysanız endişelenmeyin çünkü Arduino IDE'yi kurmak için adım adım adımlar aşağıda gösterilmiştir.
- Arduino kartınızı PC'ye bağlayın ve Kontrol Panelini açın. Tıklamak Donanım ve ses.Şimdi aç Cihazlar ve Yazıcı ve kartınızın bağlı olduğu bağlantı noktasını bulun. Benim durumumda COM14ancak farklı bilgisayarlarda farklıdır.
- Araç menüsüne tıklayın ve panoyu şu şekilde ayarlayın: Arduino Nano (AT Mega 328P).
- Araç menüsünü tekrar tıklayın ve daha önce kontrol panelinde gözlemlediğiniz bağlantı noktasını ayarlayın.
- Aynı Araç menüsünde İşlemciyi şu şekilde ayarlayın: ATmega328p (Eski Önyükleyici).
- Uzaktan kumanda tarafından gönderilen verilerin kodunu çözmek için, A kodu Arduino için özel bir kitaplığa ihtiyacımız var. Bu kitaplık, aşağıdaki bağlantıdaki kodla birlikte eklenmiştir. Kütüphaneye gitmek için Eskiz> Kitaplığı Dahil Et> ZIP Kitaplığı Ekle. Bir kutu görünecektir. Bilgisayarınızda ZIP klasörünü bulun ve klasörü eklemek için Tamam'ı tıklayın.
- Aşağıda ekli kodu indirin ve kodu Arduino Nano kartınıza yazmak için yükleme düğmesine tıklayın.
Kodu almak için indirme düğmesine tıklayın.
Adım 5: Kod
Kodun anlaşılması çok kolaydır, ancak yine de aşağıda kısaca açıklanmıştır.
1. geçersiz kurulum ()INPUT veya OUTPUT pinlerini başlattığımız bir fonksiyondur. Bu işlev ayrıca baud hızını da ayarlar. Serial.begin () komut. Baud Hızı, mikro denetleyicinin iletişim hızıdır.
2. geçersiz döngü ()bir döngüde tekrar tekrar çalışan bir işlevdir. Bu döngüde, mikrodenetleyici panosuna hangi görevleri ve nasıl yapacağını söyleyen bir kod yazıyoruz.
3. TV uzaktan kumandasından veri gönderdiğimizde, Arduino'nun bu veriyi çözmesi gerekir. Bunun için özel bir kütüphane ekledik #Dahil etmek
#Dahil etmekint RECV_PIN = 11; IRrecv irrecv (RECV_PIN); decode_results sonuçları; geçersiz kurulum () {Serial.begin (9600); irrecv.enableIRIn (); } void döngü () {if (irrecv.decode (& sonuçlar)) {Serial.println (results.value, HEX); irrecv.resume (); } gecikme (100); }
Yukarıdaki kod, uzaktan kumandadan gönderilen değerleri okuyor ve karşılık gelen HEX değerine kodunu çözüyor. Bu kod, Arduino IDE'deki IRremote kütüphanesi örneklerinden alınmıştır. Bu kod, indirme bağlantısına adıyla da eklenmiştir test.ino yukarıda verilmiştir. Tüm sayısal tuşlara basıldığında bu işlevin çıktısı şu şekilde olacaktır:
4. içinde code.ino Yukarıdaki indirme bağlantısına ekli olarak, kullanılacak Arduino'nun pinleri başlatılır. İçinde geçersiz döngü () fonksiyonu, uzaktan kumandadaki bir düğmeye basıldığında, başlangıçta Yanlış durum döndü Doğruve ilgili röle açılır. Aynı düğmeye tekrar basılırsa, boole koşulunu değiştirecek ve röleyi kapatacaktır. Güç düğmesi tüm Röleleri açar veya kapatır.
void döngü () {if (irrecv.decode (& sonuçlar)) {Serial.println (results.value, HEX); gecikme (100); eğer (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } eğer (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // gecikme (200); } eğer (results.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // gecikme (200); } irrecv.resume (); // Sonraki değeri alın // delay (100); }}
Bu, bir TV uzaktan kumandasıyla kontrol edilen basit bir Ev Otomasyon Sistemini yapmak için gereken tüm prosedürdü. Artık cihazlarınızın sayısına göre röle modülleri bağlayabilir ve kendi Akıllı Ev Otomasyon Sisteminizin keyfini çıkarabilirsiniz.