HC-05 Bluetooth Modülünün CP2102 USB TTL programlayıcı ile AT Modunda konfigürasyonu yapılması

Bu bölümde, HC-05 bluetooth modülün AT komutları ile konfigüre edilebilmesi için gerekli olan bağlantıların nasıl yapılacağından bahsedeceğim.

hc05-1

hc05-2.jpg

 

 

 

 

 

 

 

 

 

AT komutları ile  çok fazla uğraşmadım, ancak HC-05 modülün konfigüre edilebilmesi için bu komutlarla işlem yapılıyor. Modülü AT komutları ile işlem yapılacak duruma geçirmek için aşağıdaki 2 durum söz konusu. Bunlardan herhangi birisini yapmadan, modül AT moduna geçmez, yani bu mod dışında modülü konfigüre edemeyiz.

1- Modül üzerinde bulunan küçük butona basarak (elimizi kaldırmadan modüle enerji vermek ve 1-2 sn beklemek (bu modda iken her AT komutu çalışmayabilir)

veya

2- Modül üzerindeki 34 nolu pin (KEY)’e 3,3V eneji vermek. (full AT modu, ben denemedim ancak bu modda her türlü AT işlemi yapılabildiğine dair yazılar okudum nette)

Bu iki durum ile AT komut moduna geçiş sağlanabilir. Bu iki durum arasında da yukarıda belirttiğim gibi, kullanım açısından farklılıklar var. Bunu, ne yapmak istediğimize göre göz önüne almakta fayda var.

Modül konfigüre edilmeden de Slave modda kullanılabilir, default olarak;

modül ismi: HC-05

eşleştirme passwordu : 1234

görülüyor. Yani modülü başka bir cihazdan arattığımızda HC-05 olarak görünecek ve eşleştirmek istediğimizde ise 1234 parolası ile eşleştirebileceğiz. Modül master veya slave modda olacağı durumların konfigürasyonu için AT komutları kullanılmalı.

AT komutları dökümanını buradan indirebilirsiniz. Datasheet içerisinde detaylı bilgiler var.

AT komutları ile konfigürasyon için çeşitli yöntemler var. İsteyen arduino boardı kullanarak da yapabilir. Bunun için önce arduinoya aşağıdaki programı yükleyin ve daha sonra bağlantıları yapın.

Bluetooth_HC-05_with_Arduino_bb

#include <SoftwareSerial.h>

SoftwareSerial EEBlue(10, 11); // RX | TX pinleri çaprazlama buraya bağlanacak

void setup()

{

Serial.begin(9600);

EEBlue.begin(38400); //Baud Rate ayarı.

Serial.println(“Enter AT commands!”);

}

void loop()

{

// blutooth modülden gelen bişey varmı?

if (EEBlue.available())

Serial.write(EEBlue.read());

 // Bluetooth modüle AT komutu yolla

if (Serial.available())

EEBlue.write(Serial.read());

}

Arduino ide deki Serial terminali açıp AT komutlarını buradan da yollayabilirsiniz. Baud rate ayarı resimde görüldüğü gibi olmalı.

HC_05_CommandMode

Ben burada ağırlıklı olarak CP2102 USB TTL programlayıcı ile HC-05 modülü direkt bağlayarak yapılışını anlatacağım. Arduino board ve herhangi bir arduino programından bağımsız olarak da bu işlemi yapabiliriz. İhtiyacımız olanlar;

cp2102

  • – CP2102 USB TTL dönüştürücü (gerekli sürücülerin bilgisayara tanıtılmış olması gerekiyor. Ayrıca dönüştürücümüzün hangi seri portu kullanıyor olduğunu   Bigisayarım–>aygıt yöneticisinden kontrol edin.)

 

hc05-1

  • -HC-05 Modül

 

HC-05 ile CP2102 bağlatı şeması aşağıda gösterildiği gibi yapılacak.

Schematic_hc05-to-cp2102-usb-ttl_bt-modul-AT-baglantisi_20180317022424

 

  • Ve son ihtiyacımız olan da, TERMIT 3.3 isimli bir terminal programı(buradan indirebilirsiniz). Yada isteyen, AT komutlarının sonuna  CR-LF eklemesi yapabilen başka terminal programları da kullanabilir. Veyahut da (böyle bir özelliği olmayan bir terminal programı kullanıyorsa), yazdığı her AT komutunun sonuna \r\n eklemesi yaparak komutu yollayabilir, örneğin: AT+VERSION\r\n  şeklinde komut yollayabilir.  İnternette en yaygın TERA TERM programı ile ilgili konu anlatımı var. Bu programdan da yararlanabilirsiniz. Aşağıdaki resimde Kırmızı simgeli karınca resimli program TERMIT isimli terminal programıdır. Bu program açıldıktan sonra settings bölümünden gerekli ayarları yapıyoruz.

 

termit2

HC-05 modül AT moduna geçirildiği zaman, baud rate olarak 34800 değerinde çalışmaya başlar. Slave modda haberleşme esnasında HC-05 modül, default olarak 960 baud rate değerinde çalışmasına rağmen, AT moda geçirildiği andan itibaren 34800 baud rate değerinde haberleşmeye başlar. Fabrika ayarı bu şekildedir ve değiştirilemez. Bu nedenle terminal programını açtığımızda, Settings bölümünü açıyoruz ve ilk olarak seri protumuzu seçtikten sonra baud rate i de 34800 değerine ayarlıyoruz. Ayarları gösteren resmi aşağıya koyuyorum.

Port numarası hariç (siz kendi port numaranızı bilgisayarım–>özellikler (bilgisayarım üzerine sağ tıklarak açabilirsiniz–>aygıt yöneticisinden Bağlantı noktaları (com ve LPT) bölümünden bakarak yazacaksınız), diğer tüm ayarlar resimde gösterildiği gibi yapılacak. Ayarları yaptıktan sonra TERMIT i kapatıp bir kez daha açmak gekebilir. eğer AT komutlarına cevap vermezse programı kapa/aç yapın.

termit1

Tüm bağlantı ve ayarları yaptıktan sonra, CP2102’yi bilgisayarımızın USB portuna takmadan önce  HC-05 üzerindeki butona elimizi basılı tutuyoruz ve elimizi butondan kaldırmadan CP2102’yi Bilgisayarımıza takıyoruz. 3-4 sn daha bekleyip elimzi butondan çekebiliriz. HC-05’in ışığı 2 sn de bir 1 sn süreyle yanı k kalacak ve sönecek. Bu şekilde olduğunda artık HC-05 modülü AT modundadır demek. AT moduna girmek için bir diğer yöntem de modülün key pinine (34 nolu pin) 3.3 – 5v arası vcc besleme vermek, ancak bu işlemden burada bahsetmeyeceğim. Aşağıdaki resimde buton ve key pini gösteriliyor. Biz butona basarak AT moduna gireceğiz. Bir de şu durum var, bazı AT komutlarının çalışması için full AT modunda olması gerekiyormuş. 34 nolu pine (key pini) 3.3 / 5v gerilim vererek full AT modunda kalınabilir. Veya çalışmayan komut için, komtu yollamadan önce elimizi butona tekrar basarak bir de böyle yollamayı deneyebiliriz. Ama bunun için için tekrar enerji kesip vermeye gerek yok. sadece komutu yollamadan önce elimizle butona basabiliriz.

hc05 buton

Bütün bu işlemlerden sonra TERMIT 3.3 terminal programını açarak, en alttaki ayrı satıra AT komutlarını yazıp HC-05 modüle gönderebiliriz. herşey başarılı bir şekilde olmuşsa aşağıdaki gibi bir ekran göreceğiz.

termit-3

 

termit-4

 

Umarım faydalı olmuştur. Kolay gelsin….

Birisi “HC-05 Bluetooth Modülünün CP2102 USB TTL programlayıcı ile AT Modunda konfigürasyonu yapılması” üzerinde düşündü

Yorum bırakın