HC-05, HC-06 modülleri UART’dan gönderilen
dataları bluetooth üzerinden yayabilir. Bu modülün HC-03, HC-04, HC-05, HC-06
gibi modelleri bulunmaktadır. Bu modüller master veya slave olarak çalışırlar.
HC-05 modeli hem master, hemde slave olarak çalışabilmektedir. HC-06 modülü ise
sadece slave olarak çalışan bir modüldür. Bluetooth haberleşmede master ve
slave bağlantıyı başlatabilme durumuna göre belirlenir. Bir master modül,
bağlantıyı başlatabilir. Ama slave modül bağlantıyı başlatamaz. Slave olarak çalışan
modülün bağlantısını Android telefonla sağlayacağımız için bağlantıyı Android
telefon başlatacaktır. Ayrıca çift yönlü olarak datayı gönderip alabiliyoruz.
Çalışma mantığı ise seri haberleşme esasına
dayanır. Tx ucu verici ucudur,
Rx ise alıcı ucudur. 3.3V ve 5V arasındaki gerilimlerde çalışabilir. Verici
ucundan gönderilen veriyi mikrodenetleyici algılar ama mikrodetleyicinin çıkış
voltajı 5V olduğu için bluetooth modülümüze zarar verir. Bu yüzden
mikrodenetleyici çıkış ucuna gerilim bölücü uygulayıp istenilen gerilime
indirmeliyiz.
Bluetooth modüller içerisinde
adı HC-06, bluetooth şifresi 0000 veya 1234 ve baud hızı 9600 olarak
ayarlanmıştır. Alıcı ve verici baud hızı aynı olmalıdır. Adını, şifresini ve
baud hızını AT komutlarıyla değiştirebiliriz.
Modülün üzerindeki led 2 saniye aralıklarla yanıp
sönüyorsa modül AT komutlarına hazır demektir.
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
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
AT Komutlarını kullanılabilmek için Tera Term programını
kullanabilirsiniz.
Uygulamada kullanılacak Android application(Arduino Bluetooth):
Arduino Bluetooth Kullanım Sayfaları |
Telefonumuz ile birçok şeyi bluetooth üzerinden
kontrol edebiliriz. Evimizdeki ışıkları, kapıları veya yaptığımız
devreleri kontrol edebiliriz. Bu uygulamada bluetooth ile bağlanılan
application ile veri alarak 13 numaralı pinin durumunu değiştirecek uygulama(‘?’ karakterini alırsa led yanıp sönecek):
Arduino Sketch:
Arduino Sketch:
#includeint bluetoothTx = 2; // TX-O pin Arduino 2 pinine int bluetoothRx = 3; // RX-I pin Arduino 3 pinine int led = 13; int data; //gönderilen ve okunan veri boolean state = false; //led durumu SoftwareSerial bluetooth(bluetoothTx, bluetoothRx); void setup() { Serial.begin(9600); delay(100); //100 ms bekle bluetooth bağlantısı için bluetooth.begin(9600); //bluetooth 9600bps olarak başlat pinMode(led, OUTPUT); } void loop() { if (bluetooth.available()) // bluetooth ile bir karakter gönderilirse { data = bluetooth.read(); // bluetooth dan okunan veri if (data == '1') { //1'se yak Serial.println("LED ON"); digitalWrite(led, HIGH); bluetooth.print("1"); } if (data == '0') { //0'sa söndür Serial.println("LED OFF"); digitalWrite(led, LOW); bluetooth.print("0"); } if (data == '?') { //?'se yak/söndür Serial.println("otomatik moda alindi."); state = true; } else { state = false; } } if (Serial.available()) { //Serial Monitorden alınan karakteri bluetootha yaz. bluetooth.print((char)Serial.read()); } if (state) { digitalWrite(led, HIGH); bluetooth.print("1"); Serial.println("HIGH"); delay(500); digitalWrite(led, LOW); bluetooth.print("0"); Serial.println("LOW"); delay(500); } }
HC-06 Fritzing Şeması |
Bir sonraki yazımda görüşmek üzere…