MIT: App Inventor

Artık elektroniğe biraz daha yönelmemden dolayı bazı şeylere ihtiyacım oldu. Bunlar arasında – özellikle kablosuz haberleşme için – mobil uygulamalar da yer alıyordu. Şuan sıfırdan bir Android uygulama yazma için bilgim olmadığı için hazır olarak uygulama oluşturmama yardımcı olacak araçlar arayışına girdim. MIT: App Inventor ile karşılaştım.

Önce, App Inventor hakkında internetteki yorumları okuyunca biraz şaşırdım ve çok basit olduğunu düşündüm. Çünkü o yorumlar arasında, “Çocuklar bile yapabilir. Sürükle-bırak ile istediğiniz uygulamayı yazabiliyorsunuz. Hiç kod bilginiz olmasına gerek yok.” gibi yorumlar görmüştüm. Bu aslında bende hem merak uyandırdı hem de uygulamadan uzaklaştırdı ama merakım daha ağır bastı ve araştırıp öğrenmeye karar verdim.

Yorumlarda bahsedildiği gibi sürükle bırak yöntemiyle uygulamanızı tasarlayıp programlıyorsunuz. Ama öyle hiç programlama bilmeden de yapılabilecek bir şey değil. En basitinden kod bloklarının ne işe yaradığını bilmeniz gerekiyor. Ama eğer programalama mantığına hakimseniz gerçekten de tek bir kod yazmadan sadece sürükle bırak ile uygulamanızı oluşturuyorsunuz.

Ben şuan için başlangıç seviyesinde sayılırım, kendimi geliştiriyorum. Çok yakın zamanda oluşturacağım uygulama ile telefonum ile yaptığımız arabayı kontrol etmeyi planlıyorum. Uygulamayı yaptıktan sonra buradan paylaşacağım.

Şuan Bluetooth ile ilk kontrolümü gerçekleştirdim. Uygulamaya aşağıdaki linkten ulaşabilirsiniz. Uygulamayı HC-06 modülü ile birlikte kullanıyorum. Uygulama içerisinden modüle bağlanıp led yakıp söndürüyorsunuz. Oldukça basit, başlangıç seviyesi bir uygulama ama oldukça kullanışlı olduğunu söyleyebilirim. Bunu yakın zaman içerisinde geliştireceğim.

App Inventor – Bluetooth ile Led Yakma

Arduino L298N Motor Sürücü Entegresi Kullanımı

Daha önceki yazılarımda bir araba projem olduğundan bahsetmiştim. Bu yazımda ise araba projemde kullandığım motor sürücü entegresinin nasıl kullanılacağını anlatacağım. Bunu anlatma sebebim tamamen Türkçe kaynak eksikliğinden kaynaklanıyor. Ben kullanmak için uzun süre uğraştım ve sonunda entegreyi çözmeyi başardım.

İlk olarak entegreden biraz bahsetmek istiyorum. Motor sürücü entegreleri, çeşitli bağlantılarını gerçekleştirerek motorunuzu kodlar yardımıyla kontrol etmenize yarayan entegrelerdir. Ben ilk olarak L293D modelini denedim ama ondan istediğim verimi alamadım o yüzden L298N modeli ile yoluma devam ediyorum. İçerisinde çift H köprüsü barındıran bu model ile aynı anda 2 motoru kontrol edebiliyorsunuz ve bu size çok avantaj sağlıyor.

Entegremiz 8 uzun ve 7 kısa olmak üzere 15 bacaktan oluşuyor. İnternet üzerinde bulduğum çok güzel bir resim ile anlatımıma devam edeceğim.

Arduino L298N Entegre Datasheet

Kaynak: http://electronics.stackexchange.com/questions/5043/l298-motor-driver-spinning-motor-only-one-way

Yukarıda yazan bacakların açıklamasını yapıyorum.

  • Current Sensing: Tam olarak çözemesem de sanırım Enable bacaklarını nötr hale getirmek için toprak hattına bağlamamız gerekiyor.
  • Output: Motorumuzdan gelen kabloları bağlayacağımız bağlantı noktası.
  • Input: Arduino’muzdan çıkan digital pinlerimizin bağlantı noktası.
  • Enable: PWM sinyali alabileceğimiz bir pine bağlanarak motorun hız kontrolünü yapacağımız bağlantı noktası.
  • Logic Supply Voltage: Arduino’muzdan gelen 5v.
  • GND: Toprak Hattı (Ground)
  • Supply Voltage: Besleme Voltajımız, dışardan yapacağımız destek.

Bağlantılarımızı yaparken resimdeki uzun olan bacaklar, entegremizdeki kısa bacakları, resimdeki kısa bacaklar ise entegremizdeki uzun bacakları temsil ediyor. Bunu akılda tutmak zor olur derseniz entegredeki ve resimdeki uzun bacak sayılarını sayarak farkı o şekilde akılda tutabilirsiniz.

Evet. Resimde bağlantıları çok güzel anlatmış ancak ben de anlatmak istiyorum. Current Sensing bacaklarımızı direk olarak toprak hattımızı çektiğimiz noktaya yani GND hattımıza takıyoruz. Output noktalarımıza ise motorumuzun bacaklarını yerleştiriyoruz. Arduino’muzun herhangi bir Digital Pin‘inden gelen kablomuzu ise Input bacaklarının olduğu yere takıyoruz. Ardından Enable bacaklarından çıkarttığımız kabloyu Arduino’muzun PWM sinyali veren pinlerinden birisine bağlayarak motorumuzun hız kontrolünü gerçekleştireceğiz. Logic Supply Voltage‘ı da aynı şekilde + hattına takabilirsiniz. Bildiğiniz gibi zaten GND kablomuz toprak hattına takılmak zorunda ve ardında dışardan (örneğin 9v bir pil ile) yapacağımız beslememizi ise Supply Voltage kısmına takıyoruz, pilin artı ucu Supply Voltage’ı takılacağı için eksi ucunu da breadboard üzerindeki GND noktasına takabilirsiniz.

Entegremizin bağlantısı bu şekilde. Kodlaması ise oldukça basit.

https://gist.github.com/1dee1e0e92f55350349b3208a89a2ac7

Eğer loop kısmında 4. pini LOW, 3. pini HIGH yaparsanız bu sefer motor tam tersi yönde dönecektir.

Entegremizin kullanımı bu şekilde, umarım faydalı bir yazı olmuştur. İleriki günlerde bu entegrenin PIC ile nasıl kullanılacağını, nasıl programlanacağını anlatan bir yazı yazmayı da planlıyorum.

Arduino ile ilgili daha yazılacak çok yazı var ama ben sadece Türkçe kaynak sıkıntı olan yazıları yazmaya çalışacağım. Eğer sizinde sorunlarınızı olursa ve ya Türkçe kaynak sıkıntısı çektiğiniz bir kullanım olursa yorum olarak belirtin, o eksiği tamamlamaya çalışacağım.

Arduino ve Android ile Bluetooth’lu araç kontrolü yazımı okuyabilirsiniz.