KIZIÖTESİ ALICI NEDEN HER SİNYALİ ALIR?

elektrofizikci

Usta Üye
Katılım
30 Haz 2007
Mesajlar
1,185
Puanları
181
Yaş
39
Geçen kızıl ötesi kumanda devresi yaptım, pic ile. sony kumanda kullandım. Tuşa basınca çıkıştaki led yanıyor. her tuşta da yanıyordu. O problem değil di. Lakin Odanın ışıklarını açtığımda da alıcı o sinyali alıyor. daha da ilginci dışardan geçen polis aracının tepe lambasından bile etkileniyordu. Sanki RF devresi yaptım :)

kızılötesinde verici ile alıcının birbirini görmesi gerekmiyor muydu arkadaşlar?
 
uğraşmayı bırakmadım dostum. sağol bilgilerin için. hemen birilerine danışma huyum yok, biraz kendim uğraşayım dedim. lakin hala çıkamadım açıkcası işin içinden... birşeyler yaptım ama dedğim gibi her sinyali alır oldu. Yansımları bende düşündüm ama polis arabası binadan dışarda, tepe lambasınının her mavi oluşunda benim devre de çalışıyor. dükkanın kapısına kapı otomatiği koydum, kapıyı elimdeki kumandayla açmak için uğraşıyorum.

Henüz düzgün bir ccs c kod bulamadım. ayrıca ihtiyacımı karşılamanın yanında tam olarak mantığını da kavramak istiyorum. Taşıyıcı sinyalin içinde bilgiyi göndericez kodlyarak onu anladımda ikisini birbiri üzerine nasıl bindireceğim ve alıcı da bu kodu nasıl okutacağım, alıcı göz taşıyıcı ile bilgiyi ayırıyor mu , yoksa sadece zaten bilgiye göre mi çıkış veriyor...v.s. v.s aklımda cevabı yerleşemeyen sorular var.

işin aslı işin içinden çıkamamamın nedeni konuya tam yoğunlaşamadım, bu konuyu aralarda molalarda çalışabiliyorum. sağlıcakla...Zaten çözdüğümde tam olarak burada kesinlikle güzel şeyler paylaşacağım. Yardımlara da açığım tabi ki :)
 
haberleşme çok çetrefilli bir daldır, işin yavaş ilerlemesi gayet normal. Bindirme konusuna gelince aslında bu konuda söylenecek çokşey var modülasyon konusuna girmek lazımki bu konudan çıkamayız, ama IR alıcı verici için en sade şekliyle bindirme olayını açıklarsaki; diğer mesajda söylediğim gibidir, siz karşı tarafa bilgi yollamak istiyorsunuz bu bilgi 1 ve 0 lardan oluşuyor, bilgiyi yeterli uzaklığa ulaştırmak için bir taşıyıcıya ihtiyacınız var buda IR ledin ışığı oluyor, bu ışık örneğin 38 kHz ise 5-10 metreye kadar ulaşabilir, yani öncelikle örneğin düğmeye bastığınızda IR ledi 38 kHz de çalıştıran bir devreniz olması gerekiyor ( saniyede 38 000 defa yanan 38 000 defa sönen IR led oluyor elimizde, birde duty saykıl kavramı var yani ledin yanma süresi, buda IR haberleşmede genellikle %30 civarında oluyor, yani %30 yan-&70 sön şeklinde çalışan IR led bu yanma sönme işini saniyede 38 000 defa yapıyor yani 38 kHz de çalışıyor) artık taşıyıcı sinyalimiz hazır, bir bilgi göndermek istediğimizde yaptığımız iş ise zamanlama kullanmak daha öncede söylediğim gibi örneğin 0.5 ms 38 kHz gönder, 0.5ms 38 kHz gönderme yaparsak bu 1 bilgisi olsun tersi ise 0 bilgisi olsun diyoruz, bu sayede 1 ve 0 ı 38 kHz i kullanarak göndermiş oluyoruz, alıcı kısmında ise genellikle TK19 alıcı göz kullanıyoruz, bu göz eğer ortamda 38 kHz var ise çıkış bacağı 0 oluyor (yani çıkışında 38 kHz lik sinyali görmüyoruz sadece 1 veya 0 görüyoruz), alıcı göz ortamda 38 kHz yoksa çıkış bacağını 1 de tutuyor, bizde bu 1 0 zamanlamasını kullanarak gelen veri 1 mi 0 mı anlıyor ona göre gerekli işlemi yapıyoruz. Birde 38 kHz sinyali üreten bir floresan lambada olabilir, sizden duydum ilk defa belki polis çakarıda olabilir, buda haberleşmenin sıkıntılarından biridir parazitler, bu yüzden protokolün sağlam olması gerekiyor, aynı durum rf haberleşme yapsakda karşımıza çıkıyor bunun içinde manchester code vs. gibi birçok metod var, parity check var konu detaylı, ama herşeyden etkilenen bir alıcı yapmak bile bir gelişmedir umarım zamanınız olur daha iyisini yaparsınız.
 
Karaapak konunun teknik kısmını güzel açıklamış her zmanki gibi. Benim ilave etmek istediğim şu IR ledin önüne renkli lens/plastik koyduğunuzda odadaki veya çevre ışınlardan az etkilenir hatta etkilenmez. Bu parçayı tv cilere sorabilirsiniz tv veya uydu cihazları her gün atılıyor, rica edin o parçasını ayırıp saklattırın mahallenizdeki tv tamircisine. :cool:
 
Pic ile yapmak isterseniz 38 kHz'lik PWM sinyalini RS232 protokolü ile IR lede uygulayabilirsiniz.Aşağıda basit 3 kanallı IR verici.

l3fn4.jpg
 
birde bunun alıcısını paylaşsan ya varsa elinde ccs c kodlusu...yemede yanında yat o zaman :)
 
l4lbm.jpg


Bu devreyi çalıştırmıştım ama kodları bulamadım. Fikir vermesi açısından aşağıdaki benzer kodu vereyim. Bu kodlarla da çalışır sanıyorum. Program 1 kanal için, kanal sayısını benzer şekilde arttırabilirsiniz. Kristaller yerine 628'in dahili osilatörünü kullanabilirsiniz. Ve alıcıda led yerine transistör-röle kullanabilirsiniz.

*******VERİCİ*******************

#include <16f628A.h>
#fuses XT,NOWDT,NOPROTECT
#use fast_io(a)
#use fast_io(b)
#use delay (clock=4000000)
#use rs232 (baud=2400,xmit=pin_B2, parity=n, stop=1)

void main ( )
{
setup_timer_1(T1_DISABLED);
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_1,25,1);
set_pwm1_duty(10);
set_tris_a(0xFF);
set_tris_b(0x00);
output_a(0x00);

while(1) {

if(input(pin_a0)) { //1. buton
while(input(pin_a0));
output_high(pin_b6);
printf("yazi\r");
delay_ms(300);
output_low(pin_b6); }

// Diğer butonları yazmıyorum

}}

*******ALICI*********************

#include <16f628A.h>
#include <stdlib.h>
#fuses XT,NOWDT,NOPROTECT
#use delay (clock=4000000)
#use fast_io(a)
#use fast_io(b)
#use rs232 (baud=2400, rcv=pin_B1,stop=1, parity=n)

char data[10];

void main ( )
{

setup_timer_1(T1_DISABLED);
setup_ccp1(CCP_OFF);
setup_timer_2(T2_DISABLED,0,1);
set_tris_a(0x00);
set_tris_b(0xFF);
output_a(0x00);

while(1) {

if(input(pin_b1)==0) { // Veri geldiyse
gets(data);
if(data[0]=='y' && data[1]=='a') //yazi...
output_toggle(pin_a2); }
}}
 
en kısa sürede deneyeceğim,size geri dönerim... teşekkürler...
 

Forum istatistikleri

Konular
128,179
Mesajlar
915,659
Kullanıcılar
449,942
Son üye
Nzmtekin

Yeni konular

Geri
Üst