BLUETOOTH hc-05 pic16f877a ile haberleşme nasıl yapılır?

Başlatan MÜHENDİS ADAM, 19 Eylül 2015, 17:37:03

MÜHENDİS ADAM

arkadaşlar elimde 6 bacaklı hc-05 modulu var bunu telden kontrol etmek istiyorum ama androidde hep arduino kontrol var nasıl haberleşme yapacağımı bilmiyorum bunun için ne yapmalıyım sizce.

Gökhan BEKEN

Özel mesaj okumuyorum, lütfen göndermeyin.

baran123

Bu modüller arduino uyumlu diye satılıyor.Sordum bir keresinde "sadece arduinoda çalışır" cevabını bile almıştım.
Öncelikle

Bu modül RX-TX ile haberleşiyor.Artık RS-232 mi denir UART mı USART mı karıştırıyorum bunları :)
Bu bir STANDART !

Bu modül en uygun 3.3V ile çalışıyor.Önce güzel bir enerji (LM1117 olabilir)
Devreni komple 3.3 ile besle daha sonra teferruat ile uğraşırsın.Hatta önce 628A gibi küçük bir PIC kullanabilirsin.
Daha sonra USART dan AT komutları göndererek ayarları yap (İsim, Baud, şifre vs)
Bu ayarlarda bağlantı kur.(Önce bluetooth ayarlarında eşleştir.)
ENJOY !
Telefon da hazır uygulamalar var (Blueterm olabilir.)
Telefona sıcaklık bilgisini gönderir.
#include <16F628A.h>  
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOCPD
#use DELAY(CLOCK = 4M)  
#use RS232(BAUD = 9600, XMIT = PIN_B2, RCV = PIN_B1, PARITY = N, STOP = 1, STREAM = Bluetooth)

#include "Ds18b20.c"

signed int temp;

void main(void)
{
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);          
   setup_CCP1(CCP_OFF);                    
   
   set_tris_a(0x00);
   set_tris_b(0x00);
   output_a(0x00);
   
   output_high(pin_a0);
   
   while(TRUE) 
   {
      temp = ds1820_read();
      fprintf(Bluetooth, "\fSicaklik = %d C", temp);
      delay_ms(1000);
   }
}


Telefondan gelen karaktere göre LED kontrol eder.
#include <16F628A.h>
#FUSES XT,NOWDT,NOPUT,NOPROTECT,NOBROWNOUT,MCLR,NOLVP,NOCPD
#use delay(clock=4MHz)
#use rs232 (baud=9600, xmit=pin_B2, rcv=pin_B1, parity=N, stop=1)

char gelen;

#int_rda
void modul_kesmesi()
{
   disable_interrupts(int_rda);
   gelen=getch();
   
   switch(gelen)
   {
      case '1':output_high(pin_b0); break;    
      case '0':output_low(pin_b0);  break;     
   }
}

void main(void)
{
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   
   set_tris_a(0x00);
   output_a(0x00);
   set_tris_b(0x02);
   
   enable_interrupts(GLOBAL);
   
   while(TRUE)
   {
     enable_interrupts(int_rda);   
   }
}

MÜHENDİS ADAM

ben rs232 kullanmıyorum usb benimki birde bu terminal olayında komutlar için iyi bilmem gerek mi ayrı bişey mi at commands diye şeyler var

t600

ben daha önce böyle birşey yapmıştım .   hc05 e doğrudan enerjiyi ver çalışıyor , çep telefonuna bulutut için bir mesajlaşma programı indir , bulututtan  hc05 e bağlan , ve rx ten  oku veta tk ten asc2 olarak gönder cep telefonundan yazı olarak oku , çok basit bir iş .seri portu 9600  de kullan

MÜHENDİS ADAM

#5
dostum ben az önce bluetooth terminalini indirdim ve at komutlarıyla isim değiştirmek için bazı komutlar kullandım
http://www.linotux.ch/arduino/HC-0305_serial_module_AT_commamd_set_201104_revised.pdf buradki linkten isim değiştirme yaptım ama isim değişmedi sadece bluetootha güç verdim rx tx boşta bu işi telden yapmaya çalışıyorum.

mesaj birleştirme:: 20 Eylül 2015, 18:53:38

dostlar ccs c kullanıyorum bluetooh modulü rx tx uclarını pice bağladım diyelim ccs cde input output ayarı yapmaktan başka bir şeye ihtiyaç var mı bu at komutlarını ben yazdım ama olmadı isim değişmedi daha doğrusu mesela at komutu yazdığımda "ok" yazı olarak tepki gelmiyor.

zipzip