Hc-05 İle Hc-06 Bluetooth Modüllerin Haberleşmesi

24 11.214

Bluetooth modüller arduino kablosuz iletişiminde yaygın olarak kullanılan modüllerden biridir.Hc-05 ile hc-06 modüllerin birbiriyle nasıl haberleşeceğini anlatacağız.Öncelikle kablosuz haberleşme yapabilmek için bir modülün yönetici(master), diğer modülün ise yönetilen(slave) modda olması gerekir.

Hc-06 bluetooth modül sadece slave modda çalışmaktadır.O nedenle biz hc-05 modülü master moda alacağız.Ayrıca bu modülün en önemli avantajlarından biri de en kolay şekilde master moda geçmesidir.O zaman hc-05 modülü master moda ayarlanmasını anlatalım.

Hc-05 Ayarları:

Arduino yazılımını yükleyelim.

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
 
void setup() {
Serial.begin(9600);
pinMode(9,OUTPUT); // key pin
digitalWrite(9,HIGH);
Serial.println("Enter AT commands:");
mySerial.begin(38400);
}
 
void loop()
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}

Modülünüzde key pin çıkışı yok ise modülün 34. pininden bir kablo ile çıkış alınız.Bu pin key pinidir.

Yazılımı yükledikten sonra bluetooth modülün vcc pini hariç diğer pinlerini takalım.Modülün üzerindeki butona basılı tutarak vcc pinini 5v pinine takalım ve butonu bırakalım.Modülün üzerindeki led 2 saniye aralıklarla yanıp sönüyorsa modül AT komutlarına hazır demektir.Şimdi AT komutlarıyla modülde değişiklikler yapabiliriz.

İster arduino serial monitör ekranından isterseniz de ‘Tera Term’ programını kullanabilirsiniz.Bazen arduino serial monitörden cevap alınamıyor.Biz ‘Tera Term’ programını kullanarak yapacağız.Bu programda sorunsuz cevap alabiliyoruz.

Programı indirin >> Tera Term

Aşağıdaki adımları takip edelim.

  • File >> New Connection  kısmından bağlantı şeklini serial seçerek arduino kartın bağlı olduğu portu gösterelim.
  • Setup >> Terminal Setup kısmına tıklayalım.Şekildeki gibi ayarları yapalım.

 

  • Serial ekrana ‘AT‘ yazıp gönderdiğimizde cevap olarak ‘OK‘ ifadesi geldiğinde AT komutlarına hazırdır.Şimdi AT komutlarıyla bluetooth modülü master moda alabiliriz.
  • AT+ROLE‘ ifadesi modülün hangi modda olduğunu gösterir.Zaten fabrika ayarı olarak slave modda geliyorlar.
  • AT+ROLE=1‘ yazarak modülü master moda alıyoruz.
  • AT Komutları:

AT+NAME : Default ismi gösterir
AT+ADDR : Default adresi gösterir
AT+VERSION : Versiyonu Gösterir
AT+UART : Ayarlanmış olan Baud Rate’ yi gösterir
AT+ROLE: Master yada Slave olma durumunu gösterir(1=master/0=slave)
AT+RESET : Ayarları resetler ve AT moddan çıkar
AT+ORGL : Fabrika ayarlarına geri döner
AT+PSWD: Default parolayı gösterir

Örnek:
AT+UART=9600  >> Bu ifadeyle baud rate değerini 9600 yaptık.

Hc-05 bluetooth modül şuan master modda ve hc-06 ile haberleşebilir.

Hc-06 modül sadece slave modda çalıştığı için ayar yapmamıza gerek yok.Fakat diğer ayarlarını değiştirmek isterseniz aynı şekilde bağlantıları yapmanız gerekecektir.Bu modülün key pini olmadığı için 9. pine bağlantı yapmanıza gerek yok.

İki bluetooth açık iken birbirlerinin algılama alanında ise otomatik bağlantı kuracaklardır.

Hc-05 ile Hc-06 haberleşmesiyle yapılmış örnek projemize aşağıdaki linkten bakabilirsiniz.

Arduino ve Visual Basic İle Rf Üzerinden Sıcaklık Nem Ölçümü

İlerleyen günlerde iki arduino kartın bluetooth modüllerle haberleşmelerini farklı projeler ile anlatacağım.

 

Bunlar da İlgini Çekebilir

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

  1. ISMAIL

    Merhaba HC-05 VE HC-06 Arasında bir bağlantı kurarak Rc araba yaptım ancak 8-10 sn gibi bir gecikme süresi oluyor bir türlü çözemedim yardım eder misiniz?? telefondan kontrol edince sorun yok HC-05 Modül ile yaptığım joystick kumanda ile 8-10 sn gecikme süresi var.

  2. Berke

    Arduino ve modülün bağlantı noktalarını nasıl görebilirim resim çok küçükte

  3. alex

    merhaba bütün ayarlamaları ve kodları yaptım ama iki modül eşleşmiyorakıllı cihazlar alıcıyı hc06görüyor ama verici olan hc05 görmüyor bunun da diğer cihazlar tarafından görünmesi gerekir mi bu ayarlamayı nasıl yaparım

  4. ali

    MERHABA ilk başta blueteeth modül hc05 ile iletişime geçip ayarları yaptım fakat daha sonraki denemelerde hc05 ile bağlantı sağlayamıyorum nasıl sağlayabilirim
    ikinci olarak iki blueteeth modülün birbirleri ile iletişime geçtiklerini nasıl anlayabiliriz
    bir örnek gösterirseni sevinirim teşekkürler

  5. Eren

    Merhaba biz bu iki Bluetooth’u bağladık ama bu iki Bluetooth’lar arasındaki mesafeyi ya da sinyalin yönünü belirleyebilirmiyiz arduino aracılığı ile

  6. Kamile

    Merhabalar ben bluetooth ile IP camera yöneterek bir mağazaya giren müşteri sayısını ögrenmek için proje yapmam lazım bana yardımcı olabilir misiniz?

  7. mehmet

    Merhabalar.. Ben iki adet HC-05 modülerini slave ve master konumuna getirdim. Ancak enerji verdiğimde sürekli bir tarama halindeler bir türlü eşleştiremedim. Yardımcı olursan sevinirim..

  8. Tamer genç

    Merhaba arkadaşlar,
    Ben slave yaptığım bir hc-05’in çıkışına max 232 entegresi bağladım ve onun çıkışını da yazıcıya bağladım. Böylece bluetooth özelliği olan bir cihazdan text bilgi gönderdiğimde yazıcıdan çıktı alabiliyorum. Şimdi benim sormak istediğim soru şu hocam, bir tane daha hc-05 var elimde onu da master yapacağım onun rx ucunda bilgi girecek slave hc-05 tx ucundan çıkacak bişey yapmak istiyorum. Sadece hc-05 modüllerle yapabilirmiyim. Programlama bilgim yok çünkü, birde master hc-05 slave hc-05i nasıl görüp connect olacak. Bu konuda yardımcı olursanız sevinirim. Saygılarımla

    1. Sezgin GÜL

      Sorun bluetootht modüllerin bağlantı kurması ise otomatik olarak birbirlerine bağlanıyor. Yani iletişim hızı (baudrate) değerleri aynı ve birbirlerini görme alanında ise otomatik bağlantı kuruyorlar. Sizin kod kullanmanıza gerek yok bu durumda.

      1. Tamer genç

        Tamam anladım. Benim göndermek istediğim bilgi rs232 fotmatında bunu hc-05 in rx ucuna versem yeterli olur mu? Hc-05 rs232 formatını algılayabilir mi? Yoksa pic den mi çıkış almam gerek. Saygılarımla

        1. Sezgin GÜL

          Yazıcıya ek devre kurmassan direk bluetoothlar haberleşerek aktarabilirsin fakat veri aktarımında gecikmeler olabilir. Sorun yaşarsan visual basic den arduino yu haberleştirip oradan text veri türünde gönderim yap. Yani kendi yazıcı arayüzünü oluştur.

  9. Deniz ataş

    merhaba,

    aşağıdaki kodda sarial monitorde a ya basıldığını görüyorum fakat ekranda yazı çıkmıyor veya komut amıyor neden olabilir)

    void loop(){
    {
    while (Serial.available()) {
    delay(3);
    char c = Serial.read();
    readString += c;

    }

    if (readString.length() >0) {
    Serial.println(readString);

    if (readString == “a”)
    {
    lcd.print(“a bastın”);
    }

    1. Deniz ataş

      a komutunu android uygulaması ile göderiyorum

      1. Sezgin GÜL

        if (readString == “a”) burada ‘a’ şeklinde yapın

  10. Doğan

    Çok teşekkürler deneyceğim

  11. Doğan

    AT komutuna cevap alamıyorum arduino serial ekranındada satır sonu eklemeniz gerekir diyor.Lütfen yardım edermisiniz.Bir diğer konuda benim hc 06 da reset butonu yok reseti arduinodanmı basacağız.Teşekkürler

    1. Sezgin GÜL

      modülde bazen cevap alınamıyor. teraterm programı ile deneyin ama serial dönüştürücü modül kullanın direk bluetooth pinlerini serial dönüştürücüye takın ve resete basılı iken enerji verin. Hc-06 da direk bağlantıları yapın aynı şekilde at komutlarını kullanın. resetleme olayı yok. hc-05 bölünmüş key pini yoksa 34. pini key pini olup oraya kablo lehimleyip arduinoya bağlantı yapın.

  12. fatih

    2 hc-05 haberleştimesini yaptım at+role 1 digeri 0 modunda ama veri aktarımı yapamıyorum master’den slave ye birşey gönderemiyorum ne yapmam gerekir.? teşekkür emeğinize sağlık.

    1. Sezgin GÜL

      baudrate değerleri aynı mı ?

  13. SİBEL

    hc06nın default baudrate nasıl değiştirebilirz?

    1. Sezgin GÜL

      hc-05 ayarındaki aynı yöntemi kullanın. sadece key pinini takmanıza gerek yok. software serial den rx ve tx pinlerini farklı pin yapın . arduınonun standart rx tx pinlerine takarsanız veri göndermede çakışma olacağından cevap alamassınız

  14. mustafa anıl şahiner

    merhabalar, elimde HC05 ve HCo6 var eşleşme yapıyorum fakat kod göndermek istediğimde gönderemiyorum yardımcı olabilir misiniz örnek kod bakımından, HC05 in baud rate ini 9600 yapıyorum ancak hc06 nın baud rate i ne bilmiyorum bundan dolayı kaynaklanıyor olabilir mi??

    1. Sezgin GÜL

      hc-06 baudrate 9600 dür. fabrikasyon ayarı yani. sitede örnek projeler mevcut bir tanesine buradan bakabilirsin https://www.robimek.com/potansiyometre-ile-bluetooth-uzerinden-servo-motor-kontrolu/

      1. Sezgin GÜL

        Ayrıca hc-05 master moda ayarlı olması lazım