TV Şeytanı Tanıtımı, Kolay Bir Uzaktan Kumanda Arduino Prank

  • Michael Fisher
  • 0
  • 3602
  • 298
reklâm

Bunu oturma odanızda saklayın ve TiVo kutusu görünüşte sevimsiz alışveriş kanallarını izlemeyi isteyen bir iblis tarafından göründüğü için güler. Nihai hedefiniz, bölgedeki her TV'yi kapatmak ya da evrensel bir Siri kontrollü uzaktan kumanda oluşturmak olsun, bu proje IR kontrolünün ve alıcılarının temellerini öğrenmek için harika bir başlangıç ​​noktasıdır..

Bunda “eşek Şakası”, Bir dizi IR uzaktan komutları kaydeden, sonra oynatan bir cihaz yapacağız. IR uzaktan kumanda kullanan herhangi bir cihazla veya bir kerede bir cihaz karışımını bile çalıştırabilir - 10 tuşa kadar kayıt.

Bileşenler

İşte bu proje için ihtiyaç duyacağınız şeylerin bir listesi:

  • Arduino ve yama telleri
  • TSOP382 gibi bir kızılötesi alıcısı - ancak eski elektroniklerde uyumlu bir tane bulabilmeniz gerekir. Madeni yedek bir RGB aydınlatma kontrolöründen çıkardım. Tipik olarak 3 bacağı vardır ve siyahtır, bir tarafı yarıya bölünmüş ve sıkışmış bir LED'e benzer. Bunun için teknik bir kelime olduğundan eminim.
  • TIL38 gibi IR verici LED'leri - yine, bunlar oldukça yaygın, ancak Maplin'den yeni bir yüksek güç aldım; diğer LED'lerle aynı görünüyorlar, bu nedenle elektronik kitinize karıştırmamaya dikkat edin!
  • IR LED'iniz için uygun direnç - besleme voltajını (Arduino'dan 5 V) ve LED veri sayfasından gelen ileri voltaj ve akımı (genellikle yaklaşık 1.2 V @ 20 mA) verilen bu LED hesap makinesini kullanın. Bu davamda 220 ohm olarak çıktı.
  • Buton ve 10k açılır ve 100 ohm dirençler.
  • Github'dan Ken Shirriff'in IR uzaktan kütüphanesini indirin ve cihazınıza yerleştirin. Arduino / Kütüphaneler Klasör. Ayrıca kullanacağımız bazı örnek kodlar var. Arduino'dan erişilebilir olmalı. Açık -> Kütüphaneler Menü.

kablolama

Bu devreyi üç parçaya ayırın - anahtar biraz titiz, ama her şey kolay. LED'in kısa ayağının düz bir yüzle katod olduğunu (negatif veya toprak) unutmayın; uzun bacak anottur (pozitif).

Sinyalleri Almak

Devam et ve aç kütüphaneler / irRemote / IRrecvDemo Örnek kod Emin ol RECV_Pin doğru bir şekilde ayarlandı, derleyin ve yükleyin, ardından 9600 baud'da Seri konsolu açın. Elinizdeki herhangi bir uzaktan kumandayı alın, alıcınıza doğrultun ve düğmelere basmaya başlayın. Farklı düğmeler farklı kodlar üretecektir; bazıları başlangıç ​​koduyla uzun süre basacak FFFFFF, farklı uzaktan kumandalar kodu tekrar edebilir..

Alınan verilere daha ayrıntılı bir bakış için IRrecvDump bunun yerine, alınan sinyalin türünü (bu durumda 32-bit NEC) ve ham değerleri gösterecektir. Bilmeniz güzel, ancak çoğu durumda kodu çözülmüş değerleri isteyeceksiniz.

Bir Sinyali Tekrarlamak

Bugün şakamızı sıfırdan yazmayacağız, o yüzden devam et ve kontrol et. IRrecord örnek. Kod karmaşıklığı burada büyük ölçüde artmaktadır, ancak çoğu farklı IR kodları ile başa çıkmak için tek şey - temelde, işte döngüde neler oluyor:

  • Düğmeye basıldığını kontrol edin, mevcut durumda kayıtlı olan sinyali tekrarlayın ve her 50 ms'de bir tekrarlayın..
  • Basılmıyorsa ve bir sinyal algılanırsa, bunu kaydedin..

Bu örneğin en büyük sınırlaması, bir defada yalnızca bir kodla çalışmasıdır, bu nedenle başka bir uzaktan düğmeye basarsanız, sonuncunun üzerine yazacaktır. Düğme basitçe aldığı en son sinyali tekrar eder. Kodu derleyin ve çalıştırın, böylece bu temel sinyal tekrarlayıcıya bir göz atabilirsiniz. Tek bir sinyal çalmak için iyi çalışıyor, ama bu bir şakada ya da başka bir şekilde pratik kullanımın çok az olması.

Eşek şakası!

10 veya daha fazla yaramaz sinyal kaydetmek için biraz değiştirelim. Değiştirilen kodun tamamını burada bulabilirsiniz, ancak işte kendiniz için bunu programlamak istemeniz durumunda yaptığım değişikliklerin bir özeti:

  • Her biri algılandığında bir sinyal kümesi depolamak için 10 boyutta 3 yeni dizi ve bu dizilerin boyutunu depolamak için bir tam sayı tanımlayın..
  • O dizide bulunduğumuz yerin dizinini saklayın. Her sinyal algılandığında dizini artır - ancak sinyal tekrar koduysa, artma.
  • Maksimum seviyeye ulaştıktan sonra daha fazla kaydedilmeyi durduran bir Boole değeri.
  • Düğmeyi basılı tutmak yerine, oynatma modunda olup olmadığımızı gösteren bir boolean; ayrıca bu düğmeyi değiştirmek için düğme mantığını değiştirdi.

Arduino (pim 13) üzerindeki gösterge LED'inin bellek dolduğunda aktif olacağını unutmayın. Şu anda, 10 düğmeye basmanız gerekir - daha az değil - ve yeniden çalma modu, her düğme yeniden çalması arasında 1 saniye bekleyecektir. İşte eylemde:

Daha fazla IR şakası yaparak oynayabilir veya bunu daha epik bir ev otomasyonu projesi için iyi bir başlangıç ​​olarak düşünebilirsiniz. Ev Otomasyon Rehberi Ahududu Pi ve Arduino ile Ev Otomasyon Rehberi Ahududu Pi ve Arduino ile birbiriyle uyumsuz ve kurulumu pahalı. Bir Ahududu Pi ve bir Arduino varsa, temelde aynı şeyi başarabilirsiniz…; ve diğer tüm Arduino projelerini de incelemeyi unutmayın. Yaptıklarınızı (veya problemlerinizi) yorumlarda paylaşın ve lütfen en sevdiğiniz sosyal ağlarda paylaşarak bu makale için takdirinizi gösterin!

Resim kredisi: DaGoaty




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.