38khZ IR Sİnyali hakkında

tunahurgh

Üye
Katılım
2 Mar 2021
Mesajlar
26
Puanları
1
Yaş
41
Merhaba Arkadaşlar,
IR verici devresi üzerinde çalışıyorum. Samsung televizyonu kontrol edeceğim. Bununla ilgili birçok kod var ama olayın mantığını birtürlü anlayamadım. Kaynaklarda 38Khz taşıyıcı sinyal üzerinde kod aktarılır diyor. Verilen örneklerde bu 38kHz i elde etmek için bazı sigorta ve osilatör ayarları yapılmış Mesela aşağıdaki gibi;

#use pwm (PWM1, FREQUENCY = 38KHz, DUTY = 25, PWM_OFF)
setup_oscillator(OSC_8MHZ | OSC_PLL_ON);

Bunun aynısını yazınca devre çalışıyor ama ben dahili osilatör değil de 20Mhz kristal kullanmak istiyorum. Bu durumda ne gibi ayarlar yapmalıyım bunu birtürlü kavrayamadım.
Ayrıca verilen örneklerde birbiri ardına saykılları belirli aralıklarda kesip vererek 0 ve 1 bit sinyalleri oluşturulmuş. Madem bu saykılları belirli sürelerde göndererek sinyal oluşturabiliyorum, neden mutlaka 38kHz taşıyıcı frekansına ihtiyacım olsun ki.
Aydınlatırsanız çok memnun olurum.

Teşekkür ederim.
 
38khz ile modüle edilmeseydi odanın ışıklarını aç kapa yaptığında 1-0 diye algilardi. Hatta çakmakla sigara yakarken kanal değişebilirdi
 
38khz ile modüle edilmeseydi odanın ışıklarını aç kapa yaptığında 1-0 diye algilardi. Hatta çakmakla sigara yakarken kanal değişebilirdi
Sana bir anımı anlatayım:Eskiden renkli tv ler ilk çıktığında, sar elektronik, telkom marka uk modülü takardık tv lere osd li, 99 kanal, müşterimin birinin odasındaki floresan lamba bozulmuş, starter ateşleme yaparken kanal değişiyor dedi, çırağım ozamanlar, tabi, ustam inanmadı, müşterinin evine gittim evet starter ateşleme yaparken kanal değişiyor du,
 
Görünüşe göre CcsC kullanıyorsun,
devam edeceksen Serdar Çiçek hocanın kitabını edin çok rahat edersin.
Mcu çalışma frekansı, timer ve pwm ayarları konularına bakmalısın.

Özellikle bu ayarları CcsC nin Project Wizard menüsünden yeni proje oluşturarak yapmanda fayda var.
Birde kullandığın mcu nun datasheet inde Mcu çalışma frekansı PLL ayarları ve
pwm timer kısmında hangi mcu çalışma frekansı ve modunda ne pwm değeri üretebileceğin kısımlarını imcelemen gerekiyor.

Ötnek olarak istediğin ayarlar şu oluyor,
derleme sonrası CcsC ide uyarı kısmında Pwm in ne hata ile üretildiğinide yazar misal 38.225 kHz gibi birşey der.
Kod:
#include <kullandığın mcu neyse.h>
#fuses hs,nowdt,put,noprotect
#use delay(crystal=20MHz,clock=20MHz)


#use pwm (PWM1, FREQUENCY = 38KHz, DUTY = 50, PWM_OFF)
setup_oscillator(OSC_20MHZ | OSC_PLL_OFF);

Neden 38 kHz taşıyıcı kullanayım kısmı ayrı bir konu.
Temel mantığı şu 96.0 MHz de bir radyo kanalı 96.5 de başka bir radyo kanalı var,
işte bir çok kanal aynı ortamda aynı anda yayın yapabiliyor.
38kHz de bir kumanda, 125 kHz de başka bir kumanda birbirlerine ilişmeden kullanılabilir.

Daha başa dönsek ben hiç taşıyıcı frekans kullanmak istemiyorum desen,
ir led ışık veriyorsa taşıyıcılı sistemdeki 38kHz var
ir led sönükse taşıyıcılı sistemdeki 38kHz yok anlamına gelsin desek
burada arkadaşlarında bahsettiği gibi floresan lamba güneş vs. gibi başka kaynaklardan yayılan ir ışımanın sistemi çom rahat kullanılamaz hale getirmesi durumu oluşuyor.
Ayrıca taşıyıcısız iletişim sistemli farazi bu ortamda
başka hiç bir frekansta hiç bir ir verici alıcı çalışamaz hale gelir.

Ayrıca alıcı hazır göz denen TK19 gibi modüller var
sistem zaten önceden tasarlanmış bunlar belirli frekanslar için üretilmiş.
 
Timer kullanmaya gerek de yok aslında.

for(a=0;a<15;a++){
output_high(pin);
delay_us(13);
output_low(pin);
delay_us(13);
}

Yapmak yeterlidir
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…