Şimdi Ara

IR kumanda kodlarını okuyabilirmiyim ?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
28
Cevap
0
Favori
4.803
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Merhaba arkadaşlar

    Kızılötesi kumandaların kodları çözülebilir mi diye hep merak etmişimdir. Hiç bu konuda çalışma yapmadım ama sanırım bu haberleşme şu şekilde oluyor.

    Alıcı göze kendi frekansında IR led ile kare dalgalar gönderilerek, bu kare dalgalara 1 ve 0 lar yükleniyor. Burada bilginin kaç bitlik olacağının bilinmediğini ve bununda bulunabileceğini düşünüyorum. Ancak forumda IR kumanda kodlarını arayan arkadaşları görünce tahminlerimde bir yanlışlık mı var diye düşünüyorum.

    Bu düşünceden yola çıkarak elimde bulunan IR kumandaların kodlarını okuyacak bir devre yapmayı düşünüyorum. Bu çalışmayı yaparken bildiklerimin dışında bilmem gerektiğini düşündüğünüz birşeyler varsa, paylaşırsanız sevinirim.

    Teşekkürler.



  • Programcının hünerisi faktörünü bir kenara bırakırsak, Aynı frekanstaki ürünler için kodlarını orjinal kumanda ile öğrenebilecek bir kumanda yapılabilirmi ?
  • Evet yapılabilir. Hattahttp://www.dicleelektronik.com/
  • Teşekkür ederim.
  • Verdiğiniz örnekteki kumanda da kayıtlı cihaz kodlar var ve siz hangi cihazı kontrol etmek istiyorsanız akıllı kumandanın kitapçığında o cihaza uygun olan kodu girerek o cihaza uyan kodların gönderilmesini sağlamış oluyorsunuz. Benim düşündüğüm ise kumanda üzerinde koyulacak bir IR gözden pulsleri okuyarak istendiğinde IR led ile aynı pulslerin gönderilmesini sağlamak. Sürekli basıldığında mutlaka kodlar arası bekle süresi olacağını düşünüyorum ve bu aralıklar içinde kodu (start, data,stop vs.) kopyalamayı düşünüyorum.

    Sizce de bu mümkünmüdür ?
  • Senin dedigin akıllı kumanda degilde ogrenebilen kumanda. Kodlara gerek kalmadan calısması lazım. Benim gordugum sadece bir casio saat vardı bunu yapan :) Akıllı kumanda (kodlarla calısan) nispeten daha kolay...
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • burst start stop command device gibi kodları gelen sinyalden ayıklamak için protokolu ve modülasyon frekansını bilmek gerekiyor. istediğiniz şeyi yapabilmenin en kolay yolu. bir IR diyot üzerine düşen işareti yorumlamadan µC ın registerine kaydedip kullanılacağı zaman tekrar kaydetme sırasıyla çağırmak olacaktır.

    http://www.geocities.com/r2d2droids/downloads/appnotes/ir.zip
    IR ile ilgili bir döküman...
  • evimdeki arşivde böyle bir devre vardı.devrede pic lcd ve ır alıcı vardı yanlış hatırlamıyorsam bir ara foruma mikroişlemci arşivini eklemiştim belki devre orada olabilir
  • sağolun arkadaşlar.
  • Arkadaşlar ilginizden dolayı hepinize ayrı ayrı teşekkür ederim.

    Önce bir adet IR gözün çıkışını mcu nun bir kapısına bağlayarak kumandadan bir tuşa basınca gelen darbeleri saymak istedim ( Aynı komutun tuşa basıldığı sürece gönderilmesi şu aşamada sorun değil). Daha sonra da bu gelen darbeler arasındaki süreleri ölçmeyi hedefledim.

    IR göz kumandadan bir tuşa basana kadar hiçbir puls oluşturmuyor. kumandadan bir tuşa basıp bırakınca mcu 11 adet puls görüyor. Buraya kadar herşey yolunda. Fakat 11 pulsten 1-2 sn. kadar sonra sürekli darbe saymaya başlıyor. (alıcı gözün dış etkenlerden etkilenmemesi için üstüne siyah renkte foroğraf film kutusunu geçirdim). kumandadan bir tuşa basmazsam 1 saat bile geçse tek puls gelmiyor ne zamanki bir tuşa basarsam arkası kesilmiyor.
    Alıcı gözün çıkışı ile VSS arasına 4K7 res. koydum ve kadırdım. VSS,GND arasına 100nf takarak ve çıkararak denedim sonuç hep aynı.

    Bir fikri olan varmı ?




  • quote:

    Orjinalden alıntı: sezer1247

    evimdeki arşivde böyle bir devre vardı.devrede pic lcd ve ır alıcı vardı yanlış hatırlamıyorsam bir ara foruma mikroişlemci arşivini eklemiştim belki devre orada olabilir


    Arşivi indirdim ama içinde böyle bir devre göremedim. Birçok IR kumanda devresi mevcut. yüzlerce sayfaya tek tek baktım ama gözden kaçırmış olabilirmiyim acaba ?

    Siz yerini hatırlıyormusunuz ?
  • quote:

    Orjinalden alıntı: tyilgin1

    Arkadaşlar ilginizden dolayı hepinize ayrı ayrı teşekkür ederim.

    Önce bir adet IR gözün çıkışını mcu nun bir kapısına bağlayarak kumandadan bir tuşa basınca gelen darbeleri saymak istedim ( Aynı komutun tuşa basıldığı sürece gönderilmesi şu aşamada sorun değil). Daha sonra da bu gelen darbeler arasındaki süreleri ölçmeyi hedefledim.

    IR göz kumandadan bir tuşa basana kadar hiçbir puls oluşturmuyor. kumandadan bir tuşa basıp bırakınca mcu 11 adet puls görüyor. Buraya kadar herşey yolunda. Fakat 11 pulsten 1-2 sn. kadar sonra sürekli darbe saymaya başlıyor. (alıcı gözün dış etkenlerden etkilenmemesi için üstüne siyah renkte foroğraf film kutusunu geçirdim). kumandadan bir tuşa basmazsam 1 saat bile geçse tek puls gelmiyor ne zamanki bir tuşa basarsam arkası kesilmiyor.
    Alıcı gözün çıkışı ile VSS arasına 4K7 res. koydum ve kadırdım. VSS,GND arasına 100nf takarak ve çıkararak denedim sonuç hep aynı.

    Bir fikri olan varmı ?


    direnci pull-up olarak bağlayın. uygulama devrenizi eklerseniz çözüme daha rahat gideriz. son olarak elinizde aynı model başka bir modül daha varsa onuda deneyin. acaba sorun modüldemi?

    edit: Vss dediğiniz sanırım Vcc...



    < Bu mesaj bu kişi tarafından değiştirildi r2d2droids -- 16 Haziran 2007; 21:52:03 >




  • Direnci pull-up olarakta bağladım. Ayrıca 1 saat abartılı bir kelime olmuştu ama kumandadan tuşa basmazsam uzun bir süre bekliyordu. Bugün gidip bir adette barier devresi aldım. ve farkettim ki onun çıkışında da böyle saçmalklar oluyor. Sanırım 38Khz frekansına göre bakmalıyım.

    İlk başladığım zamanlarda caller-id işini çözmeye çalışırken seri iletişimi de benzer şekilde dinliyor ve çok saçmalarla karşılaşıyordum. Sonra bitlerin tam ortasını okuyunca sonuca ulaşabilmiştim. Burada da bitlerin tam ortasını okumak için ilk darbeyi alır almaz ne kadar beklemem (/2), ikinci ve üçüncü darbeler arasında da ne kadar durmam (x1) gerektiğini sanırım bir türlü hesaplayamıyorum. Hesaplarıma göre (1sn / 38Khz = 26.. uSn.) 26 mikro saniye olmalı diye düşünüyorum. Ama sizin verdiğiniz linkteki örnekte verici rutin içindeki bekleme prosedürü iç içe geçirilmiş 64h lik 2 döngüden oluşuyor.(100x100=10000) ki buda bittest+decfsz olarak iki komuttan sayarsak 20.000 komut oda eğer option_reg de prescaller "000" verildi ise bile 10msn eder buda saniyede 100Hz. ( Sanırım hesapta mutlaka yanlış yapıyorum. )

    Aldığım barier devresinde hem alıcı hemde verici mevcut. Birde işe tersten bakayım dedim. IR lede ben kare dalgalar göndererek alıcıdaki röleyi çektirmeyi düşündüm. ve bu testi, 1 ve 0 lar arasında 26uSn ve 57uSn bekleyerek başarabildim. Her ne kadar kendi vericisi 6-7 mt den çekerken benimkisi 10cm. den uzağa gidememiş olsada...

    Yaptığım evrenin şemasını ve programın ayıklanmış halini temize çekip ekleyeceğim.

    Teşekkür ederim.

    Edit : Doğru Vss dediğim +5V. Alıcı gözün datasında VS diye bahsetmiş bende bu terminolojiye uyayım demiştim bir "s" faza koymuşum.



    < Bu mesaj bu kişi tarafından değiştirildi tyilgin1 -- 16 Haziran 2007; 22:07:50 >




  • evet iç içe döngüler var sizinkinden farklı olarak ben gelen darbenin periodunu biliyorum ve ilk darbeden sonra yarım period kaydırarak okumaya başlıyorum. yanlız önemli olan bir nokta daha var gelen sinyalin daha doğrusu modül çıkışındaki sinyalin üzerinde artık taşıyıcı işareti yok ( 38kHz vs vs ) çıkan işaret sadece data bilgisi.

    bu arada programı neyle yazıyorsunuz?

    vericinizin güçlü olması için IRLED ön direncini düşük, anahtarlama transistörü Ic akımını ise büyük seçin. mesela BC337 kullanın. 800mA kollectör akımını kaldırabilir. BC237 kullanmayın yani. bir ip ucu daha baz direncine paralel 100p gibi bir kond bağlayın...




  • Programı Picbasicte yazıyorum. "Artık taşıyı" kısmını pek anlayamadım.

    Ben bu iletişimi ilk başta udea nın RF modülleri gibi düşünmüştüm. IR ledden ışığı verdikçe alıcı göden de çıkış alırım sanıyordum. ama sanırım ledin parlayıp kararana kadarki zamanlarını kesmek için alıcı göz içerisinde bitlerin başı ve sonu kırpılıyor diye düşündüm. bu dediğimde doğru olsaydı sürekli ledi yaktığımda alıcı gözden de kırpık kırpık sinyaller elde etmem gerekirdi. ama olmuyor. 27uSn (sanırım) de bir darbe vermezsem alıcı banamısın demiyor.

    Sizi verdiğiniz örnekte de hiç iki adet "1" biti arka arkaya gelmediği için sanırım bir sorun olmuyor. Çünkü anladığım kadarı ile alıcı, sürekli kesintisiz yanan ledi kaale almıyor.

    Ben bitlerin asenkron seri haberleşmedeki gibi gideceğini düşünüyordum. bu şekilde bitler giderken artık taşıyıcı nasıl kodlanıyor anlayamadım.




  • quote:

    Orjinalden alıntı: tyilgin1

    Merhaba arkadaşlar

    Kızılötesi kumandaların kodları çözülebilir mi diye hep merak etmişimdir. Hiç bu konuda çalışma yapmadım ama sanırım bu haberleşme şu şekilde oluyor.

    Alıcı göze kendi frekansında IR led ile kare dalgalar gönderilerek, bu kare dalgalara 1 ve 0 lar yükleniyor. Burada bilginin kaç bitlik olacağının bilinmediğini ve bununda bulunabileceğini düşünüyorum. Ancak forumda IR kumanda kodlarını arayan arkadaşları görünce tahminlerimde bir yanlışlık mı var diye düşünüyorum.

    Bu düşünceden yola çıkarak elimde bulunan IR kumandaların kodlarını okuyacak bir devre yapmayı düşünüyorum. Bu çalışmayı yaparken bildiklerimin dışında bilmem gerektiğini düşündüğünüz birşeyler varsa, paylaşırsanız sevinirim.

    Teşekkürler.



    merhaba Hocam sitede kumanda ile pc kontrolü ile ilgili bilgiler var bunları arştırdığında karşına çok basit bir IR alıcı devresi ve girder adlı bir program çıkacak.
    Bunu niye anllattığıma gelince o programala kumandanın verilerine okuyabilir ve hexadecimal olarak görebilirsin.
    Kolay gelsin.

    No: Üni. de öev olarak yapmıştım :))




  • artık ifadesi kaldırın farklı anlamlar çıkıyor.

    iletişim şöyle. elinizde 600µs 1 600µs de 0 olan bir data var diyelim. kumanda bu datayı yollerken 600µs 1 kısmını 38kHz lik işaretle dolduruyor. 0 kısmında ise 38kHz lik işretin gönderimini durduruyor. alıcı bu modüle sinyali alıyor ve içindeki datayı modül çıkışında 600µs 1 ve 0 olacak şekilde düzeltiyor. mantık basit olarak bu.

    modülün iletişime başlamak için istediği bir şey var oda burst işareti. eğer burst belli bir sürenin üzerinde gönderilirse yani sürekli 38kHz lik işaret gönderirseniz modül bunu data olarak algılamıyor...
  • quote:

    Orjinalden alıntı: ***alper***

    merhaba Hocam sitede kumanda ile pc kontrolü ile ilgili bilgiler var bunları arştırdığında karşına çok basit bir IR alıcı devresi ve girder adlı bir program çıkacak.
    Bunu niye anllattığıma gelince o programala kumandanın verilerine okuyabilir ve hexadecimal olarak görebilirsin.
    Kolay gelsin.

    No: Üni. de öev olarak yapmıştım :))


    Bu programı arayacağım. Peki kodları bu program ile öğrenebilirsem elde ettiğim hex kodlarını bitler arasında kaç uSn bekleyerek gönderebileceğimi vs. nerden öğrenebilirim ?
  • merhaba
    eğer standart bir kumanda kullanıyorsun frekasnı 58 kHZ.

    kolay gelsin
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.