7 Temmuz 2016 Perşembe

REMOTEXY ile Telefon ve Tablet Ekranından Arduino LED kontrol

İlk uygulama olarak Android işletim sistemli akıllı telefonumuzun ekranındaki butona basılınca LED’i yakan basılmadığında söndüren basit bir uygulama yapacağız. Bu sayfanın sonunda projenin detaylı yapımına youtube videosu olarak erişebilirsiniz. 


Araç –Gereç  Adı
Tipi
Adedi
Açıklama
Temin etme adresleri
Arduino UNO kartı veya klonu
Donanım
1
Sistemin merkez kontrol ünitesidir. Arduino UNO kartının orjinali olduğu gibi daha uygun fiyatlı klonları da mevcuttur.
HC-04 (05-06-07) Bluetooth modülü
Donanım
1
Arduino ile Android sistem arası UART seri iletişim kurmak için gereklidir. 
Dupont kablo (Erkek-Dişi)
Donanım
4
Arduino ile çevresel birimler arasında kablolu bağlantı kurmak için gereklidir.
RemoteXY yazılımı yüklü Android Telefon / Tablet
Donanım
1
Android işletim sistemli ve bluetooth bağlantısı yapabilme özelliğine sahip olmalıdır. http://remotexy.com/en/download/ sitesinden indirilebilirsiniz à
İnternet bağlantılı PC / Laptop
Donanım
1
Yazılım geliştirme ve yükleme yapabilmek için gereklidir.

Arduino IDE
Yazılım
-
www.arduino.cc/download sitesinden indirilebilir. Kendi işletim sisteminize göre indirebilirsiniz.
RemoteXY kütüphanesi
Yazılım
-
http://remotexy.com/en/library/ sitesinden indirilebilirsiniz.

Tabloda adı ve adedi verilen yazılımsal ve donanımsal araç/gereç temin edildikten sonra grafiksel ara yüz tasarımı için aşağıdaki şekilde görüldüğü gibi web tarayıcınız ile http://remotexy.com/en/ adresine erişim sağlamanız gerekmektedir.
 Editör sayfasına giriş yapıldıktan sonra kontrol elemanlarından bir buton tasarım alanına sürükleyip bırakılır. Tasarım alanındaki buton’a yeterli genişletme uygulanır. Bunu yapabilmek için fare ile mavi karenin köşe noktasından tutup genişletmeyi ekran genişliğine kadar dilediğinizce yapabilirsiniz. Aşağıdaki şekilde bu durum görülmektedir.
Bu işlemlerin ardından tasarım tamamlanmış olup sırada kaynak kodun elde edilmesi var.  Mikrodenetleyicimiz için kaynak kodun elde edilmesinden önce hangi platform ile çalışacağımızı belirlememiz gerekmektedir. Bu çalışmada mikrodenetleyici platformu olarak Arduino UNO kartı seçilmiştir. Bunu belirledikten sonra bluetooth modülü ile Arduino UNO kartının donanımsal mı yoksa yazılımsal seri haberleşme mi kullanacağını belirlememiz gereklidir. Bu uygulamada yazılımsal seri haberleşme kullanılacaktır. Ayrıca RX (Reciever –Alıcı) ve TX (Transmitter-Verici) pinleri sırasıyla 2 ve 3 numaralardır. Bu ayarlar aşağıdaki şekilde görüldüğü gibi yapılmalıdır.
Yapılandırma ayarlarının yapılmasının ardından sırada Arduino UNO kartına yüklenecek kaynak kodların elde edilmesi var. Bunun için yukarıdaki şekilde 3 numara ile gösterilen “Get source code” butonuna tıklamanız yeterlidir.
 Aşağıdaki şekilde kaynak kodları elde etmek için gelen sayfada Arduino UNO kartına Arduino IDE yazılımı ile yüklenecek taslak (sketch) yer almaktadır. Taslak yazılımı indirmek için “Download Code” bağlantısına farenin sol tuşu ile tıklamak yeterli olur. İndirilecek “.zip” uzantılı dosyayı açtıktan sonra “project.ino” adlı taslak dosyasını çalıştırmanız yeterlidir. İndirilen taslak yazılımında tasarım alanında oluşturmuş olduğumuz yönetim ara yüzüne ait kodlar yer almaktadır. Bu kod üzerinde herhangi bir değişiklik yapmaya gerek yoktur.
Arduino IDE yazılımında kodun hatasız olarak derlenebilmesi için RemoteXY kütüphanesinin Arduino IDE kütüphanelerine eklenmesi gerekmektedir (Bk. Kısım 2.2 - Arduino IDE Kütüphanesi Yükleme).  RemoteXY kütüphanesini taslak indirme sayfasından da indirebilirsiniz. Bunun için “Download Code” bağlantısının hemen yanındaki “Download library” bağlantısına tıklamanız yeterlidir.

Kodun sorunsuz bir şekilde derlenmesi sonrasında bluetooth modülünün Arduino UNO kartına bağlanmasına sıra gelmiştir. Bluetooth modülüne ait 4 pin bulunmaktadır. Bu pinlerden 2 tanesi besleme (+5V ve GND) ve diğer 2 tanesi de (RX ve TX) haberleşme amaçlı kullanılmaktadır. Modülün beslemesi Arduino UNO kartı üzerinden yapılabilmektedir ve harici bir kaynağa ihtiyaç bulunmamaktadır. Bluetooth modülünün RX ve TX pinleri Arduino UNO kartı üzerindeki pinlerden sırasıyla 2 ve 3 numaralı olanlara bağlanmalıdır. Peki, bunu nereden biliyoruz? Yapılandırma ayarları sırasında yazılımsal seri haberleşme seçildiğinde bu pinler burada belirtilmişti. Bunu anlamanın bir diğer yolu ise taslak koduna bakmaktır. 
/* RemoteXY connection settings */ 
#define REMOTEXY_SERIAL_RX 2  
#define REMOTEXY_SERIAL_TX 3  
Yukarıdaki tanımlama bizlere Arduino UNO kartının RX olarak 2 ve TX olarak 3 numaralı pini kullanmamız gerektiğini belirtmektedir. Bu bilgiler doğrultusunda aşağıdaki şekilde verilen bağlantı yapılmalıdır. Bağlantı şeması aşağıdaki şekilde görüldüğü gibi yapılmalıdır. 
 

Bağlantı tamamlandıktan sonra taslak kod Arduino UNO kartına yüklenebilir. Yükleme yapmadan önce dikkat edilmesi gereken hususlardan bir tanesi Arduino UNO kartının 5V beslemesinden bluetooth kartına giden bağlantının ayrılması gerektiğidir. Bir diğer husus ise Arduino UNO kartının takılan bilgisayarda doğru COM port üzerinden haberleşme sağlamasıdır. Doğru COM port ayarı aşağıdaki şekilde yer alan 1 ve 2 numaralı adımlardaki işlemler sonrasında anlaşılabilir. Yani öncelikle Bilgisayarım simgesinin üzerine sağ tıklayıp “Yönet” seçilir. “Aygıt Yöneticisi” kısmından “Bağlantı Noktaları COM ve LPT” kısmına gelinir ve Arduino UNO kartının o bilgisayarda hangi COM portu kullandığı anlaşılır. Son adımda Arduino IDE üzerinden “Araçlar” menüsüne girilir ve Kart ile Port seçimleri kontrol edilir. Bunlar doğrulandıktan sonra taslak kod Arduino UNO kartına yüklenebilir.


Devrenin bağlantıları yapılıp gerekli kod yüklemeleri yapıldıktan sonra mobil cihaz için RemoteXY yazılımının kurulması gerekir (Bk. Kısım 2.1: Akıllı telefon ve tabletler için mobil uygulama).  
Mobil cihaz üzerinde uygulama çalıştırılır. Bluetooth bağlantısı açılır. Otomatik olarak bluetooth aygıtı araması başlar. Bulunan tüm aygıtlar listelenir.
Varsayılan modül olarak HC-04 (05/06/07) “LINVOR” veya “HC-04” (“HC-05”, HC-06”, “HC-07”) olarak tarama sonrası listede yer alabilir. Bu isim kullanılan bluetooth modülünün adıdır. Adı geçen listede çıkan ismin üzerine tıklanarak eşleşmesi için şifre girilmesi istenir. Burada varsayılan eşleşme şifresi “1234” olur. Bu şifre doğru bir şekilde girildikten sonra tasarlanan ara yüz ekranda görünecektir. Yani tasarım alanına konulan büyük bir buton karşınıza çıkacaktır. Eğer RemoteXY programının mobil uygulamalarından Free yani ücretsiz olanı kullanılıyorsa süre kısıtlaması ile karşı karşıya kalırsınız. Ancak tam sürümünde böyle bir kısıtlama yoktur. Butona tıklandığında Arduino UNO kartının üzerinde bütünleşik olarak gelen 13 numaralı dijital pine bağlı LED yanacak ve buton bırakıldığında sönecektir. Böylece basitçe çalışmış olacaktır.