İki pic arası seri iletişim lcd veri göndermeve basma ccs c

Başlatan Elektrik2012, 25 Ağustos 2013, 21:47:30

Elektrik2012

Evet dediginiz gibi bunu yaptıysam onuda yaparım.rx pinine bende bağladım ilk önce sonra baskıda kolay geldi data pini bağladıgım pine bende o yüzden pini değiştirdim :D Rf haberleşme çözzüyorum gibi.Programın mantıgı aslında gayet basitmiş.Vericidien a b c vb karkterler data oalrak gidiyor karşıda bu karakterlerin alınması bekleniyor karakterler aynı oldugunda yani şifreleme gibi ıf içine verdiginimiz komutu işliyor olay bu :D

İlgilenen bütün arkadaşlara teşekkür ediyorum.

MrDarK

Desene sende yumurtayı kırdın :) Emek veren arkadaşlara teşekkürler bir elektronikçi daha kazandık :)
Picproje Eğitim Gönüllüleri ~ MrDarK

Elektrik2012

Sizin sayenizde öğreniyorum abilerim çok teşekkür ederim . ;D

LukeSkywalker

Programda sıkıntılar var. Daha kaliteli bir veri iletimi algoritması için imzamdaki bloğu inceleyebilirsiniz. Orada udea'nın modülleriyle ilgili bir yazım var.

Elektrik2012

İnceliyorum Her şey yavaş yavaş olucak  :o ;DBaktım ama bulamadım dediginz yeri :D

LukeSkywalker

Kablosuz iletişim yaptığınızı düşünmüştüm bir anda 01010101 verisini görünce. Eğer iletişimi kablosuz yapıyorsanız 01010101 ve X verisine gerek yok. 
Kablolu yapıyorsanız gerekli ve daha fazla sayıda göndermeniz lazım.
http://mikrodunya.wordpress.com/2011/11/08/udea-nin-rf-veri-iletimi-alanindaki-kucuk-devleri-atx-34-nrx-34/

Elektrik2012

İlgilendiginiz için çok teşekkür ederim.ORdaki kodları inceledim fakat ne oldugunu anlayamadım :) :-[

mesaj birleştirme:: 01 Eylül 2013, 19:38:03

YEni konu açmak istemedim 16f628 köpek kovucu yapmaya çalışıyorum basit.
örneğin  internetten araştırdım köpeklerin işittikleri sesi bir sitenin dedigi diğer siteyi tutmuyor.ama genelde 15-50.000 arası Hz arası denmiş sizce kaç yapmalıyım frekans değerini 30000 yeterlimi  ve us gecikme için kaç yapmam lazım tam hesaplayamadım :D 300000 için kaç yazmam lazım?
Yeniden araştırdım en rahatsız oldukları frekans 22-27 khz arasıymış.27khz=27000Hz
1/27000=?

hesaplaması şöyle imiş
ocam tek frekans için hesaplamayı vereyim gerisini siz yazarsınız zaten.
Doğal La notası için frekansımız=> 440Hz
burdan periyodunu buluyoruz   => 1/440=2.272 X 10^(-3) saniye
o da şuna eşittir                        => 2272 mikrosaniye
 
yani la notasını elde etmek için portun ilgili pinini 2272 mikrosaniye süre açık ve kapalı olacak.
yani 1136 mikrosaniye ilgili pin logic high ve 1136 mikrosaniye logic low olacak.

#include <16f628.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOCPD
#use delay(clock=4M)



void main()
{
while(1)
{
set_tris_a(0x00);

output_high(PIN_b0);
delay_us(16);
output_low(PIN_b0);
delay_us(16);

Bayramsumbul

Merhabalar...İlk Olarak Özür Dileyerek Başlıyorum.Söz Verdiğim Programı Yazmadım.Ama Halletmiş Görünüyorsunuz.
Yukarıdaki Hocamızın Verdiği Linkte mikro C İle Yazılmış Kod Vardır. CCS C Değil
Alıntı Yap
char az,i=0, msg[6];
void main()
{
 UART1_Init(2400);//burası #use rs232(ayarı burada sadece baud rate ayarlanabiliyor galiba)
 trisb.f0=0;//portbnin 0. biti çıkış
 portb.f0=1;//portbnin 0. biti low
 delay_ms(100);//100 ms bekle
 
 while(1)//sonsuz döngü
         {
          if(UART1_Data_Ready())//data gelene kadar bekle
          {
           msg[i]=UART1_Read();//veriyi oku
           if(msg[0]=='y' || msg[0] == 's')//Eğer msg[0] 'y' veya 's' ise i değişkeninin 1 arttır.
                                           {
                                            i++;
                                           }
          }
          if(i==3)
                  {
                   if(msg[0]=='y' && msg[1]=='a' && msg[2]=='n' )portb.f0=1;  //Senkron için gönderilen sıfır veya 255 aranmaz....
                   if(msg[0]=='s' && msg[1]=='o' && msg[2]=='n' )portb.f0=0;
                   i=0;
                   msg[0]=0;
 
                  }
         }
}

mesaj birleştirme:: 02 Eylül 2013, 01:11:39

Bu Arada Köpek Savar,Böyle Olsa Gerek;
#include <16F628A.h>
#FUSES NOWDT       
#FUSES NOMCLR    
#FUSES NOBROWNOUT   
#FUSES NOLVP     
#use delay(internal=4MHz)
int main (void)
 {
	 set_tris_a(0x00);
	 while(1)
	 {
		 output_high(PIN_A0); 
		 Delay_us(13);
		 output_low(PIN_A0);
		 Delay_us(12);
	 }

1 Hz 25 us'de Tamamlanıyor.Buda 1000000us=1s/25us=40000 Hz=40 Khz Yanlıs Anlamadıysam Köpekler 50Hz-50KHz Arsı Duyuyor'muş...
Yalnız Çıkışa Bir Amfi İle Bir Twetter Bağlasanız Süper Olur.İyi Çalışmalar,kolay Gelsin...
Bir Elektronik Meraklısının Serüveni...

Elektrik2012

Bayram hocam ne özürü hocam  Allah razı oslun hepinizden sizin sayeninizde bir şeyler öğreniyorum.Tekrar teşkkür ederim :)Köpeksavar(İt savar) :) en rahatsız oldukları frekans 22-27khz arasıymış ama sizin verdigiinz kodu deniycemilk önce köpekler üstünde elimde tweeter dediginiz şey ne bilmiyorum.mp4 çalar çıkardıgım 2 tane hoparlör diye tabir ettigim gerçek ismi farklı olabilir.Onu bağlayıp test etcem bide elimde yaprak buzzer var o olabilir mi?bu devre için piv bie buton eklemek lazım değil mi?if komutu ile :)

http://www.amatortv.com/ultrasonik.htm

Bayramsumbul

Evet Buton Ekleseniz İyi Olur.Sevdiğim Bir Köpeğin Kaçmasın Ben İstemezdim :)
Piezo Haporlor Diye Geçmesi Lazım.
Tam Emin Değilim Ama Yaprak Hopölör Kullanabilirsiniz.Yanlız Direk Çıkışa Bağlamazsanız İyi Olur.En Azından Bir Transistor.İyi Çalışmalar...
Bir Elektronik Meraklısının Serüveni...

Elektrik2012

Anladım  anfi çok akım çeker enerji çabık biter bi bc237 vb yada bd249 var elimde bd 139 var hangisi önerirsiniz?baağlantı şekli nasıl bide gösterirmisiniz?
cb237 için beyz 100R pic gircem sinyalin çıktıgı yere emite gnd colelktör hoparlörün - hop + vcc vercem dogrumu?

Bayramsumbul

BD139 Uygun Diye Görünüyor.Yüksek Frekanslı,8w.Hocalarım Düzeltebilir.Bağlantı Şekli Olarak;
Şu Dökümanı İnceleyip,Bir Fikir Oluşturursanız İyi Olur.Ama Şöyle Olması Gerek:Kollektor->5V,Beyz->4.7K Pic Bacağına,Emitter->Piezo Hopörlör->Gnd.(İnşallah Isınma Yapmaz.Sanmıyorum Ama...Hocalarımın Fikrini Alırsanız İyi Olur Ama)
Bir Elektronik Meraklısının Serüveni...

Elektrik2012

çok teşekkürler hocam Hemen delikli pertinaksa kurup deniycem :)

Bayramsumbul

Bende Onu Diyorum İlk Bir Breadboard'a Kursaydınız Daha iyi Olurdu:Ama Siz Bilirsiniz...Kolay Gelsin...
Bir Elektronik Meraklısının Serüveni...

Elektrik2012

Daha önce piyano konusunda bilgi vermişleri borda kurdum çalışmıştı.buda çalışır.Yeni bir proje aklıma geldi bide onu programını yazıcam.Yeni proje zamanı oley :) 0-99 geri sayan zamnlayıcı olcak display ekranda geriye saycak butona abstıgımda geri saycak.bide reset olur bide başla sorna buna bide rf birleştirdim mi yeme yanında yat :) Hesabı olur sonra 0-99 zamanlayıcı sayaacak 0 geldiğinde buzzzer ötöecek Gibi