IR Led ve TSOP ile Haberleşme Algoritmaları Hakkında

Başlatan MrDarK, 25 Aralık 2011, 17:05:13

MrDarK

Merhabalar arkadaşlar;

Üniversitede uğraştığım bir proje üzerinde sizlerin fikirlerini almak istiyorum. Projeyi yapıp bitirdim ama aklımda takılı kalan noktaları var.

38Khz'lik bir Tsop kullandım alıcı modülde,
Verici ise 38Khz pwm ile sürülmüş IR Led

Alıcı modülünde RA4/T0CKI pinine - TMR0'ın harici clock girişine Tsopu bağladım. Gelen palsleri sayarak işlem yaptırdım. TMR0'ı 252'den başlayacak şekilde kurdum, 4 clock palsi geldiğinde oluşacak interrupt ile i değişkenini bir arttırdım.

Projede verici kısımda 4 buton , alıcı kısımda yakmam gereken 4 led bulunmaktaydı. TSOP ile bunu gerçekleştirdim ama senkronizasyon sorunu oluştu. Alıcı modulün 300ms'de bir "i" değerine bakıp uygun ledleri yakmasını söyledim.  Haliyle verici modulden bazı tuşlara 1-2 kere bastığımda yanlış datalar aldım.

Sorularım;
IR led ve TSOP ikilisi ile en sağlıklı nasıl iletişim kurulur, veri gönderilir ?
TSOP yerine fotodiyot veya fototransistör mü kullanmalıyım ne önerirsiniz.

Okuduğunuz için ve cevaplarınız için teşekkür ederim. Eğer projeyi kurarken kullandığım yapıyı merak ederseniz kodlarını pcblerini ekleyebilirim.
Picproje Eğitim Gönüllüleri ~ MrDarK

subram

Alıntı yapılan: MrDarK - 25 Aralık 2011, 17:05:13
Merhabalar arkadaşlar;

Üniversitede uğraştığım bir proje üzerinde sizlerin fikirlerini almak istiyorum. Projeyi yapıp bitirdim ama aklımda takılı kalan noktaları var.

38Khz'lik bir Tsop kullandım alıcı modülde,
Verici ise 38Khz pwm ile sürülmüş IR Led

Alıcı modülünde RA4/T0CKI pinine - TMR0'ın harici clock girişine Tsopu bağladım. Gelen palsleri sayarak işlem yaptırdım. TMR0'ı 252'den başlayacak şekilde kurdum, 4 clock palsi geldiğinde oluşacak interrupt ile i değişkenini bir arttırdım.

buraya kadar tamam da..
Alıntı yapılan: MrDarK - 25 Aralık 2011, 17:05:13
Projede verici kısımda 4 buton , alıcı kısımda yakmam gereken 4 led bulunmaktaydı. TSOP ile bunu gerçekleştirdim ama senkronizasyon sorunu oluştu. Alıcı modulün 300ms'de bir "i" değerine bakıp uygun ledleri yakmasını söyledim.  Haliyle verici modulden bazı tuşlara 1-2 kere bastığımda yanlış datalar aldım.

burayı tam çözemedim...

http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

MrDarK

Açıklayayım orayı; verici kısımdaki 4 butondan hangisine bastıysam ; alıcı kısımda o dataya uygun ledi yakmaktı amaç. IRled'den gönderdiğim datayı tsoptan okurken interrupt fonksiyonunu kullandım. örnek vermek gerekirse birinci butona bastığımda Ir ledle 4 pals gönderdim. timer0'ı 252'ye kurmuştum. Tsop dataları alarak interrupt oluşturdu i=1 oldu. Bunu ledlerde gösterdim.

ikinci butona bastığımda Ir ledle 8 pals gönderdim bu sırada i=2 oldu.

Alıcıdaki ledlerle gösterme işini interrupt fonksiyonunda değil ana programda 300ms'de bir i değerlerine göre Ledleri yakmasını söyledim. Dediğim gibi senkronizasyon sorunları oluşabiliyor ve ben bunu 4 butonla yaşadım sadece :) Tv alıcılarında, uydularda ne gibi algoritmalar kullanılıyor bunun daha profesyonelce çözümü nedir merak ettim açıkçası. Algoritma yapısı mı ? TSOP ~ IRled fiyaskosu mu ?

Bana algoritmamdaki yapı yüzünden kaynaklanan bir hataymış gibi geliyor. O yüzden devreyi teslim etmiş olsam bile daha güzel daha profesyonelce nasıl hatalara karşı sistemi korurum fikrine kapılarak buraya sormayı düşündüm (:
Picproje Eğitim Gönüllüleri ~ MrDarK

tmcone

Haberleşme için kendi protokolünü düzgün bir şekilde tanımlarsan ya da mevcut protokollerden birini kullanırsan bu tür sorunlarla karşılaşmazsın. Aşağıdaki linkte gerekli tüm bilgiler mevcut.

http://www.sbprojects.com/knowledge/ir/index.php

Kabil ATICI

IR LED ve TSOP alıcı kullanarak işlemcinin standart seri portu üzerinden iletişim kurdum. Veri iletişimi sağladım. Hatta doğrudan karakter LCD ekrana veri gönderdim. Örnek proje
http://www.elektronikvelemciler.blogspot.com/2010/12/hava-ortamnda-kzlalt-iletisim.html ve
http://www.elektronikvelemciler.blogspot.com/2010/12/hava-ortamnda-bilgisayar-ve-ymc162-lcd.html
adresinde görülebilir.
Sadece yüksek veri hızları çalışmıyor. Baud olarak 2400 kullandım. Zaten 38Khz olan bir sinyalden ne beklenebilir ki?
ambar7

MrDarK

ambar7 ve tmcone cevaplarınız için teşekkür ederim. Yakın zamanda bu alandada uzman olan bir arkadaşımında tavsiyesiyle yeni birşey deneyeceğim. Sizinde yaptığınız gibi benzer yöntemler söyledi oda bana, eğer uygulamayı gerçekleştirebilirsem buraya güzel bir döküman hazırlayıp ekleyeceğim :)
Picproje Eğitim Gönüllüleri ~ MrDarK