- Gerekli Bileşenler:
- Çalışma Açıklaması:
- Devre şeması:
- Arduino kullanarak IR Uzaktan Kumanda Sinyallerini Çözme:
- IR Blaster için Android Uygulamasını Oluşturma:
Bu projeye, evimdeki çeşitli uzaktan kumandalardan kurtulmak ve hepsinin özelliklerini barındırabilecek tek bir şey inşa etmek için başladım. Bu fikri, bir arkadaşımın dahili IR blasterlı cep telefonunu gördüğümde anladım, o sırada benzer bir telefon satın almamaya karar verdim, mevcut telefonumla uyumlu olması gereken kendi cihazımı yapmaya karar verdim. Yani burada, evde çeşitli cihazları kontrol etmek için Arduino kullanarak bir Android Telefonu IR Uzaktan Kumandaya dönüştüreceğiz.
Gerekli Bileşenler:
- Arduino Uno
- IR LED
- TSOP-IR alıcı (1838T)
- Bluetooth modülü (HC05)
- Android Cihaz (Telefon, Tablet vb.)
Çalışma Açıklaması:
Genelde evde televizyonu çalıştırmak için iki uzaktan kumanda kullanıyoruz, biri televizyon için diğeri Set Üstü Kutu için bu nedenle bu Projede bu iki uzaktan kumandayı hedefliyorum ve IR Blaster olarak çalışan bir Android Telefon yapıyorum, böylece TV Telefon ile kontrol edilebilir. Uzaktan kumandaların hiçbirine dokunmadan.
Arduino Uno kartını kullanmak, IR kod çözme ve kodlama bölümüyle uğraşmamı kolaylaştırdı. Özel yapılmış kalkan sadece bu projenin kolaylık kısmına üzerine ekler. Kalkan bir TSOP IR alıcısı (1838T), bir IR LED ve bir Bluetooth modülünden (HC-05) oluşur, aşağıdaki resme bakın:
Aşağıdaki bölümde 'Devre Şeması'nda gösterildiği gibi özel kalkanı oluşturabilir veya bileşenleri doğrudan Arduino'ya bağlayabilirsiniz.
İlerlemeden önce, önce 'IR uzaktan kumandalarının nasıl çalıştığını' tartışalım. IR uzaktan kumandalarının çoğu 38 KHz frekanslarında çalışıyor (18 38 T'yi seçmemin nedeni budur). Bu konuya daha fazla dahil edildiğinde, bu IR veri aktarım yöntemlerinde sıfırlar ve birler için sabit bir temsil olmadığı fark edilecektir. Bu kodlar, mühendislik müfredatımızda (elektronik mühendisliği öğrencisi olduğum için) incelediğimiz çeşitli kodlama tekniklerini kullanır. 38 KHz'in önemi, sinyalin mantıksal olarak yüksek olduğunda salındığı frekans olmasıdır, yani bu, sinyalin taşıyıcı frekansıdır. Aşağıdaki resme bir göz atın; bu bir NEC Protokolü örneğidir. Bu, konseptinizi daha net hale getirecek:
İşte bu IR Blaster nasıl çalışır; Özel yapım Android Uygulamasına sahip bir Android Telefon, sinyali Bluetooth üzerinden Arduino devresine gönderir, ayrıca Arduino sinyali TSOP-IR alıcısı (1838T) üzerinden alır ve analiz eder. Ardından Arduino, IR LED'inin o Android Cihaz Uygulamasında basılan düğmeye karşılık gelen belirli bir düzende yanıp sönmesini sağlar. Bu yanıp sönme paterni TV veya Set Üstü kutunun IR alıcısı tarafından yakalanır ve kanalı değiştirmek veya sesi artırmak gibi talimatı buna göre izler.
Ancak ondan önce mevcut uzaktan kumandaların kodunu çözmemiz gerekiyor. Daha önce de belirtildiği gibi, bu projede biri TV ile iletişim kurarken diğeri TV'ye bağlı Set üstü kutu için olan iki uzaktan kumanda kullandım.
Devre şeması:
Arduino kullanarak IR Uzaktan Kumanda Sinyallerini Çözme:
Buradaki Arduino kartı iki aşamada çalışır, biri onu uzaktan IR kodlarını çözmek için kullandığınızda, diğeri ise IR blaster cihazı olarak kullandığınız zamandır.
İlk aşamadan bahsedelim. Şimdi etmek IR düğmesi kodlarını çözmek, ben kullanımı yaptık Ken Shirriff en irRemote başlık dosyasında. Bu başlık dosyasında, yalnızca IR kodlarıyla çalışmamızı kolaylaştırmak için önceden tanımlanmış birçok örnek / kod bulunur:
- Öncelikle IR uzak kitaplığını buradan https://github.com/z3t0/Arduino-IRremote indirip yüklemeniz gerekir.
- Onu açın ve Arduino 'Kitaplıkları' klasörünüze yerleştirin. Ardından çıkarılan klasörü IRremote olarak yeniden adlandırın.
- Ardından, aşağıda verilen kodu Arduino'ya yazın, özel kalkanı yukarıda gösterildiği gibi takın ve TSOP IR alıcısının önüne kodu çözülecek bir uzaktan kumanda yerleştirin. Bu Arduino'ya karşılık gelen seri monitörü açın ve uzaktan kumandadan istediğiniz herhangi bir düğmeye basın. Terminal üzerinde bazı bilgilerin görüntülendiğini göreceksiniz, bu bilgi kodun türünü, değerini ve onunla ilgili bit miktarını içerir. Şöyle görünüyor:
#Dahil etmek
İstenilen kod çözme bölümünü tamamladığınızda, tüm kod çözme değerlerini ve diğer bilgileri ilgili düğme adlarına basılarak not edin. Bu, Arduino'nun bir sonraki aşaması için bir veritabanı görevi görecek. Yukarıdaki program IRremote kütüphanesinin 'örnekler' klasöründen alınmıştır, IR uzaktan kumandayı kullanma hakkında daha fazla bilgi edinmek için daha fazla örneği inceleyebilirsiniz. Böylece IR uzak çıkışının kodunu böyle çözdük.
Şimdi sonunda Kod bölümünde verilen Kodu aynı panoya yazın. Tebrikler, bu projenin ilk yarısını tamamladınız.
IR Blaster için Android Uygulamasını Oluşturma:
İşte ikinci yarısı, Android Uygulaması yapımı. Bu tür uygulamalar yapmak için MIT'in APP inventor-2'yi kullanmayı tercih ediyorum. Android kodlamada amatörseniz bu size zaman kazandıracak ve iyi sonuçlar sağlayacaktır. Bu uygulamanın yapımında kullanılan ana bileşenler çok fazla değil, sadece birkaç düğme ve bir Bluetooth istemci paketi. Uygulamayı kodlarken, ekranda basılan her düğme için gönderilecek karşılık gelen metni sağlayın; bu, Arduino'nun IR LED'inin, bireysel uzaktan kumanda ile aynı şekilde yanıp sönmesini isteyecektir; ayrıca Bluetooth HC-05 modülünüzün doğru adresini verdiğinizden emin olun. Son Uygulama Android Akıllı Telefonunuzda şu şekilde görünecektir:
Uygulamayı oluşturmak için adım adım işlem şu şekildedir:
AŞAMA 1:
Bu bağlantıda oturum açın: ai2.appinventor.mit.edu veya Google'da MIT appinventor-2'yi deneyin ve arayın. AI2'de oturum açmak bir Google hesabı gerektirir, bu nedenle eğer yoksa bir tane oluşturun.
ADIM 2:
Google hesabınızla giriş yaptıktan sonra, aşağıdaki gibi görünen AI2 çalışan web sayfasına yönlendirileceksiniz:
Üstteki "Projeler" sekmesine tıklayarak yeni bir proje başlatın ve "Yeni Proje Başlat" ı seçin. Adlandırma bölümünü ve tümünü tamamladığınızda, yukarıda gösterildiği gibi düğmeleri ve metni yerleştirebileceğiniz boş bir ekran görüntülenecektir. Bu, uygulamanın bir kullanıcıya nasıl görüneceğine karar verdiğiniz GUI ekranıdır.
Bir düğme paketi kullanmak için, "Kullanıcı Arayüzü" bölümünün altında ekranın sol tarafında bulunan "Düğme" sekmesini seçin. Sol taraftaki menüden herhangi bir paketi sürükleyin ve çalışma ekranına bırakın. Metinle ilgili herhangi bir şeyi görüntülemek için benzer şekilde, "Etiket" paketini kullanın.
AŞAMA 3:
Tüm düğmelerinizi ve etiketlerinizi düzenledikten sonra, şimdi bu uygulama için bir kod oluşturma zamanı. Ancak bundan önce Arduino ile iletişim kurmak için bir Bluetooth paketi seçmemiz gerekiyor.
Bu paketin ekranda görünmediğini, bunun yerine "Görünmeyen Bileşenler" altında geldiğini fark edeceksiniz. Bunlar GUI makyajında önemi olmayan bileşenlerdir.
ADIM 4:
Ardından, seçtiğiniz ve çalışmak istediğiniz bileşenlerin işlevini tanımlayacağınız kodlama bölümü gelir.
Ekranın sol tarafında, GUI bölümünde seçtiğiniz tüm paketleri göreceksiniz. Yukarıdaki görüntü, kullanabileceğiniz belirli bir pakette tüm bileşenlerin neler olduğunu gösterir. Ayrıca, Bluetooth modülünün adresinin metin biçiminde sağlanması gerektiğine dikkat edin.
AYAR 5:
Uygulamanın kullanıma hazır olduğunu ve herhangi bir hata olmadığını hissettiğinizde, yukarıda gösterildiği gibi "Oluştur" sekmesine tıklayın ve ikinci seçeneği seçin. Bu, kendi oluşturduğunuz uygulamanızı bilgisayara “.apk” formatında indirecektir. Ardından bu.apk dosyasını herhangi bir Android cihaza aktarın ve yüklemek için üzerine tıklayın.
Yani Akıllı telefonunuzla herhangi bir IR uzaktan kumandalı cihazı bu şekilde kontrol edebilirsiniz, sadece telefonunuzla kontrol etmek istediğiniz herhangi bir cihazın uzaktan kodunu çözmeniz ve Arduino kodundaki uzak düğmelerin kodu çözülmüş HEX kodunu değiştirmeniz yeterlidir.