Arduino Bluetooth İle Led Yakma

0
4023
Arduino Bluetooth İle Led Yakma
Arduino Bluetooth İle Led Yakma

Arduino üzerinde hazırlanmış sistemi Android cihazımız ile kontrol etme örneklerinden en basiti, bir led üzerinden çıkış almak olacaktır. Biz de giriş uygulaması olarak bu projeyi ele alacağız. Mobil cihazımız üzerinden bluetooth ile Arduino etkileşimi sağlayıp, seçtiğimiz buton’a göre led’i yakıp söndüreceğiz.

Android Uygulamasının Tasarım

Mobil tasarımımızı yapmak için öncelikle Google hesabımız ile http://ai2.appinventor.mit.edu adresi üzerinden tasarım alanını APP INVENTOR İLE MOBİL PROGRAMLAMA bölümünde anlatıldığı gibi açınız.

Uygulama tasarımında, daha önce eşleşmiş veya o an için aktif olan bluetooth cihazlarının liste halinde göstermek için bir adet ListPicker, led’i yakıp söndürmek için iki adet Buton, bağlantının sağlandığını yazdırmak için Label ve olmazsa olmaz BluetoothClient nesnelerini “Palette” bölümünden “Viewer” ekranına sürükleyiniz.

ListPicker nesnesinin “Text” özelliğini “Select BT modüle“, yan yana koyduğumuz buton’ları ise “On/Of” olarak ayarlayınız. Label bileşeninin “Text” özelliğinde yazan yazıyı siliniz. Label nesnesinin “Text” özelliğini kodlar vasıtasıyla değiştireceğimiz için şimdilik herhangi bir yazı yazmasına gerek yoktur. BluetoothClient bileşenini ise “Viewer” bölümüne sürüklemeniz yeterli. Mobil tasarımımız bu şekilde olacaktır.

Android Kodlama

Kodlama işlemini Bloklar sayesinde yapacağız. Kod alanına ulaşmak için sağ üstte yer alan “Block” butonuna basınız ve açılan pencerenin sol tarafında yer alan blokları sağ boşluğa sıralamaya başlayınız.

1- ListPicker’da bluetooth cihazlarının adres ve isimleriyle sıralanması:

2- ListPicker’da listelenen bluetooth cihazlarından birinin seçilmesi ve eşleşme sağlandığında Label’da “Connected” yazması:

3-“Text” özelliği “On” olan butona basıldığında bluetooth üzerinden Arduino’ya “on” karakter verisinin gönderilmesi:

4-“Text” özelliği “Off” olan butona basıldığında bluetooth üzerinden Arduino’ya “off” karakter verisinin gönderilmesi:

Arduino Tasarım

Elektronik tasarımı çok basit bir şekilde gerçekleştireceğiz. Malzemelerimiz; Arduino Uno kartının yanında bir adet HC-06 bluetooth modülü, bir adet 330 ohm direnç ve istediğiniz renkte bir adet led.

Arduino Kodlama

Arduino kodlamada; kart üzerindeki dijital-11 çıkışına led’i bağladık. Mobil cihazdan gelen “on/off” metin verilerini okumak için “string” türünde “readString” tanımlaması yaptık. Sistem çalıştığı anda 9600 Baund veri hızında mobil cihaz ile seri iletişime geçecek ve led’i çıkış elemanı olarak görecek. Seri iletişim olduğu sürece 3 mikrosaniye’lik bir gecikme ile mobil cihazdan gelen karakterleri okuyup “char” türünde “c” değişkenine atayacak. Gelen her karakter bir kelime haline getirilip “readString” değişkeninde saklanacak. Eğer kelime-metin verisinin büyüklüğü sıfırdan fazla ise, yani veri varsa başka bir şart daha aranacak. Bu şart gelen verinin “on” veya “off” olup olmadığına dair olacak. Gelen metin verisi “on” ise led’in bağlı olduğu pin lojik-1 yani HIGH değerini alıp led yanacak. Gelen metin verisi “off” ise led’in bağlı olduğu pin lojik-0 yani LOW değerini alıp led sönecek. Son olarak da daha sonra gelecek olan karakter verilerini kelime haline dönüştürmek için “readString” değişkeni temizlenir. Görüldüğü gibi mobil cihaz ile Arduino etkileşimi karakterlerin birleştirilip, metin değerinin kontrolü üzerinden yapılmıştır.

int led=11;

String readString;



void setup()

{

  Serial.begin(9600);

  pinMode(led,OUTPUT);

}

void loop()

{

  while(Serial.available())

  {

    delay(3);

    char c=Serial.read();

    readString+=c;

  }

  if(readString.length()>0)

  {

    Serial.println(readString);

    if(readString=="on")

    {

      digitalWrite(led,HIGH);

    }

    if(readString=="off")

    {

      digitalWrite(led,LOW);

    }

    readString="";

  }

}

 

CEVAP VER

Please enter your comment!
Please enter your name here