Arduino Bluetooth Modülü Kullanımı ve RGB LED Kontrol Etme Yöntemi

Pikachu

Administrator
Yönetici
20 Şub 2019
1,287
47
48
Ankara
Arduino Bluetooth Modülü Kullanımı ve RGB LED Kontrol Etme Yöntemi İçin,

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

Arduino İle Bluetooth TX ve RX Bağlatılarını Yaparken Neye Dikkat Etmeliyiz?

Bluetooth modülü Arduino ile TX/RX protokolü ile birbirine bağlanır. RX “Receive” yani almak, TX ise “Transmit” yani vermek kelimelerinden gelmektedir. Yani kısaca bir alıcı/verici protokolüdür. Bağlantıda önemli olan nokta ise Arduino’nun TX pini Bluetooth modülünün RX pinine bağlanmalı, Arduino’nun RX pini de Bluetooth modülünün TX pinine çapraz şekilde kesinlikle bağlanmalıdır.

HC06 ve HC05 arasında ne gibi farklılıklar vardır?
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.

Haydi HC05 ve HC06 Bluetooth Modüllerinin Konfigürasyonunu Yapalım
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 gerekmektedir.

Konfigürasyon kodu:
Kod:
#include

SoftwareSerial mySerial(10, 11); // RX,TX
String 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()
{

}
Peki Bluetooth Modülü Nasıl Windows Bilgisayara Tanıtabilirim?
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ı gerekiyor). 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 soracaktır.



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ünmekte.


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 LED’leri yakar.



Haydi Şimdi Daha Kolay Olarak Android Telefon Üzerinden Bluetooth Modülü İle RGB LED Kontrolü Uygulamasını Yapalım

Gereken Malzemeler
  • Arduino UNO
  • Breadboard
  • HC06 Bluetooth Modülü
  • RGB LED
  • 3 adet 330Ω Direnç
  • 40 Pin Ayrılabilen Erkek-Erkek Jumper Kablo
Şimdi HC06 ile RGB LED kontrol ettiğimiz devremizi kuralım:



Arduino kodumuzu aşağıdaki gibi yazıyoruz:
Kod:
int veri;                           //Bluetooth üzerinden okuduğumuz değişken.
int kirmiziPin = 9;                 //RGB Ledin kırmızı bacağının takılacağı pin
int yesilPin = 10;                  //RGB Ledin yeşil bacağının takılacağı pin       
int maviPin = 11;                   //RGB Ledin mavi bacağının takılacağı pin
void setup() {
  Serial.begin(9600);               //Seri haberleşmeyi başlatıyoruz.
  pinMode(kirmiziPin,OUTPUT);       //Kırmızı pinini OUTPUT olarak ayarlıyoruz.
  pinMode(yesilPin,OUTPUT);         //Yeşl pinini OUTPUT olarak ayarlıyoruz.
  pinMode(maviPin,OUTPUT);          //Mavi pinini OUTPUT olarak ayarlıyoruz.
}
void loop() {
  if(Serial.available()>0){         //Seri haberleşmeden veri gelmesini bekliyoruz.
    veri = Serial.read();           //Seri haberleşmeden gelen veriyi okuyoruz.
  }
  if(veri == 'k'){                  //Seri haberleşmeden k harfi geldiğinde bu kısım çalışır.
    digitalWrite(kirmiziPin,LOW);   
    digitalWrite(yesilPin,HIGH);
    digitalWrite(maviPin,HIGH);
  }
  else if(veri == 'y'){             //Seri haberleşmeden y harfi geldiğinde bu kısım çalışır.
    digitalWrite(kirmiziPin,HIGH);
    digitalWrite(yesilPin,LOW);
    digitalWrite(maviPin,HIGH);
  }
  else if(veri == 'm'){             //Seri haberleşmeden m harfi geldiğinde bu kısım çalışır.
    digitalWrite(kirmiziPin,HIGH);
    digitalWrite(yesilPin,HIGH);
    digitalWrite(maviPin,LOW);
  }
  else{                             //Seri haberleşmeden tanımlanmayan veri geldiğinde bu kısım çalışır.
    digitalWrite(kirmiziPin,HIGH);
    digitalWrite(yesilPin,HIGH);
    digitalWrite(maviPin,HIGH);
  }
}