4 Mart 2014 Salı

MIT Application İle Android Uygulaması - Lamba Kontrolü

Bu yazımızda daha önceden eclipse ile yazmış olduğumuz android uygulamasının mit app. inv. ile yapılmasını inceleyeceğiz. MIT app. inv. 'dan yeni proje dosyası açarak başlayabiliriz.

Şekil 1' de verilen uygulama görüntüsü sol kısımda bulunan aygıtların ekran içerisine sürüklenmesi ile yapılır. Bluetooth bağlantısı için yaygın olarak kullanılan "List Picker" seçilmiştir. Ekranda gösterilmesi istenen yazılar için "Label" aygıtı kullanılır. Lambaların kontrol edilebilmesi için butonlar kullanılır. Bu istenen aygıtlar sürüklenerek ekrana yerleştirilir. Ekranın arka plan, yön yada diğer özellikleri sol kısımdaki "Properties" alanından ayarlanır.

android led yakma arduino

Şekil 1

Ekrana yerleştirilen bu aygıtların ne şekilde kontrol edileceği kısmı "Blocks" çalışma alanında bloklarla olacaktır. Mesela butona basıldığında ne yapılması isteniyorsa "When Click do" yapısı blok sayfasından buton üzerine tıklanarak seçilir. Şekil 2 de bu gösterilmiştir.


Şekil 2

Hazırlanan bu uygulamanın kontrol blok şeması Şekil 3' de gösterilmektedir.


Şekil 3

Bu uygulamada android ile lambanın kontrolü için bluetooth haberleşmesi kullanılmıştır. Bluetoothun etkinleştirilmesi List Picker  ve Clock ile  ile ilgili komutlarla sağlanmıştır. 

Buton1 lambanın açılması için, Buton2 lambanın kapatılması için kullanılmıştır. Kontrol blok diagramında Buton1' e basıldığında bluetooth üzerinden 51 sayısı gönderilmekte, Buton2' ye basıldığında 52 sayısı gönderilmektedir. Bu sayıların bu şekilde seçilmesi ASCII tablo karşılıklarının sırasıyla 3 ve 4 olmasıdır. Arduino kısmına yazılacak program içerisinde ascii karşılıkları kullanılacaktır.

Aşağıda arduino kodu yer almaktadır. Uygulama videosu linktedirBluetooth aygıtının arduinoya bağlantısı şu şekildedir:

Bluetooth Pin                      Arduino Pin
      Tx                                        Rx
      Rx                                        Tx
      Vcc                                      Vcc
      GND                                    GND



int ledpin=13; //led 13. pine bağlanır
//yada 13. pinde bulunan led ile işlem yapılır
char deger; //bluetooth ile gönderilen verinin tutulacağı değişken

void setup()
{
  Serial.begin(9600); //seri haberleşme hızı
  pinMode(ledpin,OUTPUT); //led pini çıkış olarak ayarlanır
}

void loop()
{
  if(Serial.available()>0)  //Seri haberleşmeden veri 
  //gönderilirse bu loop çalışır
  {
    deger=Serial.read();  // gönderilen değer okunarak deger değişkenine atanır
    
    if(deger=='3') //deger 3 ise yani 51 ise
    {
      digitalWrite(ledpin,HIGH); //led yanar
    }
    
    if(deger=='4') //deger 4 ise yani 52 ise 
    {
      digitalWrite(ledpin,LOW); //led söner
    }
  }
}