Mikrokontrolcü projelerimizde en pratik kullanımı sunan bağlantı Bluetooth kablosuz haberleşme. Bluetooth haberleşmede de özellikle fiyatından dolayı en sık kullanılan modüller HC05 ve HC06 Bluetooth modülleridir. Bu yazıda bu modüllerin özelliklerinden ve farklılıklarından bahsetmeye çalışacağım.

Öncelikle, her iki modülün de fiziksel görünüşleri hemen hemen aynıdır:

DSC_0188

Sol tarafta HC05, sağ tarafta ise HC06 modüllerini görmekteyiz.

Kartlar, EGBT-045MS ve EGBT-046S Bluetooth modüllerinin breadboard ve 0.1″ header bağlantıları ile kullanılabilmesi için başka bir kart üzerine durum gösterge LED’i ve 3.3V regülatör ile monte edilmiş halidir. HC05 kartlarında çoğunlukla kartın AT komut moduna geçebilmesini sağlamak için alıcı/verici modülün 34 numaralı pinine (alttaki resimde sağda CMD olarak belirtilmiştir) bağlı bir adet buton da bulunmaktadır. Eğer bu buton kartınızda mevcut değilse, modül taşıyıcı üzerinde “KEY” olarak belirtilen pini lojik 1’e çekerek kartın AT moduna geçmesini sağlayabilirsiniz.

EGBT-046S-EGBT-045S-PIN-CONFIGURATION

Kartların AT komut modunda haberleşmeleri de farklıdır. Bir USB-Seri dönüştürücü programlayıcı kartı (örneğin FTDI) kullanarak kartlara komut göndererek modüllerin ismini, baud rate’ini ve eşleşme için kullanılacak şifrelerini değiştirebilirsiniz (HC05 modülünde ek olarak kartın haberleşme modunu da değiştirebilirsiniz, bu konuya ilerleyen kısmında değineceğim).

HC05 ve HC06 modüllerini bilgisayarınız ile konfigüre etmek için şu şekilde bağlamalısınız:

Modül -> USB-Seri kartı

  • VCC -> 3.3V veya 5V
  • GND -> GND
  • TXD -> RXD
  • RXD -> TXD

Eğer HC05 modülü kullanıyorsanız, modüle güç verdiğiniz esnada kartın üzerindeki butona basılı tutun. Kartınızda buton yoksa, “KEY” pinini VCC’ye bağlayabilirsiniz.

AT komutları ile ilgili detaylı bilgi için burada bulunan AT komut seti dosyasından yararlanabilirsiniz. AT komutlarını, bir seri port terminali programı (örneğin TeraTerm) kullanarak veya Arduino IDE programınızın seri port ekranını kullanarak gönderebilirsiniz. Arduino IDE kullanacaksanız Araçlar menüsü altından Port‘un doğru seçili olduğundan emin olunuz.

HC06 Bluetooth modülünün AT komut yönergesi:

Arduino IDE’yi açın ve doğru COM portunu seçin. HC06 modülünüzü yukarıda anlattığım şekilde bağlayın. Bu aşamada Arduino IDE üzerinden seri port ekranını açarak aşağıdaki şekilde ayarlayabiliriz:

serial_monitor_2

Burada dikkat etmeniz gereken nokta, kartınızın baud rate’ini değiştirdiğiniz takdirde AT komutları yollamak için seçmiş olduğunuz baud rate’i kullanmanız gerektiğidir. Kartın varsayılan baud rate’i 9600’dür.

Bağlantıyı denemek için modüle AT komutu gönderebilirsiniz. Eğer seri port ekranında OK cevabını görüyorsanız, bağlantınız düzgün çalışıyor demektir.

Kartın varsayılan ayarları şu şekildedir:

  • İsim: linvor
  • Şifre: 1234
  • Baud rate: 9600

Modülün ismini değiştirmek için AT+NAMEkartismi

Şifresini değiştirmek için AT+PIN1234

Baud rate’ini değiştirmek için AT+BAUD4 (1:1200, 2:2400, 3:4800, 4:9600, 5:19200, 6:38400, 7:57600, 8:115200, A:460800, B:921600, C:1382400 baud’a karşılık gelmektedir)

komutlarını kullanabilirsiniz. Detaylı olarak komut setini görmek isterseniz datasheet’in 5. sayfasına bakabilirsiniz.

HC05 Bluetooth modülünün AT komut yönergesi:

Arduino IDE’yi açın ve doğru COM portunu seçin. HC05 modülünüzü yukarıda anlattığım şekilde bağlayın ve bağlarken kart üzerindeki buton veya pin ile AT konfigürasyon moduna geçtiğinizden emin olun. Kart üzerindeki LED’in uzun süreli yanıp sönüyor ise AT moduna başarılı bir şekilde geçmiş demektir. Bu aşamada Arduino IDE üzerinden seri port ekranını açarak aşağıdaki şekilde ayarlayabiliriz:

serial_monitor_1

Bağlantıyı denemek için modüle AT komutu gönderebilirsiniz. Eğer seri port ekranında OK cevabını görüyorsanız, bağlantınız düzgün çalışıyor demektir.

Kartın varsayılan ayarları şu şekildedir:

  • İsim: HC-05
  • Şifre: 1234
  • Baud rate: 9600

Modülün ismini değiştirmek için AT+NAME=kartismi

Şifresini değiştirmek için AT+PSWD=1234

Baud rate’ini değiştirmek için AT+UART=115200,0,0

Varsayılan ayarlara dönmek için AT+ORGL

komutlarını kullanabilirsiniz. Detaylı olarak komut setini görmek isterseniz datasheet’in 9. sayfasına bakabilirsiniz.

HC05 modülü, HC06’nın aksine master modunda da çalışabilmektedir. Böylelikle bir HC05 modülünü master olarak ayarlayabilir ve slave modda çalışan bir başka HC05 modülüne veya HC06 modüller ile haberleşme yaptırabilirsiniz.

HC05 varsayılan olarak slave modda çalışacak şekilde ayarlıdır. AT+ROLE=1 komutu vererek HC05 modülümüzü master moda geçirebiliriz. Bu durumda eğer herhangi bir MAC adresi belirtilmezse, HC05 modülümüz ortamda bulduğu ilk slave moddaki HC05 modülü veya HC06 modülü ile haberleşmeye geçecektir. Eğer bağlantının yanlızca sahip başka bir cihaz ile kurulmasını istiyorsak öncelikle bu cihazın MAC adresini öğrenmemiz gereklidir. MAC adresini öğrenmemiz için slave modda çalışan cihazı bir kere bilgisayarımız ile eşleştirmemiz yeterlidir. Daha sonra Aygıt Yöneticisi‘ni çalıştırarak Bluetooth altındaki cihazlardan cihazımızı bulup, sağ tıklayarak Özellikler penceresinden cihazın MAC adresini öğrenebiliriz.

bt_mac

Bu adresi master modülümüze AT+BIND=98d3,31,b3739f komutu ile kaydediyoruz. Daha sonra HC05’imizin yanlızca bu cihaza bağlanmasını sağlamak için AT+CMODE=0 komutu veriyoruz. Bundan sonra HC05 modülümüz çalıştıktan sonra yanlızca verdiğimiz MAC adresine sahip cihaz ile iletişime geçecektir. Bu modda iken master HC05 cihazın üzerindeki LED, her 1 saniyede 2 kez yanıp sönecektir.

20 Yorumlar

  1. merhaba, sorum bluetooth ile ilgili diye bu başlığın altından soruyorum. iki dc motor, hc-06 motor driver ile basit bir dervre yaptım fakar aracım bluetooth bağlantısından çıktıktan sonra motorlar gitmeye devam ediyor ne yapabilirim

    • HC06 yalnızca slave modda çalıştığından dolayı iki adet HC06 ile mümkün değildir. Bir adet HC05 ve bir adet HC06 ile yapabilirsiniz.

  2. slm benim geek marketten aldığım bir navigasyon cihazı var buna hc06 mote edile bilirmi navigasyon bağlanti yerlerinde rx1..tx1-tx0.rx0.yazan girişler var voltaj girişlerini bula bilirim ama veri bağlanti yerleri kodlarını nasıl bulabilirim.

    • Bahsettiğiniz RX ve TX bağlantıları, cihazın yazılımını güncelemek içindir. Sizin Bluetooth bağlamaktaki istediğiniz nedir?

  3. Merhabalar HC-05 modulünü aldım AT komutlarını çalıştırdım herşey güzel. Yardımlarınız İçin Teşekkür Ederim.

    Şöyle Bir şey yapmak istiyorum fakat işin içinden çıkamadım.
    Aslında bağlı olduğu cihazın RSSI bilgisini almaya çalışıyorum. Ama at komutunu bulamadım veya başka bir şekilde alma şansım varmı ?
    ROLE 1 de iken AT+INQ komutu ile cihazları listeliyorum o sırada en sonda bana rssi veriyor. ama cihaza bağlı olduğumda bağlı olduğum cihazın rssi bilgisini alamıyorum.
    yardımcı olabilirmsiniz

  4. Yada Bağlantı yakınlığını ayarlayabiliyormuyuz aslında temeldeki amacım. işte 50cm de iken bağlansın rss sinyal gücü ile bunu saplayabiliceğimi düşündümama bağlı cihazın rssi ini alamadım. cihazları listelerken veriyor ama bağlantı kompası lazım filan.

  5. Aldığım hc05 ve hc06 modüllerini at moda alıp kodlamaya çalıştım hc06 kolayca halledildi zaten ismini şifresini portunu rahatlıkla değiştirebiliyorum ancak hc05 modülü bir türlü at moda geçmiyor butonlu bendeki güç verirken butona basıyorum ancak ledin yanma sıklığında herhangi bir değişim olmuyor yardımcı olurmusunuz

  6. 1 adet HC05 ve HC06 Bluetooth ile dışardan alınacak olan birçok Bluetooth sinyalini bilgisayara alabilirmiyim yoksa dışardan gelecek olan her ayrı Bluetooth sinyali için ayrı ayrı HC05 ve HC06 Bluetooth modülümü almam gerekir teşekkür ederim.

  7. 2 adet hc 05 aldım robotistandan , ayrıca elimdede başka firmadan aldığim hc 05. Onunla kurduğum devreyi kontrol edebiliyor, şifre ve ismini değiştirebiliyorum. Ancak robotisyandan aldıklarım telefona baģlanıyor ancak ne arduinona işlem yapıyor nede isim ve şifre değiştirebiliyorum. 5 değil 15 saniyede bassam üzerindeki butona aynı hızla yanmaya devam ediyor.
    Çözüm nedir.
    1 gündür uğraşıyorum. Vaktimi boşa harcamama sebep oldu…

    • Modül üzerinde “KEY” isimli bir pin mevcut ise butona basmak yerine bu pini 1 veya 0’a çekmeyi deneyebilirsiniz.

  8. merhabalar ben de odamdaki lambayı bluetooth modülü takarak uzaktan kapamak istiyorum bunun için h06 mı yoksa h05 mi almam gerekiyor.

CEVAP VER