HC-06 Bluetooth - Pic Haberleşmesi

abdulll

Üye
Katılım
26 Mar 2014
Mesajlar
8
Puanları
1
Yaş
33
Selam Arkadaşlar,
HC-06 bluetooth modülü ile pic haberleşmesi üzerine çalışıyordum. Bu forum siterindeki verileri ve başka yerlere baktıklarımı uyguladım. Fakat hala veriler düzgün okunmuyor. Gönderilen ve alınan veriler yanlış. Bunu da RS232 ile deneyerek test ettim. Veriler düzgün alınıp düzgün gönderiliyor. Pic'in TX ile bluettoh modülünün RX bacağının arasına 2K/3K gerilim bölücü kurdum. Ayrıca bluetooth modülünün RX'i ile pic TX arasında pull-up direnci attım. Fakat veriler yine yanlış geliyor. İki yönlü de veriler hatalı. Sizce sorun nedir arkadaşlar?
Şimdiden ilgilenen arkadaşlara teşekkür ederim.

Kod:
#include <16F877A.H> 
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000) 
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, parity=N, stop=1) 


#use fast_io(a) 
#use fast_io(b) 




int data;




#use fast_io(a)




void main ()
{
  setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   setup_spi(SPI_SS_DISABLED);     // SPI birimi devre dışı
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı




   set_tris_a(0x00);  


   output_a(0x00);


   
   while(1)
   {
  
   data=getch();
   
   if(data==0xAA)
   {
   output_high(pin_a0);
   delay_ms(1000);
   }
    
   // printf("Deneme");
  
  
   }
   }

Görüntü 11.jpg
 
Adsız.jpg
merhabalar, HC05 ve HC06yı bir projemde aktif olarak kullanmıştım. bununla ilgili ilk yapmış oldğum devrenin şemasını ekledm. Bir kıyaslasan iyi edersin. Aklıma gelen olabilecek ilk sorun, modülün AT modunda kalıyor olması. Şemadaki modülün ledlerini bağlarsan, ledlerin hareketinden modülün AT modunda olup olmadığını anlarsın. Ayrıca önemli bir işinde kullanacaksan kesinlikle HC05 kullan, çünkü HC06nın bir çok özelliği kısıtlanmış.. Sıkıntı çözülmezse tekrar yardımcı olmaya çalışırım..
 
Öncelikle cevabınız ve ilginiz için çok teşekkür ederim. Acaba elinizde çözünürlüğü daha yüksek bir resim var mıdır ? Devre tam olarak anlaşılmıyor. Bir de AT modu ile ilgili pek bir bilgim bulunmamakta acaba nedir bu mod ve nasıl işler ? Ben RS232 gibi düşünmüştüm amma sıkıntı çıkardı insafsız :)
 
Şuan resim yok akşm yükleyeyim. Modül de iki adet mod bulunmakta,birincisi AT modu, ikincisi normal haberleşme modu, AT modunda modülün ayarlarını değiştirirsin AT komutları ile. Örneğin AT+NAME = Modul verisini seri porttan gönderirsen modülün adını değiştirmiş olursun. Bu be benzeri onlarca ayarı burdan değiştirebilirsin. Diğer modda ise senin düşündüğün gibi RS232 mantığı var. Yani burddan ne gönderirsen karşıdan birebir aynısını alırsın.
Bu mod Geçiş işleminide bir bacağı + veya - yapmana göre ayarlıyorsun. HC06 için bu pin Pin26. Datasheetide iyice bi incelemeni tavsiye ederim
 
Cevabınız için tekrardan teşekkürler ederim. Dediğiniz gibi datasheet detaylı inceledim ve devreyi tekrardan kurdum. Bu sefer veriler düzgün alıyor fakat düzgün göndermiyor. Mesela "araba" yazısını "a" ayrı "raba" ayrı geliyormuş gibi görünüyor. Yani aynı anda veriler dağınık geliyor. Aynı kodu RS232 üzerinden tekrar denedim. Verinin alınması ve gönderilmesinde bir hata yaşamadım. Hata sizce neyden kaynaklanıyor?
 
Modülün TX'i ile Pic'in Rx i arasına direnç falan attınız mı? Birde bluetootha nerden bağlanıyorsunuz?
 
Modülün TX'ini datasheet olan şekliyle, iki transistör, 3 direnç ve iki ayrı beslemeyle kurdum(ikinci besleme pull up direncine bağlı.) Modülün RX'ini diyot ile pic'e bağladım. Verileri ise C# ile gönderip alıyorum.
 
Adsız.jpg
resmi birdaha yükledim. Modülün Tx'i ile pic arasına hiçbirsey koyma, direk pice bağla, birde öyle dene
 
Dediğiniz gibi direk bağladım. Resimdeki gibi devreyi kurdum yine "araba" yazısının "a" harfi ilk sonra diğerleri geliyor.
 
Belki yazılımla ilgili bir sıkıntı vardır. Eğer android bluetoothlu telefonunuz varsa,bluetooth serial monitor gibi bir program kullanarak telefondan bağlanmayı deneyebilirsin
 

Forum istatistikleri

Konular
128,125
Mesajlar
915,239
Kullanıcılar
449,837
Son üye
betül hüsrevoğlu

Yeni konular

Çevrimiçi üyeler

Geri
Üst