Arkadaşlar merhaba, bu uygulamamızda daha önce temellerini attığımız AppInventor kullanımını bir üst boyuta taşıyacağız ve Arduino ile haberleştireceğiz.

Uygulamamızda 3 adet ledi telefonumuza bluetooth ile bağlayarak kontrol edeceğiz. Bu projemizdeki 3 adet led daha sonra sizin projelerinizde 3 adet röle olup çeşitli şeyleri kontrol etmeye yarayabilir.

Uygulamamızda kullanacağımız malzemeler;

Kullanacağımız araç-gereçler;

Uygulamamız Arduino ve AppInventor olmak üzere iki bölümden oluşmaktadır.

Arduino Kısmı

Arduino kısmında devremiz aşağıdaki şekilde olmalı.

Untitled Sketch_bb

Devremizi kurduktan sonra sırada Arduino kodumuzu yazmak var. Kodu yazdıktan sonra uygulamamızı yapmaya geçeceğiz ve esas önemli olan kısım orası.

Arduino kodumuzdan kısaca bahsetmek gerekirse, Önce 3 adet ledimizi tanımlıyoruz. Daha sonra setup kısmında seri iletişimi başlatıp ledlerimizi çıkış olacak şekilde ayarlıyoruz. loop kısmında ise if komutu ile serialden gelen veri olup olmadığnıı kontrol ediyoruz. Eğer gelen verdi varsa bir değişkene bu veriyi kaydedip karşılaştırmaya başlıyoruz. Kırmızı ledi yakmak için telefondan ifadesi gelirken kapatmak için geliyor. Yeşil led için 3 ve 4 iken mavi led için 5 ve 6 aynı işlemi görüyor. En son karşılaştırma sonucunu yaptıktan sonra 100 milisaniye bekleyip tekrar kod başa dönüyor.

int KirmiziLed = 7;
int YesilLed = 6;
int MaviLed = 5;


void setup() {

Serial.begin(9600);

pinMode(KirmiziLed,OUTPUT);
pinMode(YesilLed,OUTPUT);
pinMode(MaviLed,OUTPUT);

}

void loop() {
  if(Serial.available()>0){
    char GelenVeri = Serial.read();
    delay(100);
    if(GelenVeri = '1'){
      digitalWrite(KirmiziLed,HIGH);
    }
    if(GelenVeri = '2'){
      digitalWrite(KirmiziLed,LOW);
    }
    if(GelenVeri = '3'){
      digitalWrite(YesilLed,HIGH);
    }
    if(GelenVeri = '4'){
      digitalWrite(YesilLed,LOW);
    }
    if(GelenVeri = '5'){
      digitalWrite(MaviLed,HIGH);
    }
    if(GelenVeri = '6'){
      digitalWrite(MaviLed,LOW);
    }
    delay(100);
  }
}

Arduino kodumuz bu şekilde. Sıra geldi asıl konumuz olan AppInventor koduna. Daha önce hiç AppInventor kullanmadıysanız sizi buraya alabiliriz.

AppInventor Kısmı 

AppInventor kısmında önce kullanacağımız uygulamanın tasarımını gerçekleştiriyoruz. Bunun için bir adet LastPicker , Butonların düzenli gözükmesi için TableArrangement , 3 renk için 6 buton, ve 4 lable ile Bluetooth haberleşmesi için BluetoothClient elemanları aşağıdaki gibi konumlandırılmalıdır.

design kısmı

Elemanları üstteki gibi yerleştirdikten sonra block kısmına geliyoruz. Block kısmı da aşağıdaki şekilde olmalıdır.

Burada LastPicker elemanı bluetooth isim ve adreslerini listelemesi için kullanılmıştır. Bluetooth bağlandıktan sonra Label4 elemanı yani en alttaki label, Bluetooth Bağlantı şeklinde değişmektedir.block kısmı

Telefon ile Arduino’yu bağlama işlemi bu kadar. Bundan sonraki bloklar butonlara basıldığında yollanacak değerler ile ilgili. Onlar için de aşağıdaki blokları kullanıyoruz.

block kısmı2

Bu bloklar ile uygulamamız tamamlanmış oluyor. Uygulamamızı telefona apk olarak indirerek ya da QR okuyucu kullanıp indirerek kullanabiliriz. Bunun nasıl yapılcağını bilmiyorsanız yazı tekrar buraya gidebilirsiniz.

10 Yorumlar

  1. Merhaba yaptığımız uygulamayı telefona yüklemeden ön izlemesini görebilmemizin bir yolu var mı ? Her yapılan değişiklikte telefona tekrar tekrar yüklemek çok fazla zaman alıyor.

    • Merhaba, yaptığınız uygulamayı Üstteki menüden Connect -> Ai Companion seçeneği ile kablosuz bir şekilde senkronize olarak değiştirebilirsiniz. Ya da yine Connect menüsünden USB seçeneği ile telefonunuz usb’ye bağlıyken değiştirebilirsiniz.

  2. // Arduino kodun gözden kaçan hatalardan arındırılmış hali..
    // Anlatım harika, teşekkür ederim..

    int KirmiziLed = 7;
    int YesilLed = 6;
    int MaviLed = 5;

    void setup() {

    Serial.begin(9600);

    pinMode(KirmiziLed,OUTPUT);
    pinMode(YesilLed,OUTPUT);
    pinMode(MaviLed,OUTPUT);

    }

    void loop() {
    if(Serial.available()>0){
    char GelenVeri = Serial.read();
    delay(100);
    if(GelenVeri == ‘1’){
    digitalWrite(KirmiziLed,HIGH);
    }
    if(GelenVeri == ‘2’){
    digitalWrite(KirmiziLed,LOW);
    }
    if(GelenVeri == ‘3’){
    digitalWrite(YesilLed,HIGH);
    }
    if(GelenVeri == ‘4’){
    digitalWrite(YesilLed,LOW);
    }
    if(GelenVeri == ‘5’){
    digitalWrite(MaviLed,HIGH);
    }
    if(GelenVeri == ‘6’){
    digitalWrite(MaviLed,LOW);
    }
    delay(100);
    }
    }

  3. Merhaba, Şöyle bir sorunum var. yaptığım app inventor uygulamasında arduinoya veri gönderiyorum. Fakat gönderme işlemi belirli bir tekrardan sonra duruyor. Hatta şöyle anlatayım. Android üzerinden saniyede bir artacak şekilde 0 itibaren sayı oluşturup bunu her bir saniyede arduinoya bluetooth ile gönderiyorum. 267 sayısını gönderdikten sonra gönderme işlemi duruyor. Fakat android uygulamada sayma işlemi devam ediyor ekrana yazılıyor telefonda. Bunu test için yaptım. Ama sorunun ne olduğunu anlamadım. Bluetooth bağlantısında bir sıkıntı görünmüyor. Sensör ışığı bağlı olduğunu gösteriyor. Sizce ne gibi bir sorun olabiilr. teşekkürler.

  4. Lütfen Videolu anlatım yapın böyle hiç bir şey anlamıyorum.
    Ne Yaptığınızı bile anlamadım

CEVAP VER