RF İletişim

bsafak

Üye
Katılım
5 Tem 2007
Mesajlar
45
Puanları
1
Yaş
39
Merhaba arkadaşlar aşağıda yazdığım kodlar proteusda çok güzel çalışıyor. Kablolu seri iletişimdede çok güzel çalışıyor fakat udea firmasından aldığım utr-c12u modülleriyle bir türlü çalıştıramadım sebebi nedir?

Data aktarımında 5 byte AA 5 byte 00 5 byte FF bilgisi gönderiyorum olmuyor.
Sadece herhangibir data gönderiyorum mesela ver=10 yine olmuyor. Hiç değilse saçma sapan dahi olsa bir data aldım kesmesi oluşturması lazım bana göre ama hiç birşey olmuyor. Veri gönderim ledi normal yanıp sönüyor fakat alıcıda hiç bir led yanmıyor.



VERİCİ:
#include <16f877a.h>
#fuses XT,NOPROTECT,NOCPD,NOBROWNOUT,NOPUT,NOWDT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7,parity=N,stop=1)
int ver;
#int_tbe
void verici()
{
disable_interrupts(int_tbe);
output_low(pin_b7); // data gönderip kesmeye girdimi
delay_ms(100);
}


void main()
{
setup_psp(PSP_DiSABLED);
setup_spi(spi_ss_DiSABLED);
setup_timer_1(t1_DiSABLED);
setup_timer_2(t2_DiSABLED,0,1);
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_ccp1(ccp_off);
setup_ccp2(ccp_off);

enable_interrupts(global);
output_high(pin_d3); // UTR-c12u modülü verici olarak seç
output_low(pin_d2); // UTR-c12u modülü kanal-1 olarak seç
ver=10;
while(1)
{
enable_interrupts(int_tbe);

output_high(pin_b7); // data gönderdi mi?
delay_ms(300);

putc(ver);
delay_ms(100);

}
}




ALICI:

#include <16f877a.h>
#fuses XT,NOPROTECT,NOCPD,NOBROWNOUT,NOPUT,NOWDT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7,parity=N,stop=1)

int t=0;
#int_rda
void alici()
{
disable_interrupts(int_rda);
output_high(pin_b1); //veri geldi mi?
delay_ms(50);
t=getch();
if(t==10)
{
output_high(pin_b7); //gelen veri doğru mu?
delay_ms(100);
}


}

void main()
{
setup_psp(PSP_DiSABLED);
setup_spi(spi_ss_DiSABLED);
setup_timer_1(t1_DiSABLED);
setup_timer_2(t2_DiSABLED,0,1);
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_ccp1(ccp_off);
setup_ccp2(ccp_off);

enable_interrupts(global);
output_low(pin_d3);// utr-c12u modülü alıcı seç
output_low(pin_d2);// utr-c12u modülü kanal-1 seç
while(1)
{

enable_interrupts(int_rda);
output_low(pin_b1);// veri geldimi
output_low(pin_b7); // gelen veri doğrulandı
delay_ms(50);
}}
 
arkadsım bende sen gibi ilk denemem de sadece alıcı tarafa bi led koydum ve veri gönderdiğimde yanıp sönmesine baktım ondan sonra yazılım için denemeler yaptım.

Udea nın rf sensörleri i çalışmakta bunların iki çeşiti var ben kristal osilatörlüsünü almıştım devre olarak da alıcının tüm bağlantılarını yap özelliklede besleme kaynaklara bak sanırım alıcı max 5v olacak verici ise hatırladığım kadarıyla 9v ye kadar gitmeli eğer devrede bağlantıların tam ve sadece 10 cm den denemen sonuç alamadıysan at gisin ya biri arızalı yada ikisi farklı tiplerde (kristal,varikaplı)

İyi çalışmalar...

rf denmelerinde ilk olarak ikiliye enerjiyi ver vericiden sadece data gönder alıcı da ise data bacağına led bağla eğer led yanıp sönüyor ise göndediğin veriye göre o zaman sorun yazılımında ancak olay gerçekleşmiyor ise bilki rf ler ya birbirini görmüyor yada biri yanık demerk

Rf lerde bildiğim iki çeşit var bunlar kristal ve varikap osilatör olarak aldığın rf lr farklı isefrekansları uymuyor da olabilir...
 
Moderatör tarafında düzenlendi:
Evet bende bu şekilde çalışma yaptım olmuyor 5 byte aa 5 byte 00 5 byte ff gönderdim gene olmadı acaba uyandırma kodlarında sıkıntı yaşıyor olabilir miyim? Acaba bu uyandırma kodlarını göndermeden iletişim olmazmı çünkü bu kodları göndermezken data alındı ledi bazen yanıp sönüyor.
 

Forum istatistikleri

Konular
128,198
Mesajlar
915,765
Kullanıcılar
449,978
Son üye
food_eng_1952

Yeni konular

Geri
Üst