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.
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.
Arduino ve modülün bağlantı noktalarını nasıl görebilirim resim çok küçükte
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
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
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
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?
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..
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
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.
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
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.
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”);
}
a komutunu android uygulaması ile göderiyorum
if (readString == “a”) burada ‘a’ şeklinde yapın
Çok teşekkürler deneyceğim
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
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.
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.
baudrate değerleri aynı mı ?
hc06nın default baudrate nasıl değiştirebilirz?
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
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??
hc-06 baudrate 9600 dür. fabrikasyon ayarı yani. sitede örnek projeler mevcut bir tanesine buradan bakabilirsin http://www.robimek.com/potansiyometre-ile-bluetooth-uzerinden-servo-motor-kontrolu/
Ayrıca hc-05 master moda ayarlı olması lazım