Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

rf alıcı verici

Başlatan ozay34, 26 Ocak 2014, 00:14:17

ozay34

merhaba arkadaşlar
basit bi rf devre yaptım. simülasyonda sorunsuz çalışıyor. ama bord üzerinde kurunca çalışmıyor. pic'e programı gönderdim sorunsuz her şey. ne yazık ki çalışmıyor. anten olarak 0.75'lik kablo kullandım. alıcı veya vericinin her ikisinin bozuk olma ihtimali var mıdır?

polleme

Hiçbir nilgi vermemişsiniz, ne kod var ne de şema. Bu durumda sadece tahmin yürütülebilir.

- RF modüllerde (özellikle ASK ise) data göndermeden önce uyandırma verisi göndermek gerek.
- Modül beslemeleri ve özellikleri nedir?
- Arızalı da olabilirler, devreyi rf modül kullanmadan seri portları birbirine bağlayarak test edebilirsiniz.

ozay34

#2
#include <16f877A.h>
#fuses  XT, NOPROTECT, NOWDT, PUT
#use delay(clock=4000000)
#use rs232(baud=1200, xmit=PIN_C6, rcv=PIN_C7)



void main(){
set_tris_b(0xff);
set_tris_c(0x00);


   while(1){

   if(input(pin_b0))
   {
   putc(0b01010101);
      putc('X');
       putc('A');
  }
   if(input(pin_b1))
   {
   putc(0b01010101);
      putc('X');   
   putc('B');
   }
  if(input(pin_b2))
  {
  putc(0b01010101);
      putc('X');   
      putc('C');
  }
 
  }

   }


mesaj birleştirme:: 27 Ocak 2014, 16:32:20

#include <16f877A.h>
#fuses XT, NOPROTECT, NOWDT, NOLVP
#use delay(clock=4000000)
#use rs232(baud=1200, xmit=PIN_C6, rcv=PIN_C7)

char gln;

void main(){

set_tris_b(0x00);
set_tris_c(0xff);
output_b(0x00);
while(1)
   {
if(getc()=='X'){
      gln=getc();
   }
 
switch(gln){
   case 'A':  output_high(pin_b0);
   break;
   case 'B': output_high(pin_b1);
   break;
   case 'C': output_high(pin_b2);
   break;

 

}
}
}
bu da alıcı devre. dediğim gibi kodlarda ve ısıste sorun yok.pic bozuk olabilir mi.çünkü normal bi tanesini  bord üzerinde denedim.led yanıp sönüyor.diğerinde olmadı.ama programlarken bi hata vermiyor.bozuk mu değiilmi anlayamadım.

YK44

Bence kristalini kontrol et bende geçenlerde kristal yüzünden böyle bir sorun yaşadım. İsisde çalıştı devrede çalışmadı.Bir de burada NOMCLR neden yok? Yada mclr pinin 5volta bağlımı?

schrodinger

gönderdiğin verinin gittigınden emin mısın kontrol felan ettin mı

ozay34

#include <16f877A.h>
#fuses XT,NOWDT,NOPROTECT
#use delay(clock=4000000)


void main()
{
set_tris_b(0x00);
set_tris_a(0xFF);
output_b(0x00);

while(1)
{
if(!input(pin_a1))
{
output_high(pin_b0);
output_low(pin_b1);
}

if(!input(pin_a2))
{
output_high(pin_b1);
output_low(pin_b0);

}
}
}
bu dosya için picleri sırayla denedim bord üzerinde. biri çalıştı diğeri çalışmadı. piclerden biri bozuk.

OptimusPrime

sağlam piclerle deneme yaparken board üzerine kurup ilk önce rf modüller olmadan tek tel üzerinden (ortak besleme ile) çalışıp çalışmadığını kontrol et. eğer çalışıyorsa modülleri ekle ve tekrar dene. çalışmıyorsa preamble kısmını biraz daha uzat. ayrıca denemelerde alıcı ve verici arasında bir miktar mesafe olsun. 30-40 cm gibi...
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

ozay34

sağlam pic alana kadar devre bekleyecek. bu aralar elektronik malzeme bulmakta zorluk çekiyoruz.

LukeSkywalker


ozay34

teşekkür ederim paylaşım için.

xfrieyt

putc(0b01010101); komutunu 3-4 kere  gönder daha granti olsun. Programın klasik . YAni çalışması lazım .gözden kaçırdığım yoksa. Sorun şu : Muhtemelen keymark rf modülü kullanıyorsun. bunun için 3,3 v regülatörün var mı ? bordları birbirinden uzaklaştırıp deneyebilirsin. 1 metre kadar. Ama tavsiyem biraz paraya kıyıp udea marka (18 tl kadar) almalısın. DAha kararlı çalışma sunar.

WorldWideWeb

Recepcelikkaya'nın Ders videosundaki proje sanırsam.


-Projeyi ilk olarak antensiz 1-2 cm uzaklıktan dene
-datasheet'ini iyi incele.
-herhangi bir bağlantı hatası yapmadığından emin ol
-isiste similasyonlarda ayak bağlantıları çoğunlukla eksiktir. Yani projeyı isisteki çizimine göre yapma.
-Datesheette verilen; capasitör ve dirençleri kullan.
-eğer devre çalışmıyorsa, aynı entegre'ye buton bağla ve aynı entegrelerdeki ledleri yak. (pici programlarken hata yapmış olabilirsin)