Başlangıç > Robotik > HC-06 Bluetooth Modülü Konfigürasyonunun Yapılması

HC-06 Bluetooth Modülü Konfigürasyonunun Yapılması

Bu çalışmada robotik çalışmalarda sıkça kullanılan bluetooth modülü temel konfigürasyonunun nasıl yapıldığı ele alınmaktadır. Modüllerde isim ve şifre gibi temel değişiklikler ile etraftaki diğer modüllerle/cihazlarla karışıklık önlenebilmektedir.

Bluetooth modülü konfigürasyonu için “Arduino Nano Tabanlı Eğitim Robotu: myNanoBot” çalışmasında tercih edilen HC-06 modülü ve bu modül üzerinde yapılan değişikliklere örnek olarak yer verilmiştir.

Burada anlatılanlar HC-06 için geçerli olup modül ayarlarında 3 değişiklik yapılmıştır:

  • Veri iletim hızı (baudrate) 115200 yapılmıştır
  • Modül ismi değiştirilmiştir: myNanoBot
  • Modül şifresi değiştirilmiştir: 5555

Bluetooth modülü ayarları “AT” komut modunda yapılmakta olup HC-05 modülü ile HC-06’nın “AT” modu geçişi ve “AT” komutları arasında farklılıklar vardır.

HC-06, “AT” modu ve iletişim modu olarak 2 moda sahiptir. HC-06 iletişim modunda değilken modül otomatik olarak “AT” modundadır. Yani modüle ilk güç verildiğinde üstündeki led sürekli yanıp sönüyor iken herhangi bir işleme gerek kalmadan “AT” komutları uygulanabilir.

“AT” komutları Arduino seri monitörden girilebilir ve sonuçları izlenebilir. HC-06 bluetooth modülü varsayılan baudrate değeri 9600‘dür. Modül Arduino’ya bağlandıktan sonra (detaylara şu çalışmadan bakılabilir) Arduino’ya yüklenecek kod şöyle olabilir:

//Arduino Uno, Nano vb için -Yazılımsal-
//Bluetooth RX => Arduino TX (Pin 11)
//Bluetooth TX => Arduino RX (Pin 10)

#include <SoftwareSerial.h>
SoftwareSerial myBluetooth(10, 11); // RX, TX

void setup()
{
  Serial.begin(9600);
  myBluetooth.begin(9600);
  Serial.println("AT Komutu Giriniz:");
}

void loop()
{
  if (Serial.available())
  {
    myBluetooth.write(Serial.read()); //AT komutunu bluetooth'a gönder
  }

  if (myBluetooth.available())
  {
    Serial.write(myBluetooth.read()); //Bluetooth'dan gelen yanıt
  }
}

Arduino Mega için diğer fiziksel seri portlardan biri de kullanılabilir:

//Arduino Mega için
//Bluetooth RX => Arduino TX2 (Pin 16)
//Bluetooth TX => Arduino RX2 (Pin 17)

void setup()
{
  Serial.begin(9600);
  Serial2.begin(9600); //Bluetooth'un bağlı olduğu fiziksel port
  Serial.println("AT Komutu Giriniz:");
}

void loop()
{
  if (Serial.available())
  {
    Serial2.write(Serial.read()); //AT komutunu bluetooth'a gönder
  }

  if (Serial2.available())
  {
    Serial.write(Serial2.read()); //Bluetooth'dan gelen yanıt
  }
}

“AT” komutları büyük harfle, çift tırnaksız, boşluksuz ve satır sonu karakterleri olmadan (\r\n) girilmelidir. Komutlar sınırlıdır, varsayılan modul ismi/veri iletim hızı görülmez. “AT” komutuna “OK” yanıtı; “AT” modunda çalışıldığını belirtir:

AT Modu

Aşağıdaki komutlar uygulanarak modül ayarları tamamlanmıştır:

Komut Beklenen Sonuç Açıklama
AT+NAMEmyNanoBot OKsetname Modül ismi myNanoBot olarak değiştirildi
AT+PIN5555 OKsetPIN Modül eşleşme pini 5555 oldu
AT+BAUD8 OK115200 Veri iletim hızı 115200 oldu

Tablodan görüldüğü gibi veri iletim hızını değiştirmek için sayılar kullanılmaktadır. 4 => 9600 (varsayılan) iken 8 => 115200’e karşılık gelmektedir. Diğer veri iletim hızı değerleri ve diğer bazı “AT” komutları için bu adresten yararlanılabilir.

Not: Modül ayarlarında tekrar değişiklik yapabilmek için bluetooth modülü seri iletişiminin artık 115200 bps üzerinden yapılması gerekir. ( myBluetooth.begin(115200); ) Aksi takdirde “AT” komutlarına yanıt alınmayacaktır.

Ayrıca modül ayarlarını tekrar değiştirmek için veri iletim hızının unutulmaması ve bilgisayarların desteklememesi nedeniyle 115200’den yüksek bir değere çekilmemesi birçok kaynakta belirtilmektedir.

Kaynakça
http://www.martyncurrey.com/hc-06-zg-b23090w-bluetooth-2-0-edr-modules/
https://www.instructables.com/id/AT-command-mode-of-HC-05-Bluetooth-module/
https://dergipark.org.tr/tr/download/article-file/1809070
https://erkanduran.wordpress.com/2018/01/04/arduino-seri-haberlesme-ve-bluetooth-uzerinden-led-yakma/
https://github.com/eduran10/myNanoBot
https://erkanduran.wordpress.com/2022/03/28/arduino-nano-tabanli-egitim-robotu-mynanobot/
https://erkanduran.wordpress.com/2022/03/28/arduino-nano-tabanli-bir-egitim-robotu-gelistirilmesi-mynanobot/

  1. yavuz
    08/03/2024, 13:51

    Merhabalar,
    Bluetooth HC06 yı arduinoya bağladım, cep uygulamasından yazı gönderdiğimde arduino monitorunda görüyorum ve arduino monitorundan yazı gönderdiğimde cep ekranında görüyorum. Cep uygulamasından çıkıp arduino monitöründen AT komutunu gönderdiğimde hiç yanıt alamıyorum, AT komutlarına tepki yok neden?
    Yardımcı olabilirseniz çok makbule geçer
    Saygılar

    • 08/03/2024, 20:32

      Merhaba. Son kısımdaki not bölümüne dikkat ettiniz mi? Baudrate değerlerini doğru olarak ayarladınız mı?

  1. No trackbacks yet.

Yorum bırakın