Merhabalar, bu yazımızda HC-05 bluetooth modülüne AT komutları veri yazıp/okuyacağız. AT komutları ile bluetooth modülünün her bir özelliğine erişebiliriz ve bazı ayarlarını değiştirebiliriz.

Bu makale yardımıyla ister CH340 entegresi kullanan ister standart arduinolarda rahatlıkla bluetooth modülünün ismini, şifresini vb. birçok özelliğini değiştirebileceğiz.
Bu yazımızda iki farklı bağlantı şekliyle AT komutarıyla iletişimi göreceğiz.

HC-05 bluetooth modülü, bluetooth SSP(Serial Port Standart)kullanımı ve kablosuz seri haberleşme uygulamaları için geliştirildiğinden aşağıda bulunan yöntemler dışında herhangi USB-UART dönüştürücü ile rahatlıkla kullanılabilir ve programlanabilir.
Bu modül, bluetooth 2.0’ı destekleyen, 2.4GHz frekansında haberleşme yapılmasına olanak sağlar. Açık alanda yaklaşık 10 metreye kadar bir haberleşme mesafesine sahiptir.

HC-05 Bluetooth Modülü Özellikleri:

  • Çalışma Gerilimi: 3.3V
  • Bluetooth Protokolü: Bluetooth 2.0+EDR(Gelişmiş Veri Hızı)
  • 2.4GHz haberleşme frekansı
  • Hassasiyet: ≤-80 dBm
  • Çıkış Gücü:≤+4 dBm
  • Asenkron Hız: 2.1 MBps/160 KBps
  • Senkron Hız: 1 MBps/1 MBps
  • Güvenlik: Kimlik Doğrulama ve Şifreleme
  • Akım: 50 mA

1)Bluetooth Modülüne Doğrudan Arduino Üzerindeki Rx-Tx Hattıyla erişme:

  • Bu CH340 entegresi bulundurmayan Arduinolarda gerçekleştirebiliriz.
    İlk olarak Arduino kartımızı bilgisayara bağlayacağız. Biz bu uygulama Arduino Uno kullandık. Arduino kartımıza boş bir arduino kodu atacağız. Void setup ve Void loop fonksiyonları olacaktır.
  • Daha sonra aşağıdaki bağlantı şemasında olduğu gibi bluetooh bağlantılarını yapıyoruz.
    Burada dikkat edilmesi gereken bağlantıları yapmadan kodun atılmış olması ve modüle güç verilmeden modül üzerinde bulunan butona basılı tutup daha sonra güç verilmesidir.
    Bu işlemden sonra bluetooth modülü üzerinde bulunan ledin 1 saniye aralıklarla yanıp sönmesi gerekmektedir. Aksi taktirde modülün AT moduna geçememiştir.

  • Modüle AT komutlarıyla erişebiliriz.
  • Arduino derleyicisindeki seri monitörü açıyoruz. Seri ekran baud ayarı 38400 olmalıdır. NL ve CR ile birlikte seçilmelidir. Bazen üreticiler bu değeri default olarak 9600 ayarlayabiliyorlar. 38400 olmadığı taktirde 9600 seçilmelidir.
  • İlk olarak AT yazıp gönderiyoruz. Modül bize cevap olarak OK verdiği taktirde işlem başarılıdır. Vermediği taktirde herhangi bir basamakta hata yapmış olabiliriz.
    Aşağıdaki AT komutlarını kullanarak modülün ismini, şifresini, rolünü vb. birçok bilgiyi değiştirebilir veya okuyabilirsiniz.

AT+NAME? yazarsak modül bize cevap olarak ismini verir.
AT+NAME=-Rodeo-Bt- yazarsak modülün ismini -Rodeo-Bt- olarak değiştirmiş olacağız.
Haberleşme parametrelerini AT+UART=9600,0,0 şeklinde kolaylıkla değiştirebiliriz.

Modülün varsayılan ayarları:

  • İsmi: HC-05
  • Şifre: 1234
  • Baud rate: 9600 veya 38400 olabilmektedir.

2) Arduino Üzerinde Sanal Port(SoftwareSerial) Oluşturarak Programlamak:

Bu uygulamayı her türlü Arduino kartıyla sorunsuz bir şekilde gerçekleştirebiliriz. Bağlantı ve kod aşaması hariç yukarıda söylenenler geçerlidir. İlk olarak aşağıda bulunan kodu arduino kartımıza atıyoruz.

#include <SoftwareSerial.h>
#define RxD 7 //HC-05 Tx
#define TxD 8 //HC-05 Rx
SoftwareSerial blueToothSerial(RxD,TxD);
void setup()
{
Serial.begin(38400);
blueToothSerial.begin(38400);
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
}
void loop() {
if (blueToothSerial.available()) {
int inByte = blueToothSerial.read();
Serial.write((char)inByte);
}
if (Serial.available()) {
int inByte = Serial.read();
blueToothSerial.print((char)inByte);
}
}
/*
COMMAND FUNCTION
1 AT Test UART Connection
2 AT+RESET Reset Device
3 AT+VERSION Querry firmware version
4 AT+ORGL Restore settings to Factory Defaults
5 AT+ADDR Query Device Bluetooth Address
6 AT+NAME Query/Set Device Name
7 AT+RNAME Query Remote Bluetooth Device’s Name
8 AT+ROLE Query/Set Device Role
9 AT+CLASS Query/Set Class of Device CoD
10 AT+IAC Query/Set Inquire Access Code
11 AT+INQM Query/Set Inquire Access Mode
12 AT+PSWD Query/Set Pairing Passkey
13 AT+UART Query/Set UART parameter
14 AT+CMODE Query/Set Connection Mode
15 AT+BIND Query/Set Binding Bluetooth Address
16 AT+POLAR Query/Set LED Output Polarity
17 AT+PIO Set/Reset a User I/O pin
18 AT+MPIO Set/Reset multiple User I/O pin
19 AT+MPIO? Query User I/O pin
20 AT+IPSCAN Query/Set Scanning Parameters
21 AT+SNIFF Query/Set SNIFF Energy Savings Parameters
22 AT+SENM Query/Set Security & Encryption Modes
23 AT+RMSAD Delete Authenticated Device from List
24 AT+FSAD Find Device from Authenticated Device List
25 AT+ADCN Query Total Number of Device from Authenticated Device List
26 AT+MRAD Query Most Recently Used Authenticated Device
27 AT+STATE Query Current Status of the Device
28 AT+INIT Initialize SPP Profile
29 AT+INQ Query Nearby Discoverable Devices
30 AT+INQC Cancel Search for Discoverable Devices
31 AT+PAIR Device Pairing
32 AT+LINK Connect to a Remote Device
33 AT+DISC Disconnect from a Remote Device
34 AT+ENSNIFF Enter Energy Saving mode
35 AT+EXSNIFF Exit Energy Saving mode
*/

Arduino Bağlantısı:

Bluetooth modülünü aşağıdaki devre şemasına uygun olarak yapalım. Modülün AT moduna geçebilmesi için üzerinde bulunan butona basılı tutarak modüle güç verilmelidir.
Bu işlemden sonra bluetooth modülü üzerinde bulunan ledin 1 saniye aralıklarla yanıp sönmesi gerekmektedir. Aksi taktirde modülün AT moduna geçememiştir.

Arduino derleyicisindeki seri monitörü açıyoruz. Seri ekran baud ayarı 38400 olmalıdır. Bazen üreticiler bu değeri default olarak 9600 ayarlayabiliyorlar. 38400 olmadığı taktirde 9600 seçilmelidir.

İlk olarak AT yazıp gönderiyoruz. Modül bize cevap olarak OK verdiği taktirde işlem başarılıdır. Vermediği taktirde herhangi bir basamakta hata yapmış olabiliriz.
Aşağıdaki AT komutlarını kullanarak modülün ismini, şifresini, rolünü vb. birçok bilgiyi değiştirebilir veya okuyabilirsiniz.

AT Komut Örnekleri:

  • AT
    Cevap: OK
  • AT+NAME?
    Cevap: -Rodeo-BT-
    OK
  • AT+ROLE?
    Cevap: Role:0
    OK
  • AT+UART?
    Cevap: UART:9600, 0, 0
    OK
  • AT+PSWD?
    Cevap: PIN: “1234”
    OK

HC-05 Bluetooth Modülü AT Komutları:

Komut/Fonksiyonu:

1 AT / Test UART Connection
2 AT+RESET / Reset Device
3 AT+VERSION / Querry firmware version
4 AT+ORGL / Restore settings to Factory Defaults
5 AT+ADDR / Query Device Bluetooth Address
6 AT+NAME / Query/Set Device Name
7 AT+RNAME / Query Remote Bluetooth Device’s Name
8 AT+ROLE / Query/Set Device Role
9 AT+CLASS / Query/Set Class of Device CoD
10 AT+IAC / Query/Set Inquire Access Code
11 AT+INQM / Query/Set Inquire Access Mode
12 AT+PSWD / Query/Set Pairing Passkey
13 AT+UART / Query/Set UART parameter
14 AT+CMODE / Query/Set Connection Mode
15 AT+BIND / Query/Set Binding Bluetooth Address
16 AT+POLAR / Query/Set LED Output Polarity
17 AT+PIO / Set/Reset a User I/O pin
18 AT+MPIO / Set/Reset multiple User I/O pin
19 AT+MPIO? / Query User I/O pin
20 AT+IPSCAN / Query/Set Scanning Parameters
21 AT+SNIFF / Query/Set SNIFF Energy Savings Parameters
22 AT+SENM / Query/Set Security & Encryption Modes
23 AT+RMSAD / Delete Authenticated Device from List
24 AT+FSAD / Find Device from Authenticated Device List
25 AT+ADCN /Query Total Number of Device from Authenticated Device List
26 AT+MRAD / Query Most Recently Used Authenticated Device
27 AT+STATE / Query Current Status of the Device
28 AT+INIT / Initialize SPP Profile
29 AT+INQ / Query Nearby Discoverable Devices
30 AT+INQC / Cancel Search for Discoverable Devices
31 AT+PAIR / Device Pairing
32 AT+LINK / Connect to a Remote Device
33 AT+DISC / Disconnect from a Remote Device
34 AT+ENSNIFF / Enter Energy Saving mode
35 AT+EXSNIFF / Exit Energy Saving mode

Farklı uygulama ve inceleme önerilerinizi yorum olarak bırakabilirsiniz. #projebaşlasın

2 YORUMLAR

  1. Merhabalar, buradaki çalışma oldukça açıklayıcı ancak sorun yaşıyorum. gerekli bağlantıları yapıp, program yüklemesini yapıp ardından bluetooth modülü bağladıktan sonra hızlı bir şekilde modül ışığı yanıp sönmeye başlıyor. rx ve tx bağlantıları ters bağlayınca modül ışığı her 2 saniyede bir yanıp sönüyor. ancak her halukarda ilgili komutları girdiğimde hiçbir yanıt almıyorum yani bahsettiğiniz OK yanıtını göremedim.
    kart arduino uno smd
    arduino ide 2.0.4

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz