Arduinomedia.com

App Inventor ve Bluetooth ile Çoklu Led Yakma | App Inventor Dersleri

App Inventor ve Bluetooth ile Çoklu Led Yakma | App Inventor Dersleri

Bu yazıda sizlerle birlikte arduino ve bluetooth ile çoklu led yakma için gerekli olan app inventor ile android mobil uygulama yazma adımlarını öğreneceğiz.

Bu yazıda temel olarak;

  1. App inventor ile mobil uygulama yazma,
  2. Bluetooth ile çoklu led kontrol etme,
  3. App inventor ve arduino ile bluetooth kontrol etme başlıkları hakkında detaylı bilgi vereceğiz.

Bildiğimiz gibi app inventor ile hazırlayacağımız mobil uygulamalar sayesinde arduino devresindeki bluetooth modülüne bağlanarak komutlar gönderebileceğimizi bir önceki yazımızda görmüştük. App inventor ile bluetooth üzerinden tek led kontrol etmek için mobil ugulama hazırlamıştık.

arduino-ile-bluetooth-led-yakma

Şimdi ise bu uygulamayı geliştirerek bluetooth ile arduino kartına bağlı birden fazla led kontrolü için gereken mobil uygulamayı app inventor ile yazacağız.

Bu projeyi 2 adımda gerçekleştireceğiz. 1.adımda gerekli çoklu led kontrolü için gereken mobil uygulamayı app inventor ile yazacağız, 2. adımda ise uygulamadan gelen bilgileri işleyecek arduino kodlarını ve arduino bluetooth devresini hazırlayacağız.

Bu örnek proje için 4 adet ledi bluetooth ile kontrol edeceğiz.

#1.BÖLÜM

Bu bölümde app inventor sitesi üzerinden arduinoya bağlı bluetooth modülüne komutlar göndereceğimiz bir mobil uygulama tasarlayıp, kodlarını hazırlayacağız.

App Inventor sitesinde Create Apps! butonuna tıkladıktan sonra bir gmail hesabı ile oturum açabilirsiniz.

Giriş yaptıktan sonra Start New Project butonuna baastıktan sonra açılan penerede uygulamanız için bir isim belirledikten sonra Ok butonuna basarak uygulama ekranına geçiş yapmış olacağız.

App inventor ile Uygulama Ekran Tasarımı

Design penceresinde mobil uygulamada kullanacağımız nesneleri ekrana ekleyerek bir ekran tasarımı yapacağız.

Aşağıdaki görseldekine benzer bir tasarım yapabilirsiniz.

app-inventor-coklu-led-yakma-ekran-tasarimi

App Inventor Arduino Çoklu Led Kontrol Ekran Tasarımı

  1. İlk olarak ekrandaki tüm nesneleri ortalamak için sağdaki Properties penceresinden AlignHorizonal seçeneğini Center olarak seçiyoruz.
  2. Soldaki Palette penceresindeki Layout sekmesinden VertiacalArrengement nesnesini ekrana ekliyoruz. Properties penceresinden Yüksekliğini(Height) 100px, Genişliğini (Width) %90 percent olarak ayarlıyoruz. İçine soldaki User Interface sekmesinden 1 adet Label, 1 adet ListPicker ve 1 adet Button ekliyoruz. Bu nesnelerin görsel özelliklerini resimdeki gibi ayarlamak için Properties penceresinden faydalanabilirsiniz.
  3. Alt tarafa 1 adet VerticalArrengement nesnesi daha ekliyoruz. Bu ledleri kontrol etmek için kullanacağımız switch leri kapsayacak kutu olarak kullanılacak.  Bu kutu içindeki tüm nesneleri ortalama için Properties penceresinden AlignHorizonal seçeneğini Center olarak seçiyoruz.
  4. Bu kutu içine yine soldaki Layout sekmesinden 1 adet HorizontalArrengement nesnesi ekliyoruz ve içindeki tüm nesneleri ortalamak için Properties penceresinden AlignHorizonal seçeneğini Center olarak, Yüksekliğini 50 piksel ve genişliğini %90 percent olarak seçiyoruz. İçine User Interface penceresinden 1 adet label ve 1 adet switch ekliyoruz.
  5. Label nesnesinin Properties penceresinden Text özelliğini LED 1- olarak değiştiriyoruz. Yazı boyutu ve kalınlık, yazı renk ayarlarını istediğiniz gibi değiştirebilirsiniz.
  6. Switch nesnesinin Properties penceresinden Text özelliğini  OFF (kapalı) olarak değiştiriyoruz. Yazı boyutu ve kalınlık, yazı renk ayarlarını istediğiniz gibi değiştirebilirsiniz.
  7. Buraya kadar sadece 1 led kontrolü için gerekli nesneleri ekledik ve özelliklerini değiştirdik. Kalan 4 led için 4. ve 6. maddeleri tekrarlayarak toplamda 5 adet switch nesnesi olacak şekilde ekran tasarımını tamamlıyoruz.
  8. Tasarıma Bluetooth bağlantısını yapabilmek için soldaki Palette bölümünden Connectivity sekmesinden BluetoothClient nesnesini ekleyeceğiz.
  9. Son olarak tasarımdaki Button ve VerticalArrengement2 nesnesinin Properties seçeneklerindeki Visible(Görünürlük) seçeneğindeki işareti kaldırarak gizlenmesini sağlıyoruz. Bu işlemin nedeni ise Bluetooth bağlantısı gerçekleştiğinde ListPicker nesnesini gizlerken, Bağlantıyı Kes butonunu ve switchlerin bulunduğu kutuyu göstereceğiz.

Şimdi app inventor kolarını yazmaya başlayabiliriz.

App inventor Çoklu Led Yakma Kodları

app-inventor-listpicker-kod

Bu kod ile uygulama çalıştırıldığında, ListPicker nesnesine akıllı cihazın eşleştiği ve kapsama alanında bulunan bluetooth adreslerini çekiyoruz.

app-inventor-bluetooth-baglanti-kodlari

App Inventor Bluetooth Baglant Kodları

Bu kod ile önce ListPicker içine aldığımız listeden seçilen cihaz ile Bluetooth bağlantısını gerçekleştiriyoruz.

İf koşulu ile eğer Bluetooth bağlantısı gerçekleşmiş ise Label1 etiketinin arkaplanını yeşil yapıyoruz. Sonra bu Label1 nesnesinin yazısını BAĞLANDI: BT_Ad şeklinde düzenliyoruz. Bu sayede bluetooth bağlantısı yapılan adresi bu Label nesnesinde gösterebileceğiz.

Sonrasında ListPicker, Button ve VerticalArrengement nesnelerinin Visible(Görünürlük) değerlerini not operatörü ile tersine çevirerek başlangıçta gizlediğimiz Bağlantıyı Kes butonu ve switchleri kapsayan VerticalArrengement nesnesini göstermiş, ListPicker nesnesini ise gizlemiş oluyoruz.

app-inventor-bluetooth-baglanti-kesme-buton-kodlari

App Inventor Bluetooth Bağlantı Kesme Buton Kodları

BAĞLANTIYI KES butonu kodlarında ise butona tıklandığında üst koddaki bağlandığında yapılan işlemlerin tam tersi yönde işlemler gerçekleştiriliyor.

app-inventor-switch-ile-led-kodntol-kodlari

App Inventor Switch ile Led Kontol Kodları

Bu kod ile Switch1 nesnesi tetiklendiğinde kendi değeri ile birlikte diğer 4 switch nesnesinin değerini paketleyip arduinoya bağlı bluetooth nesnesine gönderiyoruz. Yani switch 1 tetiklendiğinde gönderilecek paket 1.0.0.0.0\n şeklinde olacaktır. Bu paketi arduino kodları ile çözüp gelen 0 veya 1 değerlerine göre ledleri kontrol yakıp söndürebileceğiz.

Bu kodu hazırladıktan sonra diğer kalan 4 switch için çoğaltmamız gerekiyor. Kodun en üstünde farenin sağ tuşuna basarak Duplicate seçeneğine tıklayın. Kod çoğaltılmış olacaktır. Tek yapmanız gereken en üstteki Switch1 değerini Switch2 olarak değiştirmek olmalıdır. Bu şekilde toplamda 5 switch için kodları hazırlıyoruz.

Aşağıdaki arduino devresini hazırlayıp kodları arduinoya yükledikten sonra uygulamayı test edebiliriz.

Uygulamayı Test Etme ve Android Cihaza Yükleme

Yazdığınız uygulamayı ister anlık olarak test edebilir, isterseniz de akıllı cihazınıza yükleyebilirsiniz.

UYARI: HC-06 ya da HC-05 bluetooth modülleri Bluetooth 3.0 versiyonunu desteklediklerinden IOS işletim sisteminde Bluetooth listesinden görünmeyeceklerdir. Bu nedenle sadece Android cihazlarda kullanılabilirler.

AI Companion Uygulaması ile Projeyi Canlı Test Etmek

App inventor ile yazdığınız mobil uygulamayı canlı test etmek için aşağıdaki adımları takip edin.

  1. Akıllı cihazınızın Bluetooth menüsüne girerek arduinoya bağlı bluetooth modülü ile eşleşme sağlayın. Bluetooth modüllerinin fabrikasyon olarak görünen ismi HC-06 ya da HC-05, şifresi ise 1234 olacak şekilde ayarlanmıştır. Bilgileri girerek eşleşmeyi sağlayın.
  2. Anlık uygulama testi için akıllı cihazınıza uygulama marketinden MIT AI2 Companion isimli uygulamayı yükleyin.
  3. Akıllı cihazınızda AI Companion uygulamasını çalıştırın.
  4. App inventor sayfasında Connect menüsünden AI Companion seçeneğini tıklayın. Ekranda, içinde karekod ve 6 haneli bir kod olan bir pencere açılacaktır.
  5. Akıllı cihazınızdaki AI Companion programında ister 6 haneli kodu girip Connect with code butonuna tıklayın, isterseniz Scan QR code butonuna tıklayarak kameradan QR kodu okutun.(Eğer akıllı cihaz ve bilgisayarınız aynı ağa bağlı ise Use Legacy Connection kutucuğunu işaretleyin.)
  6. Bağlantı sağlandığında akıllı cihazınızın ekranına uygulama aktarılacaktır.
  7. BAĞLAN butonuna basarak HC-05 ya da HC-06 bluetooth cihazını seçin.
  8. Slider nesnesini sağa sola kaydırarak değerini değiştirdiğinizde arduino devrenizdeki led parlaklığının değiştiğini göreceksiniz.

App Inventor Uygulamasını Akıllı Cihaza Kurmak

Uygulamayı test ettikten sonra her şey sorunsuz çalışıyorsa, uygulamanızı akıllı cihazınıza kurarak istediğiniz zaman kullanabilirsiniz. Bu işlem için Build menüsünden App(provide QR code for .apk) seçeneğini tıklayın. Ekrana bir karekod açılacaktır. Akıllı cihazınızdaki QR kod okuma uygulamasını çalıştırarak kodu kamera ile okutun. Uygulamanın apk dosyası cihazınıza indirilecektir.

İndirme işleminden sonra uygulama kurulumunda sorun yaşamamak için akıllı cihazınızın Ayarlar–>Güvenlik Ayarları bölümünden Cihaz Yönetimi bölümünü bulun. Burada Bilinmeyen Kaynaklar( Play store dışındaki kaynaklardan uygulama kurulmasına izin ver) ayarını seçili hale getirin.

İndirilenler klasöründen uygulamayı bulup kurulumunu yapabilirsiniz. Uygulamayı çalıştırıp bluetooth bağlantısını yaptıktan sonra arduinoya bağlı ledi yakıp söndürme işlemini bluetooth üzerinden yapabilirsiniz.

Arduino Bluetooth ile Çoklu Led Yakma Devresi

Görseldeki devre şemasını inceleyerek arduino devremizi kuruyoruz.

app-inventor-bluetooth-ile-coklu-led-yakma-devresi

App Inventor Bluetooth ile Çoklu Led Yakma Devresi

Devreyi incelediğimizde, Bluetooth modülünün TX pini arduino 10 numaralı dijital pine, RX pini ise arduino 11 numaralı dijital pine bağlanmıştır.

Ledler ise sırasıyla 2,3,4,5 ve 6 numaralı arduino dijital pinlerine bağlanmıştır.

Arduino Bluetooth ile Çoklu Led Yakma Kodları

Aşağıdaki arduino kodlarını hayırlayalım ve arduino kartımıza yükleyelim.


Kodları açıklayalım;

Software kütüphanesi arduino kartının istediğimiz pinini RX ve TX pini olarak kullanmamıza olanak sağlayan kütüphanedir. Bu kütüphaneyi #include <SoftwareSerial.h> kodu ile kodlara dahil ediyoruz.

SoftwareSerial BT(10, 11); kodu ile arduino 10. pini TX, 11. pini ise RX pini olarak kullanacağımızı belirttik.

int data1 = BT.parseInt(); kodu ile Bluetooth modülünden okunan text türündeki değeri parseInt kodu ile sayı veri türüne çeviriyoruz ve data1 isimli değişkene aktarıyoruz. 5 led kodntrol edeceğimizden bu kodu 5 kez yazıyoruz.

if (BT.read() == ‘\n’) { }  koşulu ile eğer gelen değer \n karakterine eşit ise alınan paketin sonuna geldiğini anlıyoruz ve değişkenleri önce serial ekrana yazdırıyoruz.

Sonrasında if koşullarını kullanarak gelen değerleri sırasıyla 1’e eşitliğini kontrol ederek ledleri yakmak için kullanıyoruz.

Aynı kodları dizileri kullanarak da aşağıdaki gibi yazabiliriz.


ÖZET: Bu derste arduinoya bağlı 5 ledi yakıp söndürmek için gereklimobil uygulamayı app inventor sitesi üzerinden hazırladık.

Projemizin sonuna geldik…Proje ile ilgili görüş, öneri ve fikirlerinizi yorumlar bölümünden bize yazmayı unutmayın!

Projeyi beğendiyseniz sosyal medya hesaplarınızda paylaşarak daha fazla kişiye ulaşmasını sağlayabilirsiniz.

Arduinomedia sosyal medya hesaplarını takip ederek yeni yazılardan anında haberdar olmayı unutmayın.

SONRAKİ PROJEDE NE VAR?

Bir sonraki projede app inventor ve arduino ile servo motor kontrolü android uygulaması ve arduino kodlarını inceleyeceğiz.

Etiketler:

Yorumlar

Henüz yorum yapılmamış.