Giriş / Introduction
This is a Turkish tutorial of an open source Arduino library, which lets use HC-05 Bluetooth Module with your Arduino microcontroller which can be used for various bluetooth connection projects. I will show you how to install the library to Arduino IDE and make an example project with the library, throughout this tutorial.
Merhaba, bu yazıda Arduino mikrokontrolörünüze, HC-05 Bluetooth modülünü kullanmanızı sağlayan açık kaynak bir kütüphaneden bahsedeceğim. HC-05 Bluetooth modülü ile bir çok farklı bluetooth bağlantı gerektiren proje yapabilir, telefon veya bilgisayar gibi aletlerden bu projeleri kontrol edebilirsiniz. Yazı boyunca HC-05 Bluetooth modülü kütüphanesinin kurulumunu ve HC-05 Bluetooth modülü yapacağımız örnek bir proje kodlarını görebilirsiniz.
Neler Öğreneceğim?
Bu rehberde öğrenecekleriniz:
- HC-05 Bluetooth modülü Arduino kütüphanesini Arduino IDE’sine yükleme.
- HC-05 Bluetooth modülü kütüphanesini, kütüphane fonksiyonları ile beraber kullanabilme.
- HC-05 Bluetooth modülü ile isim değiştirme projesini gerçekleştirebilme.
Gereksinimler
Bu rehberin gereksinimleri:
- Arduino UNO veya benzer bir mikrokontrolör
- Arduino IDE’si (Buradan indirebilirsiniz)
- HC-05 Bluetooth Arduino kütüphanesi (Buradan indirebilirsiniz
- HC-05 Bluetooth modülü, Breadboard, 6 adet jumper kablo.
Zorluk
Bu rehberin zorluğu:
- Basit
Çeşitli cihazlar Bluetooth teknolojisi ile haberleşir. Görüntü kaynağı (Royalty free)
Rehber İçeriği
HC-05 Kütüphanesin Arduino IDE’sine Kurulumu
1. https://github.com/jdunmire/HC05 adresinden kütüphaneyi indirin.
2. Arduino programını açıp sırasıyla Sketch->Include Library->Add .ZIP Library seçeneklerini seçin.
3. HC05-master.zip dosyasını seçin ve Open'a tıklayın.
HC-05 Kütüphanesi Kullanımı ve Örnek Proje
Arduino HC-05 kütüphanesinin kullanımını basit bir örnek ile adım adım göstereceğim. Bu örnek projemizde HC-05 Bluetooth modülümüzü Arduino’muza bağlayarak, HC-05 modülünün kurulumunu gerçekleştirip ardından modülün ekranda görünecek olan ismini değiştireceğiz. HC-05 Bluetooth modülünün Arduino’ya bağlantısı aşağıda gösterilmiştir.
Kütüphanenin temellerini öğrendikten sonra başka projelerde kullanırsanız lütfen yorumlarda belirtin.
HC-05 Bluetooth modülünün Arduino'ya bağlantı şeması. Fritzing programında çizilmiştir.
1. Yeni bir sketch açın ve "Bluetooth_Deneme" olarak kaydedin.
2. Öncelikle kütüphanelerimizi sketch’imize eklemek için, kodun en başına, #include <Arduino.h>, #include <HC05.h> yazın. Ardından HC-05 Bluetooth modülü ve Arduino arasında seri bağlantıyı mümkün kılacak olan #ifdef HC05_SOFTWARE_SERIAL ve #include <SoftwareSerial.h> kodlarını ekleyin.
3. Kütüphaneyi ekledikten sonra Arduino’da kullanacağınız “KEY”, “State”, “RX”, “TX” pinleri belirleyen kodu yazın. Ardından bluetooth modülünün ismini tanımlayacak komutu yani (AT+NAME) kodunu ekleyin.
4. void setup() fonksiyonunun içine 9600 baud rate'de seri haberleşmeyi başlatacak kodu ekleyin.
5. void loop() fonksiyonunun içinde, 32 karakterlik yeni ismi tutacak bir string oluşturun. Kullanıcının gireceği yeni modül isminin ne olacağını kullanıcıya soran (ekrana yansıtan) ve kullanıcıdan yeni ismi alan komutları ekleyin. Ardından kullanıcının cevap verebilmesi için 100mslik bir timeout oluşturun.
6. Kullanıcıdan cevap beklerken çalışacak bir while döngüsünü oluşturun. While döngüsünün içine bluetooth modülü seri olarak bağlıysa aşağıdaki komutları çalıştıracak bir if koşulu ekleyin. If koşulunun içine kullanıcının serial monitorde yazdığı ismi okuyan ve daha önce oluşturduğumuz stringe kaydeden kodu yazın.
7. Kullanıcının atadığı yeni 32 harflik ismi HC-05 Bluetooth modülüne atayacak komutları ekleyin.
8. Kullanıcıdan yeni isim alma işlemi gerçekleştiğinde 1000ms delay ile çalışacak bir if koşulu oluşturun. If koşulunun sağlandığında değişikliğin olduğunu ekrana yansıtacak ve modülü disconnect edecek komutları ekleyin.
Kapanış
Bu yazımda Arduino mikrokontrolörü için "jdunmire" adlı GitHub kullanıcısı tarafından yazılmış "HC-05" kütüphanesinin kurulumu, HC-05 Bluetooth modülü kullanarak, modülün ayarlarını ve kurulumunu yaparak kütüphanenin kullanımını gösterdim. Umuyorum ki vermiş olduğum bilgileri beğenirsiniz, okuduğunuz için teşekkürler. Başka yazılarda görüşmek dileğiyle.
Kütüphane hakkında daha fazla bilgi ve kaynak için aşağıdaki linki kullanabilirsiniz.
Github: https://github.com/jdunmire/HC05
Kodlar
#include <Arduino.h>
#include <HC05.h>
#ifdef HC05_SOFTWARE_SERIAL // Modülün seri bağlantısını mümkün kılar.
#include <SoftwareSerial.h>
HC05 btSerial = HC05(3, 2, 0, 1); // KEY, State, RX, TX bağlantılarını atar.
String BluetoothIsim("AT+NAME="); // Bluetooth modülünün ismini tanımlayacak komut (AT+NAME).
void setup(){
Serial.begin(9600); // 9600 baud rate'de seri haberleşmeyi başlatır.
}
void loop(){
char buffer[32];
size_t gelen = 0;
bool waiting = true;
String YeniIsim; // Yeni ismi tutacak string.
btSerial.println(""); // Yeni ismin ne olacağını kullanıcıya sorar.
btSerial.print("Yeni isim? ");
btSerial.setTimeout(100); // Kullanıcının cevap verebilmesi için 100mslik bir timeout oluşturur.
while (waiting)
{
if (btSerial.available()) // Bluetooth modülü seri olarak bağlıysa aşağıdaki komutları çalıştırır.
{
gelen = btSerial.readBytes(buffer, 32);
for (size_t i = 0; i < gelen; i++)
{
if (buffer[i] != '\n')
{
YeniIsim += buffer[i];
btSerial.print(buffer[i]);
}
else
{
btSerial.println(" ");
waiting = false;
break;
}
}
}
delay(100);
}
YeniIsim.toCharArray(buffer, 32); // Kullanıcının atadığı yeni ismi cihaza tanımlar.
YeniIsim = BluetoothIsim + YeniIsim;
YeniIsim.toCharArray(buffer, 32);
if (btSerial.cmd(buffer,1000)) // Değişikliğin olduğunu ekrana yansıtır ve modülü disconnect eder.
{
btSerial.println("Modülün ismi değiştirildi.");
btSerial.println("Değişikliğin gerçekleşmesi için modüle yeniden bağlanın.");
btSerial.println("Bağlantı kesiliyor...");
btSerial.flush();
btSerial.cmd("AT+DISC", 1000); // Modülü disconnect eden komut.
}
}
Posted on Utopian.io - Rewarding Open Source Contributors
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey @drencolha I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit