Arduino ile HC-05 Bluetooth Modülü Kullanımı
Merhabalar! Arduino projelerinde çeşitli sensörlerin ve elektronik bileşenlerin kullanımına dair detaylı rehberler hazırlamaya devam ediyorum. Bu yazıda, projelerinize kablosuz uzaktan kontrol yeteneği kazandırmak için sıkça kullanılan Arduino Bluetooth modülü olan HC-05'i derinlemesine inceleyeceğiz.
HC-05 Bluetooth modülü sayesinde akıllı telefonunuzu veya tabletinizi kullanarak evinizdeki cihazları yönetebilir, hatta kendi Arduino uzaktan kumandalı arabanızı bile tasarlayabilirsiniz. Bu kılavuzun sonunda, Arduino HC-05 kullanımı konusunda yetkinlik kazanacak ve kendi projelerinize kablosuz iletişim ekleyebileceksiniz.
Arduino projelerinde uzaktan kontrol sağlamanın birçok yolu olsa da, Arduino HC-05 modülü hem maliyet etkinliği hem de programlama kolaylığı açısından popüler bir tercihtir.
HC-05 Bluetooth Modülü Nedir? Özellikleri Nelerdir?
Piyasada genellikle HC-05 ve HC-06 olmak üzere iki yaygın Bluetooth modülü bulunur. Bu ikisi arasındaki temel fark, HC-05 modülünün hem alıcı (Slave) hem de verici (Master) olarak çalışabilmesidir. Bu esneklik, HC-05'i sadece telefonunuza değil, aynı zamanda diğer Bluetooth cihazlarına (başka bir HC-05 modülü gibi) veri göndermek için de kullanabilmenizi sağlar. Bu sayede, bir mobil cihaza ihtiyaç duymadan iki Arduino arasında veri transferi gerçekleştirmek mümkündür.
Önemli Not: Standart HC-05 modülü, Bluetooth Classic protokolünü kullandığı için iOS işletim sistemli (iPhone, iPad) cihazlarla doğrudan uyumlu değildir. iOS uyumluluğu için Bluetooth Low Energy (BLE) destekleyen HM-10 gibi modülleri tercih etmeniz gerekir.
HC-05'i verici (Master) modunda kullanmak için AT komutları ile yapılandırma yapmanız gerekir. Gerekli HC-05 AT komutlarını ve nasıl kullanılacağını yazının ilerleyen bölümlerinde detaylıca anlatacağım.
Arduino HC-05 Bluetooth Modülü Bağlantı Şeması
HC-05 modülü genellikle 6 pine sahiptir: VCC (Güç +), GND (Toprak -), TX (Veri Gönderme), RX (Veri Alma), STATE (Durum) ve bazen EN (Enable). Normal seri iletişim için VCC, GND, TX ve RX pinleri kullanılır. STATE ve EN pinleri genellikle AT komut moduna geçiş için kullanılır.
Arduino'nun donanımsal TX (Pin 1) ve RX (Pin 0) pinleri, bilgisayar ile seri iletişim (kod yükleme, Seri Monitör) için de kullanıldığından, HC-05'i bu pinlere bağlamak kod yüklerken sorun çıkarabilir (bağlantıyı söküp takmak gerekebilir). Bu nedenle, Arduino'nun SoftwareSerial
kütüphanesini kullanarak istediğimiz dijital pinleri sanal TX ve RX pinleri olarak atamak çok daha pratiktir.
Aşağıdaki Fritzing şemasına göre bağlantıları dikkatlice yapın:
Bağlantılar tamamlandıysa, şimdi Arduino HC-05 Bluetooth konfigürasyon ayarlarını yapmak için AT komut moduna nasıl geçeceğimizi ve temel HC-05 AT komutlarını inceleyelim.
Arduino HC-05 AT Komut Moduna Nasıl Girilir ve Ayarlar Nasıl Yapılır?
AT komutları, HC-05 modülünün Bluetooth adını, eşleşme şifresini, çalışma modunu (Master/Slave) ve seri iletişim hızını (baud rate) gibi parametrelerini değiştirmemize olanak tanır.
AT komut moduna girmek için aşağıdaki adımları takip edin ve Arduino kodunu yükleyin:
#include // SoftwareSerial kütüphanesini dahil et
// HC-05 için sanal seri port oluştur (RX=10, TX=11)
// HC-05 TX -> Arduino 10 (RX)
// HC-05 RX -> Arduino 11 (TX)
SoftwareSerial BTSerial(10, 11);
// HC-05'in STATE veya EN pininin bağlı olduğu pin (Modele göre değişebilir)
// Genellikle AT moduna girmek için bu pin HIGH yapılır veya butona basılır.
// Bu kodda doğrudan AT modunda başlatıldığı varsayılır.
// Bazı modüllerde EN pinini HIGH yapmak yeterlidir.
// int atModePin = 9; // Opsiyonel: Eğer EN/STATE pini kullanıyorsanız
void setup() {
Serial.begin(9600); // Bilgisayar ile iletişim için Seri Monitör hızı
Serial.println("AT Komut Modu - HC-05 Ayarlari");
Serial.println("Seri Monitor ayarlarini 'NL & CR' ve '38400 baud' yapin.");
// pinMode(atModePin, OUTPUT); // Eğer pin kullanıyorsanız
// digitalWrite(atModePin, HIGH); // AT Modunu etkinleştir
// HC-05'in AT komut modu için varsayılan baud rate'i genellikle 38400'dür.
BTSerial.begin(38400);
}
void loop() {
// Bluetooth modülünden (HC-05) veri gelirse, Seri Monitöre yazdır
if (BTSerial.available()) {
Serial.write(BTSerial.read());
}
// Seri Monitörden veri (AT komutu) gelirse, Bluetooth modülüne gönder
if (Serial.available()) {
BTSerial.write(Serial.read());
}
}
Kodu Yükleme ve AT Moduna Geçme Adımları:
- Yukarıdaki kodu Arduino IDE'ye yapıştırın ve Arduino kartınıza yükleyin.
- Kod yüklendikten sonra Arduino'nun USB bağlantısını bilgisayardan çıkarın.
- HC-05 modülünüzün üzerinde küçük bir buton varsa, bu butona basılı tutarak Arduino'nun USB kablosunu tekrar bilgisayara takın. (Eğer buton yoksa ve EN/KEY pini varsa, bu pini Arduino yüklenirken 3.3V veya 5V'a bağlamanız gerekebilir - modül belgelerinize bakın).
- Modül üzerindeki LED yavaşça (örn. 2 saniyede bir) yanıp sönüyorsa, AT komut moduna başarıyla girdiniz demektir.
- Arduino IDE'de Araçlar > Seri Port Ekranı'nı açın (Ctrl+Shift+M).
- Seri Port Ekranı'nın sağ alt köşesindeki ayarları **"NL ve CR" (Both NL & CR)** ve **"38400 baud"** olarak seçtiğinizden emin olun.
Artık Seri Port Ekranı'nın üst kısmındaki giriş alanına aşağıdaki AT komutlarını yazıp "Gönder" butonuna basarak modülü yapılandırabilirsiniz. Her komuttan sonra modülün "OK" yanıtını görmelisiniz.
Temel HC-05 AT Komutları Listesi
AT
- Bağlantıyı test eder. Cevap olarak "OK" dönmelidir.
AT+NAME?
- Modülün mevcut Bluetooth adını sorgular. (Varsayılan: Genellikle HC-05)
AT+NAME=YeniCihazAdi
- Modülün Bluetooth adını değiştirir. (Türkçe karakter ve boşluk kullanmaktan kaçının).
AT+PSWD?
- Modülün eşleşme şifresini sorgular. (Varsayılan: Genellikle 1234 veya 0000)
AT+PSWD=yenisifre
- Modülün eşleşme şifresini değiştirir. (Sadece rakam kullanılması önerilir).
AT+ROLE?
- Modülün rolünü sorgular. (0: Slave, 1: Master, 2: Slave-Loop)
AT+ROLE=1
- Modülü Master moduna alır.
AT+ROLE=0
- Modülü Slave moduna alır (Varsayılan).
AT+VERSION?
- Modülün firmware versiyonunu gösterir.
AT+ORGL
- Modülü fabrika ayarlarına sıfırlar.
AT+ADDR?
- Modülün benzersiz MAC adresini gösterir.
AT+UART?
- Mevcut seri iletişim ayarlarını (Baud rate, stop bit, parity) gösterir. (AT modu için genellikle 38400,0,0)
AT+UART=9600,0,0
- Normal çalışma modundaki seri iletişim hızını ayarlar (Örnek: 9600 baud). **Dikkat:** Bunu değiştirdikten sonra Arduino kodunuzdaki `BTSerial.begin()` hızını da eşleşecek şekilde güncellemeniz gerekir.
Sonuç
Bu yazımızda, Arduino projelerinize kablosuz kontrol eklemenin popüler bir yolu olan Arduino HC-05 Bluetooth modülünün temellerini, bağlantısını ve AT komutları ile nasıl yapılandırılacağını öğrendik. Artık bu modülü kullanarak kendi uzaktan kontrollü projelerinizi geliştirmeye başlayabilirsiniz!
Aklınıza takılan soruları veya karşılaştığınız sorunları aşağıdaki yorumlar bölümünden bana iletebilirsiniz. Yardımcı olmaktan memnuniyet duyarım. Başka bir Arduino rehberinde görüşmek üzere!
Hiç yorum yok:
Yorum Gönder