Bluetooth modul hc06 bağlantı

Başlatan yasargunaydin, 09 Haziran 2015, 20:12:48

yasargunaydin

Arkadaşlar merhaba;
Androidi pic ile bluetooth hc06 iletişim kurmak istiyorum.Basitbir şema çizdim ama bluetooth direkmi bağlamalıyım yoksa rf deki gibi max232 üzerindenmi bağlanmalı ve 3.3volt vermek için lm1117 bağladım .bu konularda tereddütlerim var.Yardımcı olabilirmisiniz.

yasargunaydin

#1
Ekteki kartı yaparsam doğru kart olurmu.
Şimdiden yardımlarınız için teşekkürler.

enginkanat

74hc4050 kullanabilirsin rx tx bağlantılar ıcın. 9600 band hızında haberleşiriz. Veriler ascii olarak geliyor.

yasargunaydin

Arkadaşlar tekrar merhaba,
ekteki çizdiğim kart çalıştı ama rs232  imiş gibi düşündüm ve proğram kodlarınıda  (deneme rastgele sayı gönderen proğram)ona göre alltta göreceksiniz yazdım ve blutooth modül takıp eşleştirdiğimde Abuk subuk harfler gönderiyor.Ama seri porta taktığımda sorunsuz sayıları okuyabiliyorum.
Bluetooth taktığımda yanlış olan nedir arkadaşlar.ne yapmalıyımda sayıları sorunsuz okuyabileyim.

TRISA=%11111111     'portA giriş yapıldı
TRISB=%11111111     'portB giriş yapıldı
TRISC=%11000000
TRISD=%00000000
'-------------------------------------------------------------------------------


OPTION_REG.7=0 'pull-up dirençleri aktif
INTCON=%11000000


DEFINE LCD_DREG     PORTB
DEFINE LCD_DBIT     0
DEFINE LCD_EREG     PORTB
DEFINE LCD_EBIT     5
DEFINE LCD_RSREG    PORTB
DEFINE LCD_RSBIT    4
DEFINE LCD_BITS     4
DEFINE LCD_LINES    2

SO VAR PORTC.6
SI VAR PORTC.7
'-------------------------------------------------------------------------------

SAY0 VAR BYTE
SAY1 VAR BYTE
SAY2 VAR BYTE
'-------------------------------------------------------------------------------
'DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
'DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 0
'DEFINE HSER_SPBRG 25  ' 9600 Baud @ 4MHz, 0,17%
'DEFINE HSER_CLROERR 1 ' Clear overflow automatically


BUT0 VAR PORTA.0
BUT1 VAR PORTA.1
SAY0=0
SAY1=0
SAY2=0
PORTD=%00000011
LCDOUT $FE,1


BASLA:

  PORTD=%00000001
  PAUSE 2000
  SAY2=SAY2+1
  SEROUT SO,2400,[#SAY2]
  '   HSEROUT [#SAY2]
  LCDOUT $FE,$84,"SAYI0=",DEC SAY0 ,"SAYI1= ",DEC SAY1
LCDOUT $fe,$C0,"SAYI2=" ,DEC SAY2

  PORTD=%00000010
  PAUSE 2000
  SAY2=SAY2+1
  SEROUT SO,2400,[#SAY2]
  'HSEROUT [#SAY2]
  LCDOUT $FE,$84,"SAYI0=",DEC SAY0 ,"SAYI1= ",DEC SAY1
LCDOUT $fe,$C0,"SAYI2=" ,DEC SAY2


      GOTO BASLA

yasargunaydin

#4
max232 yüzündenmiş abuk subuk veri gönderimi.Şu an bilgisayar bluetoothundan çok güzel veri alıp verebiliyorum .Şimdide androidden veri alıp göndermem gerek.Buradada problem port nasıl görebilirim.Bilgisayarda denetim masasından bluetooth hangi porta bağlandı ise visual studioda o portu açıyor idim.
Androidde nasıl yapabilirim acaba.pic bluetoothunun Androidin hangi portuna bağlandığını nasıl bilebilirim.Yardımcı olabilirmisiniz

mesut25

androıd ile yapılabılır  böyle bir proje yapmıştım androıd programımı kendim yazmıştım  site içinde bulabılrısın baylaşmıştım ben kolay gelsin

yasargunaydin

#6
Mesut kardeş bağlantını inceledim.Kullandığın proğram bana şuan çok uzak.Ben unity diye bir 3doyun yapma proğramı var.ben buradan pic ile kablolu seri haberleşme ve rf haberleşme yaptım.şimdi sıra bluetoothta.laptop bluetoothu ilede haberleştirdim unity de yazdığım proğramı çünkü com 5 yada com 8 hangisinden bağlandı ise tanıttım.Androidde problem com yok.Nasıl ve nerden veri alıp vericem.Sen bu app de bunu nasıl yapmıştın.Com tanıtma yerine ne yazdında veri alıp verebildin.

enginkanat

#7
iki bluetooth modül birbiriyle eşleştiğinde sizin herhangi bir port tanımlaması yapmanıza gerek yok.
ayrıca android cihaz ile pic işlemciyi 9600 hızında kullanmanız gerekiyor. eğer hızlar birbirinden farklı ise istediğinizi gönderemezsiniz.
pic ile gönderdiğiniz verinin ardından 13,10 gönderiniz 13 ascii karşılığı 'enter' 10 ascii karşılığı 'line feed yeni satır'

yasargunaydin

#8
Engin bey ,Öncelikle ilginiz için teşekkürler.
Karttan verileri gönderebiliyorum hatta blueterm diye bir proğram kurdum androide o proğramda veriler çok düzgün geliyor ve okuyabiliyorum.Benim sıkıntım c# ta android için proğram yazarken port yerine ne tanımlaması yapacağım.Verileri nerden okutacağım.Nasıl okutacağım.
Mesela laptop bluetoot açıyorum ve laptop ta com8 den bluetooth eşleşiyor ve ben c#ta
sp = new SerialPort ("COM8", 9600, Parity.None, 8, StopBits.One);
            sp.Open ();
yazdığım zaman com8 den bağlanıyor ve verileri okuyabiliyorum.Hatta kesme yaptım veride alabiliyorum.gelen veriye göre röle çektiriyorum.
Yani kartta sıkıntı yok.Android için yukarda yazdığım c#  kod yerine ne yazmalıyım.Aynı laptopta yapabildiğim işi androidde yapmalıyım.

enginkanat

işte bu noktada size yardımcı olamayacağım c# bilmiyorum. Ben android yazılımını app inventor ile yaptım şimdi python öğrenmeye çalışıyorum o konuda da maalesef çok fazla ilerleyemedim henüz. app inventör de kod yazmak yerine yap-boz gibi sadece blokları birbirine ekliyoruz o ortamda da com için bir ayar bulunmuyor

Hattuşa

@yasargunaydin usta;
yukarıda şemada dikkatimi çeken Bluetooth modul hc06 bağlantısını yaparken araya max232 koymak gerekiyor mu? yani direk Bluetooth module TX ve RX bağlantılarını işlemciden vermek yeterli gelmiyor mu?

berkerucar

Eğer pici 3.3V ile besleme şansınız varsa 3.3V ile besleyin. Ya da 5V'ta TX pini için gerilim bölücü dirençle HC06'nın RX pinine 3.3V uygulayabilirsiniz.
Ben Bluetooth kontrollü lamba projemde pici 3.3V ile besleyerek aşağıdaki gibi yalın bir devreyle projeyi bitirdim. Haftalardır sorunsuz çalışıyor.


enginkanat

74HC4050 high-to-low level shifter entegresi ile çok kolay hallediliyor. 5 v sinyali 3,3 v olarak yada tam tersi kullanabiliyorsunuz.

yasargunaydin

pro-TR arkadaşım ben max232 yi gerekir diye koymuştum ama verilerin değişmesine yol açtığı için iptal ettim.şuan devremde rx-tx uçlarına direk bağlı.Veri alıp vermede şuan sorun yok.tek sorun android için proğram yazamamak.Kartta sıkıntı yok

yasargunaydin

Engin bey ben lm1117T aldım ve 3.4 volt veriyor.Devrede bluetooth bununla besliyorum.

Powered by EzPortal