2 Ocak 2015 Cuma

Android Uygulama Geliştirme Dersleri - Android Led Kontrol


Ders 5/1 : Android Proje Geliştirme - Android Bluetooth Led Kontrolü






Ders 5/2 : Android Proje Geliştirme - Android Bluetooth Led Kontrolü






Ders 5/3 : Android Proje Geliştirme - Android Bluetooth Led Kontrolü






Ders 5/4 : Android Proje Geliştirme - Android Bluetooth Led Kontrolü






Arduino ve android kaynak kodları : 



14 yorum:

  1. Eclipse de class nasıl oluşturuluyor ?

    YanıtlaSil
    Yanıtlar
    1. Class oluşturma ile ilgili bir ders yayınlamıştım. İlgili linkler altta bulunmaktadır.

      https://www.youtube.com/watch?feature=player_embedded&v=j6qRRwopWG0
      http://golmuhendis.blogspot.com.tr/2014/12/android-uygulama-gelistirme-dersleri.html

      Sil
  2. öncelikle paylaşımın için teşekkür ederim gökhan kardeşim. uzun zamandır aradığm türkçe bir kaynağı derleyip birde paylaşmışsın. sana bir sorum olacak. bu projede birden fazla led kullanmak istersek eger nasıl bir yol izlememiz gerekir. videoda değer 1 ise ledi yak 2,3,4,5 olursa kapat demişsin. ben 2 led kullanmak istiyorum ve misal değer 1 oldugunda led1 yansın değer 2 olunca led1 sönsün değer 3 olduğunda led 2 yansın 4 oldugunda da sönsün gibi vereceğin bilgi için şimdiden teşekkürler... ayrıca facede ismini arattım ama sonuç çıkmadı. eğer face kullanıyorsan oradanda iletişim kurarsan sevinirim. görüşmek dileğiyle...
    https://www.facebook.com/fatihkul1453

    YanıtlaSil
    Yanıtlar
    1. Merhabalar,
      Bu verdiğim kontrol yöntemiyle ufak eklemeler ile herşeyi yapabilirsiniz. Birden fazla ledi yakmak için birden fazla buton eklemelisiniz. Videoyu izlediğinizde benim sadece 2 buton (açma ve kapatma için) eklediğimi göreceksiniz. Siz dilerseniz istediğiniz led sayısı kadar buton ekleyebilirsiniz. Ve her eklediğiniz butona tıklandığında ne yapılmasını istiyorsanız o komutu yazmalısınız. Örnek vermek gerekirse:

      ledon1btn.setOnClickListener(new View.OnClickListener() {

      public void onClick(View v) {
      // TODO Auto-generated method stub
      try {
      outstream.write("3".getBytes());
      } catch (IOException e) {
      // TODO Auto-generated catch block

      }
      }
      });

      Bu kodu biraz anlatayım. Formumuza ledon1btn id' li bir buton ekledik. Bu 2. bir ledin yakması için kullanılsın. Sonrasında butona tıklandığında fonksiyonunu açtık ve try komutu içerisine outstream.write("3".getBytes()); komutunu yazdık. Bu komut bluetooth ile veri göndermenizi sağlar. Ben videoda önce bir fonksiyona göndermişim (adı ledon() fonksiyonu ) . Ancak burada direk fonksiyona göndermeden işlemi kod içerisine yazdım. outstream.write("3".getBytes()); bu kod sayesinde artık bluetooth üzerinde 3 sayısı gönderilmektedir. Eğer arduino kullanıyosanız, seri portu dinleyip gelen verinin ne olduğunu öğreniyosunuz. Eğer gelen veri 3 ise 2. ledinizi taktığınız portu HIGH yapıyosunuz. öRNEK ARDUİNO PROGRAMI:

      int led1=13;
      int led2=12;

      void setup() {
      // initialize the digital pin as an output.
      Serial.begin(9600);
      pinMode(led1, OUTPUT);
      digitalWrite(led1,LOW );
      pinMode(led2, OUTPUT);
      digitalWrite(led2,LOW );
      }

      void loop() {

      if(Serial.available()>0){

      int deger=Serial.read();

      switch (deger) {
      case 1:
      digitalWrite(led1,HIGH );
      break;
      case 2:
      digitalWrite(led1,LOW );
      break;
      case 3:
      digitalWrite(led2,HIGH );
      break;
      default:
      digitalWrite(led1,LOW );
      digitalWrite(led2,LOW );

      }
      }
      }

      Umarım anlaşılır olmuştur.

      Sil
  3. gökhan bey bir sorun var. vermiş olduğunuz arduino ve android kaynak kodlarını indirdim apk. dosyası haline çevirdim. telefona attım ancak bluettot bağlandı demesine rağmen sonuç alamıyorum. bunun sebebi neden olabilir. söylede bir durum oluştu indirdiğim projeyi eclipse import ettiğimde proje üstünde x işareti vardı. onu kaldırabilmek için proje üstünde properties > android > sekmesinde olan library kısmında bulunan appcompat v7.20 kırmızı x vardı. onu silip yerine appcompat v7 elimde olduğu için onu entegre ettim x işareti sonrasında düzeldi. ama sonuç olarak led yakma kısmı olmadı. sebebi eğer benim anlattığım sebep ise appcompat 7.20 olan dosyayı nasıl bulabilirim indirebilirim yok eğer ondan dolayı değilse de sorunun neden kaynaklandığını ve çözümünü anlatırsanız sevinirim... ayrıca diğer sorumun cevabı için teşekkürler ancak henüz deniyemediğim için onunla ilgii yorumumuda yazıcam inşaAllah... =)

    YanıtlaSil
    Yanıtlar
    1. İmport ettiğinizde oluşan appcompat V7... dosyası üzerine sağ tıklayıp Build etmeniz gerekir. Bu işlemi ya iki kere yapacaksınız yada bir kere yaptıktan sonra, proje sayfasının üst kısmındaki Project-Clean yollarını izleyeceksiniz.

      Sorununuzu daha iyi anlamak açısından soruyorum. Uygulamayı açtınız, sizden bluetoothu açmak için izin istedi. Eşleşen cihazlar ekranda gözüktü mü ? Yani telefonunuzla eşleştirdiğiniz ancak o anda aktif olan cihazlar ? Eğer ortamda aktif eşleştirilen cihazlar yoksa hiçbir bluetooth aygıtı gözükmeyecektir. Eğer varsa üzerine tıklayıp bağlantıyı kuruyosunuz ve çalışmaya başlıyor.

      Telefonunuzdan eşleşen cihazları Ayarlar-Bluetooth kısmından görebilirsiniz.

      Yorumunuz için teşekkürler :)

      Sil
  4. Soylediklerinizi daha oncede uyguladim ancak sonuc alamadim. Benim aklima da appcompat 7.2 geldi sizin videoda appcompatlarin hepsi gozukmekte. Ayriva import ettigim dosyanin import ettikten sonra ozelliklerine baktigimda orada appcompat 7.20 gibi bir sey gozukuyor ve bende olmadigi ocinde hata seklinde kirmizi x isareti var. (Proje ustune mause sag clik > properties> android> library > kisminda) benim aklima olmamasindan kaynaklanabilecegi geldi. O halde soyle sorayim sizin eclipcede gozuken appcompatlarin v7, v7,1, v7,2 v7,3 .....nasil ekleyebilirim projeme?

    YanıtlaSil
    Yanıtlar
    1. Her açtığınız proje için ayrı bir appcompat oluşmaktadır. Bu sebepten bende fazla gözükmektedir. Yani kodun çalışmaması ile ilgili bir durum değildir. Eğer projenizde bunun oluşmasını istemiyorsanız şu yöntemi uygulayacaksınız:
      Yeni bir proje açarken proje ismizi vs. girdikten sonra açılan kutucuktan "Create Activity" işretini kaldırın. Ancak bunu seçtiğiniz res-layout klasörü boş olacaktır. Dolayısıyla yeni bir layout oluşturmanız gerekecektir. Bu işlemide şu şekilde yapıyorsunuz: Package Explorer kısmından projenize sağ tıklayıp New-Other-Android Activity seçip açılan ekrandan Empty Activity - Next diyorsunuz. Tekrar açılan ekrandan Launcher Activity seçip Finish diyorsunuz. Böylece layout uda oluşturmuş oluyosunuz. Kısaca appcompat kütüphane hatası bu şekilde ortadan kalkıyor.

      Ancak projenizin çalışmama sebebi bu değil diye düşünüyorum. Bunu test etmek içinde şu yöntemleri izlemenizi tavsiyer ediyorum.
      1- Benim yazdığım kodu indirip projenize import edin (Bunu zaten yapmıştınız),
      2- Yeni bir proje açın,
      3- Benimkine benzer ve "araçların id leri aynı olacak şekilde" bir layout oluşturun (Yani Graphical layout ve activity_main.xml kısmını kullanacaksınız)
      4- import klasörleri dahil benim java kodumu kendi java kodunuza ilgili alanlara yapıştırın. Buna dikkat edin çünkü sizin class isminiz vs. farklı olacaktır. Parça parça kopylamanızda fayda var.
      5- Programı tekrar derleyip telefonunuza atın.

      Linkini verdiğim çalışmada indirdiğiniz kodun üzerinde oynama yaparak servo kontrolü yaptım. Bu videoyu izleyerek işlemlerinizi yapabilrsiniz.

      http://golmuhendis.blogspot.com.tr/2015/01/android-uygulama-gelistirme-dersleri_6.html

      Sil
  5. Ayrica resim olarak paylasabilmem icin faceden eklerseniz sevinirim. www.facebook.com/fatihkul1453/

    YanıtlaSil
  6. Gerçekten çok eğitici ve faydalı bir ders oldu benim için. Sizin gibi paylaşımcı mühendisler bulmak çok zor Gökhan bey. Emeğinize sağlık.

    YanıtlaSil
  7. Gökhan bey sizin uygulamayı eclipse import ettiğimde şöyle bir hata alıyorum.

    "C:\Android\workspace\bluetoothLedKontrol\res\values\styles.xml:7: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'."
    "C:\Android\workspace\bluetoothLedKontrol\res\values-v11\styles.xml:7: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'."
    "C:\Android\workspace\bluetoothLedKontrol\res\values-v14\styles.xml:8: error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'."

    Bu hatayı nasıl giderebilirim?

    YanıtlaSil
    Yanıtlar
    1. appCompat dosyası olmadığı için Osman Bey. Altta linkini verdiğim dropbox dosyalarını indirin. AppCompat dosasyınıda eclipse de import edin ve çalıştırın. O zaman hata ortadan kalkacaktır.

      https://www.dropbox.com/sh/mh8pwi2mp7kp6px/AADJhXK0t0mBxfQ4vBAN2RFEa?dl=0

      Sil
  8. Üstad uygulamayı eclips simületöründe çalıştırdığımda "Unfortunately bluetoothLedKontrol has stopped" şeklinde hata alıyorum. Uygulama hiç açılmıyor. Sizce sorun ne olabilir?

    YanıtlaSil