Arkadaşlar merhaba, bu yazıda Android işletim sistemi kullanan telefonumuzun, ses tanıma özelliğinden faydalanarak, Arduino’ya bağlı bir röleyi çalıştıracağız ve bu röle ile gece lambasını kontrol edeceğiz.
Devre ve kodumuzun çalışma mantığını basitçe anlatmak gerekirse, Android telefonumuza indireceğimiz bir uygulamayla telefonumuzun Bluetooth’unu, Arduino’ya bağlayacağımız Bluetooth müdülünü eşleştireceğiz. Daha sonra kullandığımız programa daha önce belirlediğimiz komutları söylediğimizde, söylediğimiz komut Arduino’ya BT ile aktarılacaktır. Arduino da gelen komut karşılaştırılıp doğru komut söylenmişse, röle çalıştırılacaktır. Örneğin bu projede lambayı yak dediğimizde lambayı yakmaya çalışacağız.
Projede kullanacağımız malzemeler:
- Arduino UNO,
- HC-05 ya da HC-06 Bluetooth Modülü,
- Röle modülü,
- Breadboard,
- Erkek-Erkek Jumper,
- Android işletim sistemli bir telefon,
- Gece Lambası ya da kontrol edeceğiniz her hangi bir nesne.
Eğer daha önce röle kullanmadıysanız sizi buraya, Bluetooth modülünü kullanmadıysanız ise buraya alabilirim.
Ve Başlayalım…
Önce telefonumuza şu adresten kullanacağımız uygulamayı yükleyelim. Yükledikten sonra aşağıdaki gibi bir ekran sizi karşılayacak.
Ortadaki mikrofon işaretine tıkladığınızda ise bir sonraki ekran gelecek.
Kurmamız gereken devre ise aşağıdaki şekildedir:
Arduino Programı:
Kodu yazmadan öne kodun çalışma mantığından bahsetmek istiyorum, void setup() kısmında önce seri iletişimi açıyoruz çünkü BT modülümüz Arduino ile seri iletişimi kullanıyor. Daha sonra 8. pinimizi çıkış olarak ayarlıyoruz. void loop() kısmında ise önce Serial.available() fonksiyonu ile BT modülünden bir veri gelip gelmediğini kontrol ediyoruz. Eğer veri gelmişse, gelen veriyi daha önce tanımladığımız gelenVeri isimli string’e kaydediyoruz. Son veriyi alıp döngüden çıkmak için bir if-else komutu kullanıyoruz ve break komutu ile döngüden çıkıyoruz.
Döngüden çıktıktan sonra gelenVeri değişkenini seri monitöre yazdırıyoruz. Bu kısma kadar gelen veriyi alıp bir değişkene atadık, sıra şimdi onu işlemeye geldi.
Buradan sonra basit if-else kontrolleri ile gelenVeri’yi öncesinde belirli komutlar ile eşleştirerek röle açıp kapatma işlemlerini yapacağız.
Son olarak ise, daha sonra veri değildiğinde gelenVeri değişkeninin içerisine yazılmaması için değişkenin içini boşaltıyoruz.
Ben elimde kullanabileceğim bir lamba olmamasından dolayı 8. pine bağladığım röle ile led’i yakıp sondürdüm ve devreyi bu şekilde hazırladım. Siz led yerine gece lambasını kullanabilirsiniz.
String gelenVeri; int role = 8; void setup() { Serial.begin(9600); pinMode(role, OUTPUT); } void loop() { while (Serial.available()){ delay(10); char b = Serial.read(); if (b == '#') {break;} gelenVeri += b; } if (gelenVeri.length() > 0) { Serial.println(gelenVeri); if(gelenVeri == "*lamba") { digitalWrite(role,HIGH); } else if(gelenVeri == "*lamba kapat"){ digitalWrite(role,LOW); } gelenVeri=""; } }
avrdude: stk500_getsync(): not in sync: resp=0x00 bende yüklemede böyle bir sorun çıktı yardımcı olurmusunuz
Merhaba, kodu Arduino’ya atarken Rx ve Tx’e bağlı jumperların çekili olduğundan emin olup o şekilde tekrar dener misiniz?
Çok teşekkürler
telefondan söylüyorum komutu fakat olmuyor ben breadboardsız yaptım fakat olmuyor telefondan lamba kapat diyorum olmuyor yardımcı olurmusunuz lütfen
telefondan söylüyorum komutu fakat olmuyor ben breadboardsız yaptım telefondan lamba kapat diyorum olmuyor yardımcı olurmusunuz lütfen
benim rolem 5 volt rolenin düşüklüğünden olabilir mi ?
Kullandığınız rölenin tetikleme voltajı düşük değil merak etmeyin. Röleyi doğru yere bağladığınıza emin misiniz? Tüm bağlantıları tekrar kontrol edebilir misiniz ya da değiştirdiğiniz bir şey varsa devre ve kodu [email protected] adresine atabilirseniz daha detaylı incelemeye çalışırım.
çok teşekürler ilk öncelikle benim kullandığım kodlar bu sitedeki kodlardır.Fakat ben breadboardsız yaptım bir sıkıntı olurmu? roleyi ise bir tane arduinonun 5v aldım onu rolenin ortasındaki yere taktım ledi ise rolenin 5v taktığım yerin yanına taktım ledin – bacağını ise arduinonun toprak hattına bağladım.
çok teşekürler ilk öncelikle benim kullandığım kodlar bu sitedeki kodlardır.Fakat ben breadboardsız yaptım bir sıkıntı olurmu? roleyi ise bir tane arduinonun 5v aldım onu rolenin ortasındaki yere taktım ledi ise rolenin 5v taktığım yerin yanına taktım ledin – bacağını ise arduinonun toprak hattına bağladım.
bu fotoğrafta kullandığınız fontun adı nedir çok hoşuma gitti 🙂
bartu bey kodlardaki # ve * ne iş yapıyor araştırdım ama bulamadım buradaki kodları kısaca anlatırmısınz
Çok teşekkürler gayet güzel çalışıyor. Tek püf nokta yükleme yapmadan önce bluetooth modülünden gelen RX ve TX’i arduinodan söküp programı atmak ve seri port ekranını açmak daha sonra RX TX’i takınca hem hata alınmıyor hem de söylenen ses’lerin yazı hali seri port ekranından görünebiliyor.
Eğer daha önce röle kullanmadıysanız sizi buraya, Bluetooth modülünü kullanmadıysanız ise buraya alabilirim. BURAYA dediğiniz yerlere link vermeyi unutmuşsunuz sanırım?
App inventor uygulamamda bir sıkıntı var yardımcı olabilir misiniz
Tüm bağlantıları kurdum. Uygulama komutu doğru algılıyor ama seri ekranda örnegin lamba dediğimde çok farklı karakterler çıkıyor. Dil sorunu mu var ? Nasıl halletmeliyim?
ya ben 2. farklı birşeyi programa ekliyemiyorum ne yapmam gerekiyor
merhaba bişey sorabilir miyim iki farklı renkte lamba kullanıp nasıl yapabiliriz bunu?
projenizde bazı değişiklikler yaparak kendi projemi oluşturmamda bana yardım eder misiniz Bartu Yeşilbağ arduino konusunda yetersizim…
Merhaba bana devre şemasını daha detayli atabilirmisiniz lütfen okulda proje olarak bunu yapacam lütfen yardimci olun
Uygulama kaldırılmış google play den
Devre bağlantılarını yaptım, yazılımı yükledim ancak röle sürekli aktif, sürekli çekili. komutlar (lamba ve lamba kapat) röleyi bıraktırmıyor. Seri port ekranında komutu görebiliyorum ama dediğim gibi rölede değişiklik yok. yüklerken TX-RX uçlarını çıkarıyorum bu arada. 2 farklı aplikasyonla denedim ama çare bulamadım. Yardımcı olur, yorum yaparsanız minnettar kalırım.
Kullanacağımız gece lambasının voltajı ne olmalıdır? teşekkürler
Kullanacağımız gece lambasının voltajı ne olmalıdır? teşekkürler
röleyi nasıl bağlıyoruz hangi kablo ile
DC tarafında ince bir kablo kullanırken, AC tarafında ise kalın bir kablo kullanmanızı öneririm.