HC-06 Bluetooth Modülü Arduino ile Nasıl Kullanılır?

HC-06 Bluetooth modülü bize kolay kullanılan ve akıllı telefonumuzdan kontrol edebileceğimiz kablosuz bir iletişim yolu veriyor. Seri Port (UART) üzerinden çalıştığından dolayı pek çok cihaza bağlanabiliyor ve Arduino ile de kolaylıkla kullanılabiliyor.

HC-06 diğer Bluetooth cihazlara bağlanıp onları idare edemiyor. Sadece akıllı telefonumuzdan bağlanabiliyoruz ve böylece Arduino’yu kontrol edebiliyoruz. Ana Bluetooth cihazı olarak diğer Bluetooth cihazlara bağlanmak istiyorsak HC-05 modülünü kullanmalıyız.

HC-06 modülünü kullanmak için sadece 4 pin kullanıyoruz, ancak dikkat etmemiz gereken çok önemli bir şey var. Modül 3,3 ile 6 Volt arasında gerilimle çalışabiliyor, ancak veri gönderip alma yapısı 3,3 Volt olduğu için 5 Volt temelinde çalışan Arduino Uno’ya bağlamak için küçük bir devre kurmamız gerekiyor.

İki adet dirençten oluşan bu devreyi modülün RX pini üzerinde kuruyoruz. Böylece Arduino pininden modüle giden 5 Volt gerilimdeki veriyi 3,3 Volt gerilime yakın bir değere düşürüyoruz. HC-06 modülümüzün can güvenliği için bunu yapmak şart.

Kullandığımız dirençler 1/4 Watt 1K Ohm (Kahve-Siyah-Kırmızı-Altın) ve 1/4 Watt 2,2K Ohm (Kırmızı-Kırmızı-Kırmızı-Altın) değerinde.

O zaman devre kurulumumuzla başlayalım.

Arduino Uno’da tek bir Seri Port bağlantısı mevcut, o da 0 ve 1 pinlerinde bulunuyor. Ancak bu pinler Uno’nun USB haberleşmesi için kullanıldığı için HC-06’da bunları kullanmak istemiyoruz.

Bu eksikliği Arduino IDE’nin içinde gelen SoftwareSerial adındaki yazılımsal Seri Port kütüphanesi ile çözüyoruz.

UYARI: Arduino Uno’da yazılımsal Seri Port için 2 ve 3 numaralı pinleri kullanıyoruz. SoftwareSerial kütüphanesi her Arduino board’da aynı pinlerle kullanılamayabiliyor. Arduino Mega ve Mega 2560’da RX için sadece şu pinler kullanılabilir: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69). Arduino Leonardo ve Micro’da RX için sadece şu pinler kullanılabilir: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

Öncelikle HC-06 Bluetooth modülünün ayarlarını yapmamız gerekiyor. Bunun için devremizi kurduktan sonra aşağıdaki sketch’i yükleyelim.

Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!

Sketch kodunu kopyalamak için pencerenin sağ üst köşesindeki butona tıklayabilir veya buraya tıklayarak ZIP dosyası olarak indirebilirsiniz.

Sketch’i yüklediysek Seri Port Ekranı’nı açalım ve Baud oranı ayarını 9600, gönderim ayarını NL ve CL ile birlikte olarak ayarlayalım. Modül üzerindeki LED yanıp sönüyor olmalı. HC-06 bir Bluetooth cihazına bağlı olmadığında ayar moduna geçer ve üzerindeki LED yanıp sönmeye başlar.

Her şey doğruysa Seri Port Ekranı’nda Hazır yazısını görüyor olmalıyız.

HC-06 Bluetooth modülleri standart olarak 9600 Baud oranı ile gelirler. Bu ayarı sonradan değiştirebiliyoruz. Elbette o zaman yukarıdaki sketch’teki bluetooth.begin(9600); bölümünü de değiştirmemiz gerekiyor.

Modül AT adı verilen bir komut sistemi ile ayarlanıyor. Seri Port Ekranı’nın üst bölümüne AT yazalım ve Gönder butonuna (veya Enter tuşuna) basalım. OK cevabı geldiyse HC-06’ya doğru şekilde bağlanmışız ve selamımız ulaşmış demektir!

Öncelikle HC-06 modülümüzün hangi versiyon olduğunu bulmamız gerekiyor. Bunun için ekrana AT+VERSION yazıyoruz. Gelen cevap muhtemelen VERSION:3.0-20170609 olacaktır. Farklı versiyonlarda kullanılan AT komutları farklılık gösteriyor.

Modülün Adını Değiştirme

AT+NAME : Modülün mevcut adını görüntüler.

Yeni isim vermek için AT+NAME:yeni isim yazmalıyız. Örnek: AT+NAME:METE HOCA

 

Modülün Pinini Değiştirme

AT+PSWD : Modülün mevcut pin kodunu görüntüler. Genelde 1234‘tür.

Yeni pin vermek için AT+PSWD:”1234″ yazmalıyız. (Tırnaklar dahil!)

 

Modülün Baud Oranını Değiştirme

AT+UART : Modülün mevcut Baud oranını görüntüler. Örnek cevap: +UART:9600,0,0

Yeni Baud oranı belirlemek için AT+UART:baudoranı,0,0 yazmalıyız. Kullanabileceğimiz seçenekler 1200, 2400, 4800, 9600 (varsayılan), 19200, 38400, 57600 ve 115200’dür. Örnek: AT+UART:57600,0,0

UYARI: Baud oranını değiştirdikten sonra modül ile olan iletişim kopacaktır. Sketch’imizde yeni Baud oranını ayarlayıp yeniden bağlanmamız gerekir.

 

Diğer Komutlar

AT+STATE : Modülün mevcut durumunu görüntüler. Bağlı değilse PAIRABLE olarak cevaplayacaktır.

AT+ADDR : Modülün mevcut adresini görüntüler.

AT+ROLE : Modülün mevcut rolünü görüntüler. Master ise 1, Slave ise 0 olarak yanıtlar. HC-06 modülü her zaman slave modundadır.

AT+RESET : Modülü yeniden başlatır.

AT+ORGL : Modülün isim ve pin dahil tüm ayarlarını fabrika ayarlarına sıfırlar.

 

Ayarlarımızı tamamladıysak Android telefonumuza Giumig Apps tarafından geliştirilen Arduino bluetooth controller uygulamasını kuralım ve telefonumuzun bluetooth özelliğini açalım.

UYARI: Üzgünüz, HC-06 modülü Apple marka telefonlar tarafından desteklenmiyor.

Uygulama açılışta telefonumuzun bluetooth özelliğini kullanma yetkisi isteyecektir. İzin verelim. Ardından cihaz listesinden isim verdiğimiz HC-06 cihazımızı bulalım ve belirlediğimiz pin kodunu girerek bağlanalım.

Uygulama bizi 4 farklı mod seçeneği ile karşılıyor: Controller, Switch, Dimmer ve Terminal

Şimdilik Terminal mode seçelim. Bu ekran Arduino IDE’deki Seri Port Ekranı’nın aynısı aslında. Buradan Arduino’ya karakter ve metin gönderebiliyoruz.

O zaman bununla ilgili yeni sketch’imizi yükleyelim;

Terminal modunda a yazdığımızda LED yanacak, k yazdığımızda ise sönecek.

Uygulama bu işlemi oldukça kolaylaştıran bir moda sahip: Switch mode. Terminal moddan geri çıkıp Switch mode’a bağlandığımızda karşımıza kocaman bir açma-kapama düğmesi çıkacak. Bu düğme henüz bir işe yaramıyor, çünkü basılınca ne olacağını ayarlamadık.

Sağ üst köşede bulunan dişli şeklindeki ayar düğmesine bastığımızda açma ve kapama karakterlerini girebiliyoruz. Yeşil renkte olana a yazıp enter yaparak kaydedelim, kırmızı renkte olana ise k yazıp kaydedelim. Böylece Arduino sketch kodumuzun ihtiyaç duyduğu karakterleri açma-kapama düğmesine kaydetmiş oluyoruz.

Geri yapıp düğme ekranına dönüyoruz ve LED’imizi açıp kapatmanın tadını çıkarıyoruz!