AtasoyWeb - Hüseyin Atasoy
AtasoyWeb
Hüseyin Atasoy'un Programlama Günlüğü

Bilgisayar Destekli Kızılötesi Kumanda Alıcısı

Herhangi bir televizyon kumandasının yaydığı kızılötesi sinyaller ses kartı aracılığıyla örneklenip çözümlenebilir. Böylece bu kumandalar ile bilgisayarın yönetilmesi sağlanabilir.

İlgili sayfa: Uzaktan Kumanda

Geçenlerde hocamız, bilgisayarda sıradaki slayta uzaktan kumanda ile geçiş yapılabilmesini sağlayan minik bir kumanda ile derse girmişti. Güzel düşünmüşler, kafamda yer etti... Bir önceki haftasonu, zamanında merakıma kurban olmuş ve bir köşeye atılmış eski bir vcd çaların kumanda algılayıcısına gözüm ilişti. O an hocanın kumandası da aklıma geldi, ordan esti kafama bu fikir. Önceki haftasonumu bunu yapabilip yapamayacağıma karar vermek için bilgi toplamakla geçirdim. Bu haftasonu da işe koyuldum. Sonunda bitti ve gayet güzel çalışıyor...

Kızılötesi İletişimKızılötesi kumanda sinyali

Kızılötesi iletişim değişik protokoller ile gerçekleştirilir. Ancak tüm protokoller aynı mantığa dayanır. Verici, bitler ile şekillendirdiği dalgayı (genelde kare dalga kullanılır) kızılötesi ışık yayan diyota gönderir. Yayılan ışığa duyarlı olan sensör, ışığı aldığı anda tipine göre 0 veya 1 lojik seviyesinde çıkış verir. Çıkış, bir mikroişlemci yardımıyla okunur ve tekrar 1 ve 0lara dönüştürülerek iletişim gerçekleştirilmiş olur. Kızılötesi iletişimde en çok kullanılan protokoller konusunda daha çok bilgi edinmek için şu sayfa ziyaret edilebilirsiniz.

Yandaki resimde bir kumandaya ait "1" tuşunun ürettiği sinyalin genlik-zaman grafiği var. Kumadaların çoğu genelde şekilde gibi dalgalar üretir. Ancak üretilen dalgalarda 1 ve 0 bitlerinin kodlanışı, dalgaların üretiliş periyodu, kodlanıp gönderilen verinin uzunluğu gibi özellikler değişiklik gösterir. Tuşa ait sinyalin örneklenmesi ile oluşturulan ses dosyasını indirmek için buraya tıklayabilirsiniz...

Sensörün Ses Kartının Mikrofon Girişine BağlanmasıKızılötesi sensörün bağlanışı

Önce işin elektronik kısmıyla başlayalım. Gördüğüm kadarıyla en yaygın kızılötesi sensörler, Telefunken'in TK19'u ve Siemens'in SFH506'sı. İnternette datasheetlerini bulabilirsiniz. Kullandığım sensörü yukarıda sözünü ettiğim vcd çalardan çektim. Bu yüzden modelini bilmiyorum. En sağ bacağa +5V, orta bacağa toprağı bağlayıp sol bacaktan çıkış aldım. Kullandığım sensör kızılötesi ışık yokken, 1 lojik seviyesinde çıkış veriyor ve sensöre sinyal ulaştığında çıkışı 0 lojik seviyesine çekiyor. TK19 ve SFH506'da resimdeki + ve - kutuplar yer değiştirilerek durum tersine çevirilebilir. Yani sinyal yokken 0, varken 1 çıkışı alınabilir. Ses kartına direkt 5v vermek zararlı olabileceğinden seviyeyi mümkün olduğu kadar aşağı çekmemiz gerekiyor. Elimdeki en yüksek direnç 1000K civarında olduğu için araya bu direnci bağlayarak voltajı düşürdüm...

Sensörün mikrofon girişine nasıl bağlanacağını yukarıdaki resimde görebilirsiniz. Güç ihtiyacını usb girişinden karşıladım. Usb girişi bize yaklaşık 5 volt kadar gerilim sağlar. Bunun için bir usb kablosunu gözden çıkarmanız gerekiyor. Dıştaki kabı soyduktan sonra karşınıza 4 kablo çıkacak. Kırmızı olanı +5V, siyah olanı toprak, beyaz olanı data+, yeşil olanı da data- kablosu. Sadece siyah ve kırmızı olanlara ihtiyacımız olacak.

Kızılötesi sinyal sensörünün bilgisayar bağlantısı
Görüntü: Kızılötesi sensör ve bilgisayara bağlanışı

Kızılötesi Işık İle İletilen Sinyali Ses Kartı Yardımıyla Örnekleme

İşin asıl önemli kısmına, yazılım kısmına gelelim. Daha önce ses kartı yardımıyla telefon hattından arayan numarayı çözümlemeye çalışmıştım. Ancak oluşan cızırtıları bir türlü engelleyemediğim için bu işten vazgeçmiştim. Bu sefer de cızırtı var ama genelde çözümleme işlemini pek etkilemiyor.

Ses kartı kendisine gelen analog sinyalleri dijital sinyallere, dijital sinyalleri analog sinyallere dönüştürebilir; yani bir çeşit çift yönlü analog<->dijital dönüştürücüsü olarak çalışır. Kartın bu özelliğinden yararlanarak analog sinyali örnekleyip bilgisayar ortamına aktarabilir ve böylece sinyali çözümleyip ne taşıdığına karar verebiliriz. Visual Basic ile hazırladığım programda kullandığım örnekleme yaklaşımı şöyle:

  • Program kendisine, tampon bellek bölgesi, sinyal tespit bölgesi olmak üzere dörder KBlık iki bellek bölgesi ve sinyal tespit bölgesinden geçerken bir sinyale ait olduğu tespit edilen örneklerin nakledilip depolanacağı bir de dinamik bellek bölgesi ayırır.
  • Ses kartından alınan her örnek anında tampon bellek bölgesine yazılır. Tampon bellek dolunca, içeriği sinyal tespit bölgesine taşınır ve gerçek zamanlı örnekleme işlemi aksatılmadan sürdürülür.
  • Sinyal tespit bölgesinde örneklerin ortalama genlikleri hesaplanır ve basit bir eşikleme ile bir sinyale ait olup olmadıkları tespit edilir. Eğer örnekler bir sinyale aitse, dinamik belleğe kopyalanırlar. Aksi halde iki farklı durum söz konusu:
    • Zaten bir sinyale ait örnekler biriktirilmiyordu, program hala sinyal bekliyor. Bu durumda sinyal tespit bölgesi temizlenir ve sonraki örnek grubu beklenir.
    • Önceden bir sinyale ait örnekler biriktiriliyordu ve sinyal kesildi, artık dinamik bellek bölgesinde biriktirilen örnekler işlenmeye hazır, onları işleyecek fonksiyon çağrılır ve dinamik bellek bölgesi temizlenerek sonraki sinyal için hazır hale getirilir. Bu işlem sırasında tampon bellek bölgesinden sinyal tespit bölgesine örnek aktarımı yapılmaz ancak gerçek zamanlı örnekleme devam eder...

Böylece çerçeveleme mantığını da kullanmış oluyoruz. Burada bellek boyutu (aynı zamanda çerçeve boyutunu da belirliyor) için seçilen 4096 rastgele bir değer değil. Bu değere çeşitli parametreler değiştirilerek yapılan gözlemler sonucunda ulaşıldı. Tampon bellek boyutunun düşürülmesi, kumandanın ürettiği kare dalgalar yarım dalga periyodu boyunca (bazı kumandalarda daha kısa veya daha uzun süre) 0 seviyesinde tutulduğundan sinyal henüz bütünüyle alınamamışken programın sinyalin bittiğini zannetmesine yol açar. Boyutun arttırılması ise programın bellek bölgeleri arasında veri taşıma işlemlerini gerçekleştirirken daha çok zaman harcamasına ve arasıra çok kısa süreli de olsa kullanıcıya yanıt vermeyi kesmesine yol açar. Daha da önemlisi sinyalin başlangıcına ait örneklerin gözardı edilmesine yol açabilir. Bu durum "Gözlemler/Sonuçlar" kısmında daha ayrıntılı bir biçimde açıklanmıştır.

Tüm Protokollerin Anlaşılabilmesini Sağlayacak Bir Algoritma

Yukarıda verdiğim linke tıkladıysanız ne kadar çok kızılötesi iletişim protokolü olduğunu görmüşsünüzdür. Bir kumandanın hangi protokolle iletişim kurduğunu yani aslında hangi dille konuştuğunu anlamak için tüm bu protokolleri ayrı ayrı inceleyip programı da o şekilde tasarlamak gerekir. Ama kumandanın ne söylediğini anlamamıza gerek yok. Yapmamız gereken şey her gelen sinyali, kendisini betimleyecek benzersiz niteleyiciler ile simgelemek. Kumandanın ne söylediğine daha sonra biz karar vereceğiz.

Yazdığım programda niteleyici değer bulunurken şu adımlar izlenir:

  • Sinyalin bütünü içerisinde en küçük ve en büyük genlik değerlerini tespit et.
  • Bu değerlerin mutlak değerlerini topla, toplamı ikiye böl ve sonucu eşik değer olarak kabul et (Bu değer en büyük ve en küçük genlik değerlerine eşit uzaklıkta bulunan genlik değeridir. Eşiğin üstündeki örnek değerleri kare dalganın tepesini, altındakiler de çukurunu temsil edecek.)
  • Sinyale ait ilk örnekten başla, karşına çıkacak her bir tepe<->çukur geçişinde bulunduğun konum (örnek cinsinden) ile bir önceki geçişte tuttuğun konum arasındaki farkı bir değişken içerisinde sakla.
  • Sinyale ait en son örneğe geldiğinde farkları tutan değişken sinyali niteleyen benzersiz bir kimlik olmuş olacak. Buna bundan sonra sinyalin özniteliği diyelim...

Kızılötesi sinyal çözümleyicisi, tuş tanıtımıYöntem uygulanırken dikkat edilmesi gereken 3 önemli nokta daha var:

  • İlk fark değeri sinyalin çerçeve başlangıcına uzaklığı olduğundan her seferinde farklı hesaplanır. Dolayısıyla karşılaştırma işleminde ilk fark değerleri ihmal edilmelidir.
  • Kumandalar, tuşa basılı kalınması halinde aynı sinyali tekrar tekrar yollar. Bu yüzden program karşılaştırma yaparken tanıtım esnasında elde ettiği öznitelik değerinin uzunluğuna bakmalıdır. Öznitelik değerinin uzunluğunu en aza indirgemek için bir tuş programa tanıtılırken, sinyalin mümkün olan en kısa halinin iletilmesi, yani tuşa kısaca basılması gerekir. Böylece tuş programa tanıtıldıktan sonra tuşa ne kadar uzun süre basılırsa basılsın program sadece sinyalin tekrar etmeyen kısmını hesaba katar.
  • Elde edilen niteleyici değerler örneklerin konumlarının birbirleri arasındaki farka dayandığından, eşleştirme işlemi sırasında karşılaştırılan nitelik değerinlerine ait her bir elemana 1-2 örneklik sapma toleransı tanınmalıdır.

Bu üç noktaya da dikkat edildikten sonra aynı tuşun farklı zamanlarda çıkardığı sinyalin bu yöntem izlenerek işlenmesi sürekli aynı sonucu doğuracaktır. Sonuçta tuşun gerçekte hangi bitleri kodlayıp gönderdiğini bilemesek bile, yani kumandanın kendi dilinde ne söylediğini bilemesek bile kendi geliştirdiğimiz dilde ne söylediğini anlayabiliyoruz. İstenirse, herbir protokol incelenerek, tutulan öznitelik değerlerinin kullanılan protokolde ne ifade ettiği çözümlenebilir.

Sinyaller Algılandıktan Sonra Verilecek Tepki

Program daha önce kaydedilen bir tuşa basıldığında onu algılayıp, yine daha önce kaydedilen komutu çalıştırır. Komut "Sistem|||ÇalıştırılacakExe Parametreler" ve "Tuş|||KısayolTuşu+KısayolTuşu+..." olmak üzere iki biçimde girilebilir. İlk biçimde girilen komut programın belirtilen çalıştırılabilir dosyayı belirtilen parametreler ile çalıştırmasını sağlar. İkinci biçimde komut girilmesi halinde programa herhangi bir klavye tuşu girilebilir. Tuşlar + ile ayrılmalıdır. Program sinyali aldığında belirtilen tuşlara sırayla basar ve son bastığı tuşu başta olmak üzere tümünü sırayla bırakır. Programda tüm klavye tuşlarını tanımlamaya ve hata ayıklamaya üşendim, belki daha sonra zaman bulursam bunları da yaparım. Programın son derlenmiş halini ekran görüntüsünün altındaki linkten indirebilirsiniz...

Kızılötesi sinyal çözümleyicii program
Görüntü: Sinyal çözümleyici program. Programı indirmek için tıklayın.

Gözlemler, Çıkarımlar

Denemelerde kullanılan 5 farklı kumandanın ikisinde maksimum genlik değeri ile minimum genlik değeri arasındaki fark çok düşük ölçülmüştür. Geliştirilen yöntem en düşük genlik değeri ile en yüksek genlik değeri arasında bir noktayı eşik değer olarak belirlediğinden, program bu kumandalarda sinyalleri niteleyen benzersiz değerler bulmakta zorlanmıştır. Bu probleme, maksimum ve minimum genlik değerleri arasındaki farkın yüksek olduğu kumandalarda yöntemin işleyişine etki edemeyen cızırtı sebep olmaktadır.

Farklı örnekleme frekansları ile sinyaller örneklenmiş ve en uygun örnekleme frekansı tespit edilmeye çalışılmıştır. Örnekleme frekansının olabilecek en düşük değerde tutulması ve bu arada da gelen sinyallerde kare dalgaların örneklenememesine, başka bir değişle dalga kaybına sebep olunmamaması gerekir. Bu hususlar göz önünde tutularak örnekleme frekansı 11025 hertz olarak seçilmiştir. Bu frekasta denenen tüm kumandalar arasında dalga tepesi/çukuru başına düşen en düşük örnek sayısı 5 olarak ölçülmüştür. Amaca en uygun örnekleme frekansının bu olduğu söylenebilir...

Sinyal başlangıcının o an alınan örnek grubunda (sinyal tespit bölgesinde veya çerçevede) sonlara düşmesi, hesaplanan ortalama genlik değerinin düşük olmasına ve sinyalin başladığının anlaşılamamasına sebep olabilmektedir. Nadiren oluşan bu durumda program, tümü sinyale ait olan sonraki örnek grubunu sinyalin başlangıcı olarak seçmekte ve nitelik değerini yanlış hesaplamaktadır. Bu sorunun ortaya çıkmasında tampon bellek bölgesi ile sinyal tespit bölgesinin boyut seçimi ve ortalama genlik eşiğinin değeri etkili olmaktadır. Boyutlar programda 4K olarak seçilmiştir. Ortalama genlik değerinin maksimum ve minimum genlik değerleri arasındaki uzaklık ile orantılı olarak seçilmesinin sorunu tamamen ortadan kaldıracağını düşünüyorum. (aklıma sonradan geldi henüz denemedim)...

Neyse, kafamı bir süredir kurcalayan bu mesele de burada bitmiş oldu...


28/05/2010 tarihinde eklendi:

Bugün, daha önce kurduğum sensör devresinin bilgisayarın sağlığı açısından tehlikeli olduğunu fakettim. Sensör de ses kartı da aynı kaynağa bağlı ve eğer mikrofonun - kutbuna usbnin + kutbu değerse kısa devre olur... Hem daha önce denemelerde kullandığım 5 kumandadan 2sinin sinyallerinin program tarafından anlaşılamadığını söylemiştim. İçime sinmedi. Öyle 3 tane çalıştı 2 tane çalışmadı olmaz; "Yapacaksan tam yap Hüseyin"...

Programda tanımlamaya üşendiğim diğer tüm klavye tuşlarını tanımladım (eksik tuş kaldı mı bilmiyorum) ve TK19 alıcı modülü kullanarak bugün devreyi tekrar kurdum. Devreyi öyle kurunca cızırtı sıfırlandı. Ayrıca TK19'un kullanılmasıyla daha önce bahsettiğim max-min genlik değerleri arasındaki farkın düşük ölçülmesi sorunu da çözülmüş oldu. TK19'un giriş ve çıkışı daha önce kullandığım sesörün tam tersi. Şöyle de bir durum var; sonuçta ses kartının - kutbu ile usbnin - kutbu aynı. Bu yüzden sensör çıkışında + kutbun değil, - kutbun mikrofon girişine bağlanması gerekiyor. Aksi halde kısa devre olur ve bilgisayar bozulabilir. Ayrıca sensör çıkışının, sadece mikrofon girişinin + kutbuna bağlanması yeterli, - kutup boşta kalabilir. Çünkü - kutuplar içeriden zaten bağlı...

Programda kare dalganın tepesi ve çukurunu belirleyebilmek için kullanılacak eşik değerini bulurken, maksimum ve minimum genlik değerlerini hesaplamak için genliklerin mutlak değerini alıyordum. Bu sefer mutlak değer almadım ve oluşan eşik değer maksimum genlik ile 0 noktası arasında olmuş oldu. Ayrıca öznitelik verisinin uzunluğunun da kumanda dosyasında saklanmasını ve kullanıcı tarafından değiştirilebilmesini sağladım.

Sonuçta yöntem son değişikliklerden sonra, en başta hedeflediğim gibi tüm protokoller ile uyumlu hale geldi ve daha önce sinyallerinin anlaşılamadığını söylediğim 2 kumanda da artık problem yaratmıyor...


24/06/2010 tarihinde eklendi:

TK19 alıcı modülü ile
Görüntü: Sensör devresinin son hali

Sensörün çıkış aldığım bacağı ile mikrofonun + kutbu arasında yaklaşık 2.5 volt kadar bir potansiyel fark olduğunu farkettim. Bu yüzden çıkış hiç 0V olmuyordu. Araya diyot bağlayarak mikrofonun + kutbundaki voltajın TK19'un çıkışına gelmesini engelledim.

Algoritmamızda sinyal başlangıcı tespitinin nadiren yanlış yapılabildiğini söylemiştim. Bu istisnai durumu ortadan kaldırmak için sinyalin başlangıcını içerdiği tespit edilen her örnek grubunun, kendisinden önceki grup ile birlikte dinamik bellek bölgesine aktarılmasını sağladım. Böylece sinyal başlangıcı çerçevenin/grubun sonlarına düşüp tespit edilemese bile, sonraki örnek grubunda tespit yapılacağından, farkedilemedikleri için dışlanan örnekler de çözümleme işlemine dahil edilmiş olur.

Bellek üzerinde verilerin sinyal tespit bölgesine taşınmasının uzun sürmesi halinde mikrofondan tampon belleğe örnek aktarımının kesintiye uğraması sebebiyle gerçek zamanlı örnekleme işleminde aksamalar meydana gelebiliyordu. Dönüşümlü iki tampon bellek kullanımı ile problem tümüyle giderildi. Bu sayede bir tampon bellek alanı dolduktan sonra örnekleme diğer tampon bellek alanı kullanılarak yapılırken, dolan bellek alanından veri kopyalama işlemi de örnekleme işlemini etkilemeden yapılabilmektedir.

Program sinyal uzunluğunu tespit edemiyordu. Tuşa basılı kalınması durumunda sinyal sürekli tekrarlandığı için program da sinyali tekrarlı biçimde değerlendiriyordu. Zaman kaybına sebep olan bu sorun programın sinyal uzunluğunu tespit etmesi sağlanarak çözüldü. Buna göre program, kumanda dosyası içinde saklanan bir ortalama aralık değerine rastlandığında sinyalin yeterli bölümünün alındığına karar verir ve sinyalin geri kalan kısmını değerlendirmeye almaz.

Sinyali niteleyecek değerler elde edilirken tüm tepe<->çukur geçişlerinin önemsenmesi yerine sadece dalga tepelerinin dikkate alınması sağlandı. Böylece nitelik değeri yarı yarıya kısalmış olur ve karşılaştırma işlemi önceki yönteme göre iki kat daha hızlı tamamlanır...

Bellek içerisinde çok sık veri transferi gerçekleştirildiği için hız da büyük önem kazanıyor. Transfer işlemleri için kullanılan klasik döngüler yerine oldukça hızlı çalışan kernel32 kütüphanesine ait RtlMoveMemory fonksiyonu kullanılarak hızda farkedilir bir artış sağlandı.

Son olarak daha önce programın elde ettiği nitelik değerlerinin, kumandanın kullandığı protokolde ne anlama geldiğinin bulunabileceğini söylemiştim. Artık sadece dalga tepelerini hesaba kattığımızdan, karşılık gelen değerin bulunması daha da kolaylaştı. Bundan emin olmak için televizyon kumandasının hangi protokole uyduğunu araştırıp, algoritmamızla elde ettiğim nitelik değeri ile gönderilen gerçek değeri karşılaştırdım. Kumanda NEC protokolünü kullanıyormuş. İşte sonuç:

Konka KK-Y267 Menü Tuşu: 00000010 00010101
          0  0  0  0  0  0  1  0  0  0  0  1  0  1  0  1     (kodlanıp gönderilen gerçek değer)
|2420|67|22|22|22|21|22|22|33|22|22|22|22|33|22|33|22|33|48  (programın elde ettiği değer)

Baştaki ilk değerin önemli olmadığını ve sinyalin başlangıcının çerçeve başlangıcına uzaklığını temsil ettiğini daha önce yazmıştım. 67 başlangıç işareti ve 48 de sonlanma işareti olarak düşünülebilir. 22 0 değerini, 33 1 değerini temsil etmektedir. Yine daha önce çözümleme işleminde +-1 örneklik kayma töleransı tanımamız gerektiğini yazmıştım. Bu yüzden 21 de 23 te 0 değerini temsil eder. Farklı protokoller için 0 ve 1 değerlerini temsil edecek sayılar da farklı olur. Daha önce "... ne söylediğini anlayamasak bile ..." demiştim, ama görüldüğü gibi artık kumandanın ne söylediğini de anlayabiliyoruz :)...

Programı süsleyip yayına koydum, sayfaya gitmek için buraya tıklayabilirsiniz...

Yazar: Hüseyin Atasoy
Posted: 24/05/2010 16:51
Keywords: bilgisayarı uzaktan kumanda ile yönetme, kızılötesi alıcı, kumanda programı

Leave Comment

 
You are replying to comment #-1. Click here if you want to cancel replying.

 

Comments (36)

haldun
Reply
09/01/2011 22:04
#16

teşekkür ederim bilgilendirdiğiniz için ben fişi soydum zaten artık en uçtaki 4 kutubu onu öyle zannediyorum.. bi de o kısa devre koruması sanırım bende de var daha önce başıma gelmişti. hala kullanıyorum bilgisayarı :D tekrar teşekkür ederim. İyi çalışmalar...

hasan
Reply
25/01/2011 21:57
#17

Merhaba Hüseyin bey... Yaptığınız çalışma çok güzel.. Bir şey sormak istiyordum ben size. Mikrofonun  kutbunu direncin ucuna bağladım o tamam da diğer ucu nereye bağlayacağım onu tam anlayamadım. Kızıl ötesinin hangi bacağına lehimlemem gerekiyor. Bilgilendirirseniz sevinirim şimdiden teşekkürler... İyi çalışmalar dilerim...

Hüseyin Atasoy
Reply
26/01/2011 12:30
#18

Mikrofon çıkışının 2. ucu boşta kalabilir. Çünkü devre bilgisayarın içinde zaten tamamlanıyor. Yukarıda kızılötesi sensörün bağlantıları ile ilgili bir diyagram var. Ona bakarak uçları lehimleyebilirsiniz...

haldun
Reply
26/01/2011 23:37
#19

merhaba hüseyin bey gene ben :D. yukarıda verdiğiniz devreyi yaptım ve sanırım çalışıyor. Ama proğramı ayarlayamıyorum. turuncu proğram sinyali algılamıyor. bu sayfada verdiğiniz proğram sinyali algılıyor fakat; ona da bir tuş kaydedemiyorum. mantığı anladım bi tuşa basacağım, o sinyal görüntülendikten sonra tuşu kaydet diyip komutu gireceğim. ama olmadı mesela winamp için duraklatma tuşu "c" tuşlllc yazıyorum olmuyor sanırım başka bir yolu olmalı... Beni bilgilendirirseniz sevinirim... iyi çalışmalar kolay gelsin... teşekkürler şimdiden...

Hüseyin Atasoy
Reply
27/01/2011 10:46
#20

Turuncu programı yükledikten sonra sağ tıkladığınızda, yeni menüsünde 'Atasoy Kumanda Dosyası' na tıklayın. Böylece yeni bir kumanda dosyası oluşturmuş olacaksınız. Bu dosyaya çift tıklayın. Dosya program ile açılacak. Artık hazırsınız  demektir. Başla butonuna tıklayarak sinyal dinlemeye başlayabilirsiniz. Bir sinyal algılandığında Tuşu Kaydet demeniz yeterli.
Bunlar dışında kumandanıza göre Ayarlar penceresindeki ayarları değiştirmeniz gerekebilir. Programın sayfasında bu ayarla bilgiler bulabilirsiniz...
İyi çalışmalar...

haldun
Reply
28/01/2011 11:27
#21

Teşekkür ederim Hüseyin bey. dediklerinizi uyguladım; ve kumandayı ayarladım çok rahat kullanıyorum şimdi. ufak tefek sorunlar var ama kendim halledebilirim sanırım. Gerçekten harika bir düşünce Bilgisayarı kumanda ile kullanmak büyük zevk. Tebrik ederim bu fikrinizden dolayı. iyi çalışmalar...

Hüseyin Atasoy
Reply
28/01/2011 12:36
#22

Buna sevindim. Hayırlı olsun :)

aborijin @chiponline
Reply
09/10/2011 18:42
#23

Hüseyin Atasoy bilgi birikiminizi, bu çok değerli eğitici paylaşımla birlikte bizlere sunduğunuz için teşekkürler. Benzer proje veya projeleriniz varsa lütfen benimle chip online sitesinden özel mesaj yoluyla irtibata geçiniz.

özcan
Reply
07/12/2011 13:14
#24

merhaba..konuyu hortlatmak istiyorum:)
çok güzel bir çalışma yapmışsınız aklınıza elinize sağlık..laptobum da ır gözü olduğu için gösterdiğiniz bağlantıyı yapmadım umarım oradan çalışır..
benim sorum kumandanın gönderdiği sinyalleri mp3 olarak kaydetmek ve ır alıcıya mp3 çalar veya bir telefon ile göndermek istiyorum..bu ses dosyalarını nasıl kaydedebilirim yardımcı olurmusunuz?

Hüseyin Atasoy
Reply
07/12/2011 22:01
#25

Laptopınızdaki IR alıcınızı kullanarak bunu yapabilir misiniz bilmiyorum ama yukarıdaki devreyi kurduktan sonra herhangi bir ses kaydedici program ile sinyalleri ses dosyası formatında kaydedip oynatabilirsiniz. Zaten yukarıdaki devreyi mikrofon girişine bağladığımız için sinyalleri kendi sesinizi kaydeder gibi kaydetmeniz mümkün...

Mehmet güngör
Reply
24/01/2012 02:20
#26

Üstadım tekrar ben (:
Sorum şu TK19 tamam da IR alıcıyıda mı aynı kablolara bağlıyoruz detaylı bir foto eklersen sevinirim (: Sıfırdan başlayıp aşama aşama foto eklersen biz acemiler ve bu işi yapmak isteyenler için büyük bi kolaylık olur.Çünkü adım atmayı öğrenmeden yürüyemeyiz, bilenler belki yazdığımla dalga geçecekler ama ahh bilmeyenler emin olun bana hak vereceklerdir (:

Hüseyin Atasoy
Reply
24/01/2012 20:14
#27

Yok, niye dalga geçsinler.
TK19 zaten IR alıcısının ta kendisi oluyor. Bağlantıları son fotoğrafta, beyaz zemin üstünde göstermeye çalıştım. TK19'u alıp orada gösterildiği gibi bağlamanız gerekiyor.

Mehmet Güngör
Reply
27/01/2012 21:47
#28

İyi günler
Şu alıcı gözü 5 tl'ye aldım, şimdi bana lazım olan usb kablo ve kulaklık kablosu değil mi ? (: Ha birde 1 tane direnç alacam.
Unutmadan alıcı göz 3 ile 7 volt arasıymış sorun olmaz değil mi ?

Hüseyin Atasoy
Reply
28/01/2012 19:46
#29

Yok sorun olmaz. Usb 5 volt sağlıyor zaten.

Tunay
Reply
03/03/2012 16:20
#30

elinize sağlık ama birşey  sormak istiyorum. bununla sadece bilgisayara gelen sinyaller mi algılanıyor yoksa aynı şekilde kızılötesi sinyalde yollayabiliyor mu?

Hüseyin Atasoy
Reply
04/03/2012 22:18
#31

Sadece gelen sinyaller algılanıyor. Yine ses kartını kullanarak bilgisayarın da sinyal göndermesini sağlamak mümkün ama bilgisayarı kumanda olarak kullanmak işe yarar birşey gibi görünmüyor.

yamaha
Reply
07/02/2013 11:34
#32

tebrikederim güzel birşey ama pc film izlerken ya da müzik dinlereken hopörler girişini nereyed etakılacak ben tonmastercıyım ve pc ses kartı girişini mıcsere bağlamam lazım bu nasıl olacak.ama paylaşımın gerçekten güzel.ucuz bir malıyete yapılabilir.

Hüseyin Atasoy
Reply
06/03/2013 15:56
#33

Kumanda için hoparlör çıkışını değil, mikrofon girişini kullanıyoruz. O yüzden müzik dinlerken, film izlerken kumandanın bir tuşuna bastığınızda çıkaracağı ses dışında bir problem yok. O da çok rahatsız edici sayılmaz.

Uğur Akgöz
Reply
25/03/2016 15:44
#34

Gerçekten çok faydalı bir makale olmuş. Emeğinize sağlık. Saygılarımla

Barış
Reply
22/11/2017 01:31
#35

Merhaba öncelikle emeğinize sağlık gerçekten çok güzel bir çalışma
televizyona bağlı pc de win10 üzerinde kodi ile kullanıyorum çok işime yarıyor
size sorum şu programınıza PageUp , PageDown ve back tuşlarınıda ekleyebilirmiyiz,
program açılışında başla tuşuna basmaya gerek kalmadan başlaması mümkünmü?
ikinci olarak Pc ye android x86 da yükledim bununla da çalışan bir versiyonunu yapmayı düşünürmüsünüz?

Hüseyin Atasoy
Reply
11/12/2017 16:48
#36

İşinize yaramasına sevindim.
Ama programı çok uzun zaman önce yazmıştım, şu an kodlarına baksam birşey hatırlamam muhtemelen.

 
Şu an bu sayfada 1, blog genelinde 13 çevrimiçi ziyaretçi bulunuyor. Ziyaretçiler bugün toplam 2621 sayfa görüntüledi.
 
Sayfa 64 sorgu ile 0.214 saniyede oluşturuldu.
Atasoy Blog v4 © 2008-2024 Hüseyin Atasoy