Uygulamayı çalıştırmak için kodu arduinoya yükledikten sonra sırayla şu işlemleri yapalım..
Android yazılımlı telefonumuzdan "Arduino Bluetooth Sesle Kontrol" isimli uygulamayı indiriyoruz. Kurulumu yaptıktan sonra telefonumuzun bluetooth bağlantısını açalım.
Daha sonra telefonun ayarlar kısmından HC-06 ya bluetooth ile bağlanalım ve şifreyi girelim muhtemelen 1234 isteyecektir.
Arduino Bluetooth Sesle Kontrol mobil programı aracıylığıyla HC06 bluetooth cihazına bağlanalım. açtığımızda ilk olarak ekrana bluetooth listesi gelecek ve ordan HC06yı seçiyoruz
Bluetooth cihazına bağlanınca HC06 modülünde yanıp sönen kırmızı led artık sürekli yanar hale gelecektir.
Daha sonra mikrofon simgesine tıklayarak konuşmaya başlayabiliriz.
Kırmızı = Kırmızı ledi yakar (yanıyorsa söndürür)
Yeşil = Yeşilı ledi yakar (yanıyorsa söndürür)
Mavi = Kırmızı ledi yakar (yanıyorsa söndürür)
Sarı = Sarı ledi yakar (yanıyorsa söndürür)
Hepsini aç= Tüm ledleri açar
Kapat= Tüm ledleri kapatır.
Gerekli Malzemeler
1 adet Arduino Uno R3
1 adet breadboard
1 adet HC06 - Bluetooth Modülü
4 adet led (kırmızı, yeşil,mavi, sarı)
4 adet direnç (220 ohm)
3 adet direnç (1 K)
9 adet jumper kablo (5 EE, 4DE)
HC06 - Bluetooth Modülü nedir?
HC06 Bluetooth-Serial Modül Kartı, Bluetooth SSP(Serial Port Standart) kullanımı ve kablosuz seri haberleşme uygulamaları için tasarlanmıştır.
Hızlı prototiplemeye imkan sağlaması, breadboard, arduino ve çeşitli devrelerde rahatça kullanılabilmesi için gerekli pinler devre kartı sayesinde dışarıya alınmıştır.
Standart pin yapısı sayesinde istenilen ortamlarda rahatça kontrol edilebilir.
Bluetooth 2.0'ı destekleyen bu kart, 2.4GHz frekansında haberleşme yapılmasına imkan sağlayıp açık alanda yaklaşık 10 metrelik bir haberleşme mesafesine sahiptir.
Bir çok hobi, robotik ve akademik projede kullanılabilir.
Özellikler:
- Bluetooth Protokolü: Bluetooth 2.0+EDR(Gelişmiş Veri Hızı)
- 4GHz haberleşme frekansı
- Hassasiyet: ≤-80 dBm
- Çıkış Gücü: ≤+4 dBm
- Asenkron Hız: 2.1 MBps/160 KBps
- Senkron Hız: 1 MBps/1 MBps
- Güvenlik: Kimlik Doğrulama ve Şifreleme
- Çalışma Gerilimi: 1.8-3.6V(Önerilen 3.3V)
- Akım: 50 mA
- Boyutları: 43x16x7mm
(RobolinkMarket)
HC06 - Bluetooth Modülü Devresi
HC06 Bluetooth modülü için 3 adet 1 K lık direnç bağladık devreye, bağlamasaydık da çalışırdı ancak özellikle modülümüzün sağlığı açısından kullandık. Aşağıdaki videoda Lezzetli Robot Tarifleri çok güzel bir şekilde anlatmış bu durumu.
https://www.youtube.com/watch?v=LWgkYIHMcPk
HC06 - Bluetooth Modülü Kodları
NOT: Kodları arduinoya yüklerken 0 numaralı pine bağladığımız kabloyu çıkarmamız gerekmektedir. Aksi halde kodlar yüklenmeyecek ve hata verecektir. Yükledikten sonra tekrar takabilirsiniz.
//ledlerimizin takılı olduğu pinlere göre tanımlama yapalım.
#define ledKirmizi 3
#define ledYesil 4
#define ledMavi 5
#define ledSari 6
String deger = "";
void setup() {
//ledlerimizi çıkış olarak tanımlıyoruz
pinMode(ledKirmizi, OUTPUT);
pinMode(ledYesil, OUTPUT);
pinMode(ledMavi, OUTPUT);
pinMode(ledSari, OUTPUT);
Serial.begin(9600); //Bluetooth cihazımız ile 9600 boudrate değeriyle haberleşmek için
}
void loop() {
//değer isminde string bir veri tanımladık, telefondan gönderdiğimiz konuşmaları tutacak olan değişkenimiz
delay(50);
// eğer gelen veri alsa bu veriyi alıyoruz.
while (Serial.available()) {
char c = (char)Serial.read();
deger += c;
deger.toLowerCase();
}
if (deger.length() > 0) {
if (deger == "kırmızı")
{
digitalWrite(ledKirmizi,!digitalRead(ledKirmizi));
}
if (deger == "mavi") {
digitalWrite(ledMavi,!digitalRead(ledMavi));
}
if (deger == "sarı" ) {
digitalWrite(ledSari,!digitalRead(ledSari));
}
if (deger == "yeşil") {
digitalWrite(ledYesil,!digitalRead(ledYesil));
}
if (deger == "tümünü aç") {
digitalWrite(ledKirmizi,HIGH);
digitalWrite(ledMavi,HIGH);
digitalWrite(ledSari,HIGH);
digitalWrite(ledYesil,HIGH);
}
if (deger == "kapat") {
digitalWrite(ledKirmizi,LOW);
digitalWrite(ledMavi,LOW);
digitalWrite(ledSari,LOW);
digitalWrite(ledYesil,LOW);
}
deger = "";
}
delay(100);
}
HC06 - Bluetooth Modülü Kullanımı Mblock Kodları
Mblock kodlarını yazabilmek için uzantılar/uzantıları yönet kısmından Bluetooth Kontrol ile ilgili bir uzantı indiriyoruz. Ve kod bunun sonucunda bluetooth kod blokları programa yüklenmiş oluyor. Gerekli kodları yazdıktan sonra arduinoya kodu yüklerken arduinonun 0 numaralı pinine taktığımız kabloyu çıkarıp yükleme yapıyoruz. Kodu kısa tutmak adına sadece "aç" ve "kapat" sesleri için tanımlama yapılmıştır. Aynı mantıkla istediğiniz kelime veya cümle için tanımlamalar yaparak kullanabilirsiniz.
Konuyla ilgili önerilen videolar
Lezzetli Robot Tarifleri
https://www.youtube.com/watch?v=LWgkYIHMcPk
Robotistan
https://www.youtube.com/watch?v=FmCFY_0Wz_U
Meraklı Maymun
https://www.youtube.com/watch?v=kukKN3c0dCE
Fenkolikler Mblok ile Bluetooth
https://www.youtube.com/watch?v=3DkAE_FJF_s