- Gerekli Bileşenler
- IR İletişimi Nasıl Çalışır?
- Devre şeması
- Arduino IR Uzaktan Dekoder için Programlama
- IR Uzaktan Kod Çözücü Verilerini Excel Sayfasına Kaydetme
IR (Kızılötesi) iletişim basit, düşük maliyetli ve yaygın olarak kullanılan kablosuz iletişim teknolojisidir. IR ışığı, dalga boyunun biraz daha uzun olması dışında, görünür ışığa biraz benzer. IR'nin bu özelliği, onu insan gözü tarafından algılanamaz hale getirir ve kablosuz iletişim için mükemmeldir.
Bazı cihazları IR uzaktan kumanda ile çalıştırmak için IR sinyallerinin kodunu çözmeniz gereken birçok uygulama vardır. Bu eğitimde, Arduino kullanarak bir IR Uzaktan Dekoder oluşturmak için TSOP1838 IR alıcısını kullanacağız . Her düğme için onaltılık kod Microsoft Excel Sayfasına kaydedilecektir. Bu basit IR Uzaktan Kontrol Dekoderi, IR Uzaktan kumanda Robotu, Ev otomasyonu ve diğer IR kontrollü projeler gibi projelerde kullanılabilir.
Daha önce IR uzaktan kumanda ve TSOP alıcısını aşağıdakiler gibi birçok yararlı uygulama oluşturmak için kullandık:
- IR Uzaktan Kumandalı TRIAC Dimmer Devresi
- Arduino kullanarak IR Uzaktan Kontrollü Ev Otomasyonu
- PIC Mikrodenetleyiciyi kullanarak IR Uzaktan Kontrollü Ev Otomasyonu
- Arduino ve Bluetooth kullanarak Cep Telefonu Kontrollü AC
Gerekli Bileşenler
- Arduino Uno / Arduino Nano
- IR Alıcı (TSOP1838)
- Atlama Telleri
- Breadboard
IR İletişimi Nasıl Çalışır?
Diğer iletişim sistemleri gibi, Kızılötesi iletişimde de bir verici ve alıcı bulunur. Verici tıpkı bir LED gibi görünür, ancak görünür spektrum yerine IR spektrumunda ışık üretir. IR alıcısı, IR ışığını bir elektrik sinyaline dönüştüren bir ön amplifikatör ile gömülü bir fotodiyot iken. IR iletişimi için hem verici hem de alıcı birbirine yönlendirilmelidir. Kızılötesi verici ve alıcı devresi hakkında daha fazla bilgi edinmek için bağlantıyı takip edin.
Bir uzaktan kumanda düğmesine basıldığında, IR LED (Verici) kızılötesi ışık yayar. Bu ışık, tipik olarak bir fotodiyot veya fototransistör olan Alıcı tarafından alınır. Ancak kızılötesi ışık aynı zamanda güneş, ampuller ve ısı üreten diğer her şey tarafından da yayılır. Bu, verici sinyaline müdahale edebilir, bu nedenle önlemek için verici sinyali 36 kHz ila 46 kHz arasında bir taşıyıcı frekans kullanılarak modüle edilir. Sinyali aldıktan sonra, IR alıcısı sinyali demodüle eder ve onu mikrodenetleyiciye göndermeden önce ikiliye dönüştürür.
Burada IR sinyali göndermek için bir TV uzaktan kumandası ve bunları almak için Arduino ile TSOP1838 kullanıyoruz.
Ayrıca, burada TV Uzaktan Kumanda Karıştırıcı Devresi ve IR test devresi dahil olmak üzere çeşitli IR tabanlı uygulamaları kontrol edin.
Devre şeması
Arduino kullanan IR Uzaktan Dekoder için Devre şeması aşağıda verilmiştir:
IR Alıcı sensöründe yalnızca üç pin, Vs, GND ve Data olduğundan bağlantılar çok basittir. IR Alıcının Vs ve GND pinini Arduino'nun 3.3V GND pinine ve Data pinini Arduino'nun Digital pin 2'sine bağlayın.
Arduino IR Uzaktan Dekoder için Programlama
Arduino IR Dekoderi için tam kod sayfanın sonunda verilmiştir.
IR Remote'un kodunu çözmek için önce, Arduino IDE'ye bir IR kütüphanesi indirip eklememiz gerekiyor. IR Remote kitaplığını buradan indirebilirsiniz. Dosyayı indirdikten sonra, Arduino IDE'nizi açın ve Sketch> Include library> Add.zip library'ye gidin . Kitaplık dosyasını seçin ve 'Aç'a tıklayın.
IR Remote kitaplık dosyasını ekleyerek kodunuzu başlatın.
#Dahil etmek
Bundan sonra IR Alıcının Data pinini bağladığınız Arduino pinini tanımlayın. Benim durumumda Arduino'nun D2 pinine bağlı.
int IRPIN = 2;
Bundan sonra IR Alıcı pini için bir örnek oluşturun.
IRrecv irrecv (IRPIN);
Sonraki satırda, decode_results sınıfı için bir nesne tanımlayın, bu, IR alıcısı tarafından kodu çözülmüş bilgileri göndermek için kullanılacaktır.
decode_results sonucu;
İçinde setup () işlev, seri iletişim başlatmak ve çağrı IR alıcısı başlangıç IRrecv fonksiyonu enableIRIn ().
geçersiz kurulum () {Serial.begin (9600); Serial.println ("IRin'i Etkinleştirme"); irrecv.enableIRIn (); Serial.println ("Etkin IRin"); Initialize_streamer (); }
Gelen döngü () işlev irrecv.decode sürekli yeni sinyal için ve yeni bir işaret alınırsa, alınan sinyal kodu depolanacak kontrol result.value fonksiyonu.
void döngü () {if (irrecv.decode (& sonuç)) {Serial.print ("Değer:"); Serial.println (sonuç.değer, HEX); Yazma_akımı (); irrecv.resume (); } gecikme (500); }
Arduino'dan bir Excel sayfasına veri göndermek için PLX-DAQ kullanıyoruz. Write_streamer () işlevini kullanarak, verileri seri olarak, değeri seri monitörde görüntüler gibi belirli bir düzende gönderiyoruz. Temel satırlar aşağıda açıklanmıştır:
void Write_streamer () {Serial.print ("DATA"); // Aşağıdakileri Data Serial.print (",") olarak belirtmek için her zaman "DATA" yazın; // Bir "," Serial.print (sonuç.değer, HEX) kullanarak sonraki sütuna git; // Tarihi Excel'de Serial.print (","); // Bir "," Serial.println () kullanarak sonraki sütuna git; // Satır Sonu sonraki satıra taşınır}
Donanım ve program hazır olduğunda, programı Arduino Nano Board'unuza yükleme zamanı gelmiştir. Kodu yükledikten sonra, uzaktan kumandayı IR alıcısına doğrultun ve uzaktan kumanda düğmelerine basın. Her düğme için onaltılık kod seri monitörde yazdırılacaktır.
IR Uzaktan Kod Çözücü Verilerini Excel Sayfasına Kaydetme
Şimdi bir Excel sayfasına veri göndermek için PLX-DAQ kullanacağız. Arduino'dan değerleri Dizüstü veya PC'nizdeki bir Excel sayfasına doğrudan yazmanıza yardımcı olan bir Excel Plug-in yazılımıdır. Dosyayı indirmek için bağlantıyı kullanın. İndirdikten sonra, dosyayı çıkartın ve yüklemek için.exe dosyasına tıklayın. Masaüstünüzde PLX-DAQ adlı bir klasör oluşturacaktır.
Şimdi masaüstü klasöründen ' PLX-DAQ elektronik tablo' dosyasını açın. Excel'inizde makrolar devre dışı bırakılmışsa, aşağıdaki resimde gösterildiği gibi bir güvenlik bloğu göreceksiniz:
Tıklayın > Seçenekler- içeriği etkinleştir -> Son -> Tamam Makroları etkinleştir. Bundan sonra aşağıdaki ekranı göreceksiniz:
Şimdi baud hızını “9600” olarak ve Arduino'nuzun bağlı olduğu portu seçin ve ardından veri akışını başlatmak için Bağlan'a tıklayın. Değerleriniz aşağıdaki resimde gösterildiği gibi kaydedilmeye başlamalıdır.
Bu, bir Arduino IR Uzaktan Kod Çözücünün, IR uzak sinyallerini eşdeğer HEX koduna dönüştürmek için kolayca oluşturulabilmesidir.
Bir demo video ile eksiksiz Arduino kodu aşağıda verilmiştir.