ArduinoKodlama Etkinlikleri

Arduino ile HC-05 Bluetooth Modülü Kullanımı

Gerekli malzemeler:

Bluetooth, cep telefonlarımızdan kulaklıklarımıza kadar neredeyse kablosuz iletişim yeteneğine sahip tüm cihazlarda var olan bir teknolojidir. Arduino projelerimize de bluetooth ekleyebilmemiz için piyasada çeşitli modüller bulunmaktadır. Bunlardan en uygun fiyatlı ve en kullanışlı olanı HC-05 modelidir.

pr_01_1934_max

HC-05 görünüm olarak HC-06 modülü ile neredeyse tamamen aynıdır. Temelde aynı işlevi görseler de HC-05 modelini kullanarak iki adet HC-05 veya HC-06 modelleri arasında doğrudan iletişim kurulabilmektedir. HC-05’i ayırt etmek için basit bir yöntem vardır: çoğu HC-05 modülün üzerinde ufak bir buton bulunmaktadır. HC-06’da ise bu buton mevcut değildir.

Bluetooth modülünü Arduino’muza bağladığımızda ilk modül ismi, baud rate ve şifre ayarlarını yapmamız bizim için büyük bir kolaylık olacaktır. HC-05 bluetooth modülünü konfigürasyon moduna geçirebilmek için 5V bağlantısını yaptığımız sırada modül üzerindeki butonu basılı tutmamız gereklidir. Konfigürasyon moduna girdiğimizi, modül üzerinde yanan LED’in sıklığından anlayabiliriz. Eğer 3’er saniyelik aralıklarla yanıp sönüyorsa, modül konfigurasyon modundadır. LED’in yanıp sönmesi sık ise bu bize modülün iletişim modunda olduğunu gösterir. Modül iletişim modundayken diğer bluetooth cihazlar tarafından yapılan taramalarda listelenir. İletişim modunda bir cihaz modüle bağlandığında ise LED, 3 saniyede bir kere kısa yanıp sönme yapar.

Modülümüzün konfigürasyonunu kolay bir şekilde yapabilmek için aşağıdaki şemaya göre bağlantı yapmamız ve 5V ve GND pinlerini Arduino’ya takarken modül üzerindeki butonu basılı tutmamız gerekir.

Devre şeması 17/01/2017 tarihinde güncellenmiştir.

Konfigürasyon için kod:

#include <SoftwareSerial.h>SoftwareSerial mySerial(10, 11); // RX, TXString isim = “Arduino UNO”;int sifre = 1234;String uart = “9600,0,0”;void setup() { Serial.begin(9600); Serial.println(“HC-05 Modul Ayarlaniyor…”); Serial.println(“Lutfen 5 sn icinde HC-05 modulun uzerindeki butona basili tutarak baglanti yapiniz.”); mySerial.begin(38400); delay(5000); mySerial.print(“AT+NAME=”); mySerial.println(isim); Serial.print(“Isim ayarlandi: “); Serial.println(isim); delay(1000); mySerial.print(“AT+PSWD=”); mySerial.println(sifre); Serial.print(“Sifre ayarlandi: “); Serial.println(sifre); delay(1000); mySerial.print(“AT+UART=”); mySerial.println(uart); Serial.print(“Baud rate ayarlandi: “); Serial.println(uart); delay(2000); Serial.println(“Islem tamamlandi.”);}void loop(){}

Kodda bulunan isim, sifre ve uart değişkenleri ile modülü istediğiniz şekilde ayarlayabilirsiniz. Sırada, asıl devremiz var:

Devre şeması 17/01/2017 tarihinde güncellenmiştir.

Kodumuz:

#include <SoftwareSerial.h>SoftwareSerial mySerial(10, 11); // RX, TXint led1 = 7;int led2 = 6;int led3 = 5;int led4 = 4;void setup(){ pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); mySerial.begin(9600); mySerial.println(“LED uygulamasi”);}void loop(){ char ch = mySerial.read(); if (ch == ‘q’) { digitalWrite(led1, !digitalRead(led1)); if (digitalRead(led1) == HIGH) { mySerial.println(“LED 1 yandi”); } else { mySerial.println(“LED 1 sondu”); } } if (ch == ‘w’) { digitalWrite(led2, !digitalRead(led2)); if (digitalRead(led2) == HIGH) { mySerial.println(“LED 2 yandi”); } else { mySerial.println(“LED 2 sondu”); } } if (ch == ‘e’) { digitalWrite(led3, !digitalRead(led3)); if (digitalRead(led3) == HIGH) { mySerial.println(“LED 3 yandi”); } else { mySerial.println(“LED 3 sondu”); } } if (ch == ‘r’) { digitalWrite(led4, !digitalRead(led4)); if (digitalRead(led4) == HIGH) { mySerial.println(“LED 4 yandi”); } else { mySerial.println(“LED 4 sondu”); } } if (ch == ‘z’) { digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); digitalWrite(led4, LOW); mySerial.println(“Tum LED’ler sondu”); } if (ch == ‘x’) { digitalWrite(led1, HIGH); digitalWrite(led2, HIGH); digitalWrite(led3, HIGH); digitalWrite(led4, HIGH); mySerial.println(“Tum LED’ler yandi”); }}

Sıra geldi bluetooth modülümüzü Windows bilgisayarımıza tanıtmaya. Sistem tepsisinde bulunan “Bluetooth Aygıtları” simgesine çift tıklayarak açıyoruz

Arduino’muza bluetooth modülünün takılı olduğundan ve modülün iletişim modunda olduğundan emin oluyoruz (LED’in hızlıca yanıp sönüyor olması gerek). Bilgisayarımız tarama yaparak bluetooth modülümüzü buluyor. Burada, isim olarak konfigürasyon programında yazdığımızı ismi görmeliyiz.

Eşleştirme işlemini başlatınca, bu sefer bilgisayarımız modüle verdiğimiz şifreyi soracak.

Bilgisayarımız aygıt yükleme işlemini tamamladıktan sonra “Denetim Masası”ndan “Aygıtlar ve Yazıcılar” ı seçerek  listenin en altında bulunan bluetooth modülümüze sağ tıklıyor ve “Özellikler”i seçiyoruz. Buradaki pencereden “Donanım”a gelerek burada yazılı olan COM portunun numarasını öğreniyoruz. Benim bilgisayarımda COM5 olarak görünüyor.

Arduino programını açarak “Ayarlar” menüsünden portu değiştirerek bluetooth modülümüze bağlanacak şekilde ayarlıyoruz.

Arduino programından “Seri Port Ekranı”nı açarak baud rate’i 9600 olarak seçiyor ve istediğimiz komutu giriyoruz. q, w, e ve r tuşları sırasıyla 7, 6, 5 ve 4 numaralı pinlere bağlı LED’leri yakar veya söndürür. Z tuşu tüm LED’leri söndürür ve X tuşu tüm LED’leri yakar.

 

Kaynak: Bu yazı Kerem İZGÖL’ün   https://maker.robotistan.com/arduino-dersleri-17-hc-05-bluetooth-modulu-kullanimi/ adresindeki yazısından alınmıştır. Kendisine teşekkür ederiz.

Mehmet Ural

Trabzon Yomra İlçe Milli Eğitim Müdürlüğü Fatih Projesi Eğitmeni

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu