0
Bu yazıyı " 3 " dakikada okuyabilirsiniz. 🙂

Bu yazıda, Arduino ile HC-05 veya HC-06 Bluetooth modülleri kullanarak kablosuz iletişim nasıl kurulacağını inceleyeceğiz. Bu modüller, Arduino projelerinize kablosuz kontrol ve veri aktarımı imkanı sunar.

HC-05 ve HC-06 Bluetooth Modülleri Hakkında

HC-05 ve HC-06, UART (Universal Asynchronous Receiver/Transmitter) arayüzüne sahip popüler Bluetooth modülleridir. Seri iletişim kullanarak Arduino ile veri alışverişi yapabilirler.

HC-05 ve HC-06 Arasındaki Farklar:

  • HC-05: Hem master hem de slave modunda çalışabilir. AT komutlarıyla yapılandırılabilir.
  • HC-06: Sadece slave modunda çalışır. Daha basit bir yapıya sahiptir ve genellikle daha ucuzdur.

Gerekli Malzemeler:

  • Arduino Uno (veya benzeri bir Arduino kartı)
  • HC-05 veya HC-06 Bluetooth modülü
  • Breadboard
  • Jumper kablolar

Devre Kurulumu:

HC-05/HC-06 Bağlantıları:

  • Modülün VCC pinini Arduino’nun 5V pinine bağlayın.
  • Modülün GND pinini Arduino’nun GND pinine bağlayın.
  • Modülün TXD pinini Arduino’nun RX pinine bağlayın (örneğin, pin 0).
  • Modülün RXD pinini Arduino’nun TX pinine bağlayın (örneğin, pin 1).

Devre Şeması:

ArduinoHC-05/HC-06
GNDGND
5VVCC
Pin 0TXD
Pin 1RXD

Kodlama:

HC-05 veya HC-06 için aynı kod kullanabilirsiniz, çünkü her ikisi de seri iletişim (UART) üzerinden veri alışverişi yapar.

#include <SoftwareSerial.h> // HC-05 için SoftwareSerial kütüphanesini dahil ediyoruz.

SoftwareSerial BTSerial(10, 11); // RX | TX pinlerini belirtiyoruz.

void setup() {
  Serial.begin(9600);  // Bilgisayar ile seri iletişimi başlatıyoruz.
  Serial.println("Bluetooth cihazı ile eşleşmeyi bekleniyor..."); 
  
  BTSerial.begin(38400);  // HC-05 ile Bluetooth iletişimini başlatıyoruz.  
  // HC-06 kullanıyorsanız baud hızını 9600 olarak ayarlayın.
}

void loop() {
  if (BTSerial.available()) { // Bluetooth modülünden veri gelmişse
    char gelenVeri = BTSerial.read(); // Veriyi okuyoruz.
    Serial.write(gelenVeri); // Veriyi seri monitöre yazdırıyoruz.
  }
  if (Serial.available()) { // Seri monitörden veri gelmişse
    char gidenVeri = Serial.read(); // Veriyi okuyoruz.
    BTSerial.write(gidenVeri); // Veriyi Bluetooth modülüne gönderiyoruz.
  }
}

Kod Açıklaması:

  • Kütüphane Dahil Etme: SoftwareSerial.h kütüphanesi, Arduino’nun donanım seri portuna ek olarak yazılım tabanlı seri portlar oluşturmamızı sağlar. HC-05 modülü, Arduino Uno’da donanım seri portu (pin 0 ve 1) kullanıldığı için, yazılım seri port kullanıyoruz.
  • Yazılım Seri Port Oluşturma: SoftwareSerial BTSerial(10, 11); satırı, RX pinini 10 ve TX pinini 11 olarak ayarlayarak bir yazılım seri portu oluşturur. Bu pin numaralarını, HC-05 modülünü bağladığınız pinlere göre değiştirebilirsiniz.

Setup Fonksiyonu:

  • Serial.begin(9600); ile Arduino ve bilgisayar arasında seri iletişim 9600 baud hızında başlatılır.
  • Serial.println(“Bluetooth cihazı ile eşleşmeyi bekleniyor…”); ile seri monitöre bir mesaj yazdırılır.
  • BTSerial.begin(38400); ile HC-05 modülü ile Bluetooth iletişimi başlatılır. HC-06 kullanıyorsanız, baud hızını 9600 olarak değiştirmelisiniz.

Loop Fonksiyonu:

  • if (BTSerial.available()) kontrolü, HC-05 modülünden veri gelip gelmediğini kontrol eder. Eğer veri varsa, BTSerial.read() ile veri okunur ve Serial.write() ile seri monitöre yazdırılır.
  • if (Serial.available()) kontrolü, seri monitörden veri gelip gelmediğini kontrol eder. Eğer veri varsa, Serial.read() ile veri okunur ve BTSerial.write() ile HC-05 modülüne gönderilir.

Özet:
Bu kod, Arduino’nun HC-05 veya HC-06 Bluetooth modülü ile veri alışverişini nasıl gerçekleştireceğini gösterir. Seri monitörden gönderdiğiniz veriler Bluetooth modülüne iletilir, modülden gelen veriler ise seri monitörde görüntülenir.

Kullanım:

Eşleştirme:

HC-05:

  • AT komutlarıyla modülü yapılandırmanız gerekebilir (isim, baud hızı, parola gibi). AT komutları hakkında bilgi edinmek için modülün veri sayfasını inceleyin.
  • Modülü AT komut moduna almak için KEY pinini VCC’ye bağlayın ve modülü yeniden başlatın.

HC-06:

  • Eşleştirme yapmak için akıllı telefonunuzda veya bilgisayarınızda Bluetooth ayarlarını kullanın. Modülün varsayılan adı genellikle “HC-06” veya benzeri bir isimdir. Eşleştirme şifresi genellikle “1234” veya “0000” olur.

Veri Gönderme ve Alma (Arduino IDE üzerinden):

  • Eşleştirme tamamlandıktan sonra, Arduino’dan Bluetooth modülüne veri göndermek için BTSerial.print() veya BTSerial.write() fonksiyonlarını kullanabilirsiniz.
  • Bluetooth modülünden Arduino’ya gelen verileri okumak için BTSerial.available() ve BTSerial.read() fonksiyonlarını kullanabilirsiniz.

Veri Gönderme ve Alma İçin Ek Seçenekler:

Seri Terminal Uygulamaları:

  • Arduino IDE Seri Monitörü: En basit seçenektir. Arduino IDE’nin “Araçlar” menüsünden erişebilirsiniz. Baud hızını Bluetooth modülünüzle aynı değere ayarlayın (genellikle 9600). Ardından, metin kutusu üzerinden veri gönderebilir ve gelen verileri görüntüleyebilirsiniz.
  • Diğer Seri Terminal Uygulamaları: PuTTY, Tera Term, CoolTerm gibi daha gelişmiş seri terminal uygulamaları da kullanabilirsiniz. Bu uygulamalar, veri kaydetme, otomatik gönderme gibi ek özellikler sunabilir.

Bluetooth Uygulamaları:

  • Akıllı Telefon Uygulamaları: Play Store veya App Store’dan Bluetooth terminal uygulamaları indirebilirsiniz. Bu uygulamalar, Bluetooth üzerinden veri göndermenizi ve almanızı sağlar.
  • Bilgisayar Uygulamaları: Bluetooth özellikli bilgisayarlar için, Bluetooth terminal yazılımları veya özel olarak geliştirilmiş uygulamalar kullanabilirsiniz.

Notlar:

  • HC-05 modülünü kullanıyorsanız, AT komutları ile modülü yapılandırmanız gerekebilir. AT komutları hakkında bilgi edinmek için modülün veri sayfasını inceleyin.
  • HC-05 ve HC-06 modülleri 3.3V güç seviyesi ile çalışır. Arduino’nun 5V güç seviyesi ile doğrudan bağlamak sorunlara neden olabilir. Eğer iletişimde sorun yaşıyorsanız, direnç kullanmayı düşünebilirsiniz.
  • HC-06 modülünü kullanıyorsanız, kodda BTSerial.begin(38400); satırını BTSerial.begin(9600); olarak değiştirin.

Geliştirmeler:

  • Bluetooth kontrollü robot veya cihaz yapın.
  • Sensör verilerini Bluetooth üzerinden akıllı telefona veya bilgisayara gönderin.
  • Bluetooth üzerinden gelen komutlarla LED’leri kontrol edin veya motorları çalıştırın.
  • Birden fazla Bluetooth modülü kullanarak cihazlar arasında iletişim kurun.
Ahmet Kemal YILDIZ
Eskişehir Osmangazi Üniversitesi Bilgisayar ve Öğretim Teknolojileri Öğretmenliği mezunu bir Bilişim Teknolojileri ve Yazılım Dersi Öğretmeniyim. Bilişim Teknolojileri ve Yazılım dersi ile ilgili ders etkinlikleri, kaynak materyaller, örnek etkinlikler ve ilgi duyduğum birçok konu hakkında vakit buldukça buradan blogluyorum. :)

    16# – Arduino ile Motor Kontrolü (Step Motorlar)

    önceki yazı

    18# – Arduino Ethernet Shield Kullanımı

    Sonraki Yazı

    Bu Yazılar da İlgini Çekebilir!

    Yorumlar

    Yorum yap

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Daha Arduino