10 Ocak 2014 Cuma

Arduino Kartına Bootloader Yükleme

Arduino ile çalışırken yaptığınız devre ya da program yüzünden karttaki chipde bulunan bootloader programı bozulabiliyor. Bu arıza meydana geldikten sonra bilgisayarınız kartı tanımaz driver yüklü olduğu halde yüklenmemiş gibi görünür.

Çözüm için ise bootloader'ı tekrar yüklememiz gerekiyor.

Bunun için AVR programlayıcıya sahip olmanız gerekiyor. Ben Pololu Usb AVR programlayıcı kullanıyorum.




Öncelikle programlayıcımızın sürücüsünü yüklüyoruz. Burada 2 tane COM port verecektir. Pololu USB AVR Programmer Programming Port olanı kullanıcaz. Port numarası farklı verebilir.


Daha sonra Arduino IDE mizin yüklü olduğu klasörden hardware\arduino\programmers.txt yolunu izleyerek programmers.txt dosyasını buluyoruz. Bu dosyayı notepad ile açarsanız yanyana yazılı çıkar o yüzden notepad++ indirerek ya da word ile açmanızı tavsiye ederim.

# See: http://code.google.com/p/arduino/wiki/Platforms

avrispv2.name=Pololu USB (AVRISPv2)
avrispv2.communication=serial
avrispv2.protocol=avrispv2

avrisp.name=AVR ISP
avrisp.communication=serial
avrisp.protocol=stk500v1

avrispmkii.name=AVRISP mkII
avrispmkii.communication=usb
avrispmkii.protocol=stk500v2

usbtinyisp.name=USBtinyISP
usbtinyisp.protocol=usbtiny

usbasp.name=USBasp
usbasp.communication=usb
usbasp.protocol=usbasp

parallel.name=Parallel Programmer
parallel.protocol=dapa
parallel.force=true
# parallel.delay=200

arduinoisp.name=Arduino as ISP
arduinoisp.communication=serial
arduinoisp.protocol=stk500v1
arduinoisp.speed=19200

dosyaya yukarıdaki kırmızı bölümü ekliyoruz.

Şimdi AVR programlayıcı ve Arduino Kartımızı USB bağlantısını yapıyoruz AVR kartın ISP çıkışını Arduino kartına bağlıyoruz (Yükleme sırasında hata alırsanız ISP bağlantısı ters olabilir tekrar kontrol edin!).

daha sonra IDEmizi açıyoruz (1.0.5 versiyonunu kullanıyorum daha yeni versiyonlarda hata veriyor.)
 Tools->Board menüsünden kartın modelini seçiyoruz.
 Tools->Programmer->Pololu USB (AVRISPv2) seçiyoruz
 Tools->Serial Port menüsünden yukarıda bahsettiğim seri portu seçiyoruz.

Menüden Tools->Burn Bootloader  tıklıyoruz.

Arduino Kartımız eski haline dönmüştür.


7 Ocak 2014 Salı

İlk Uygulama

Sizde herkes gibi standart led yakıp söndürme uygulaması ile başlayabilirsiniz.
Uygulamaya geçmeden önce bilmeniz gereken temel bilgiler:
  • Program içerisinde //açıklama … şeklinde yazılan bölümler kod değildir. Sadece bilgilendirme amaçlı yazılmış açıklamalardır. Aynı şekilde
/*
Açıklamalar
Açıklamalar
*/
biçiminde birden fazla satır halinde de yazılabilir.
  • Arduino da iki adet temel kod bulunur. Bunlar void setup() ve void loop() komutlarıdır her programda bulunmalıdır.
void setup()
{
Buraya sadece başlangıçta bir kere yapılacak işlemler yazılır.
}
void loop()
{
Buraya sırasıyla çalışacak ve bittiğinde tekrarlanacak işlemler yazılır.
}

Blink Uygulaması

Blink
Ben uygulamalarımda Arduino Leonardo kartı kullanıyorum. Giriş ve Çıkış sayıları her kartta aynı olmadığından siz kendi kartınıza göre düzenleyebilirsiniz.
Bunun için gerekli malzemelerimiz;
  • 1 adet Arduino Kartı
  • 1 adet Led
  • 1 adet 220  Ω direnç
  • 1 adet breadboard
  • 2 adet atlama kablosu
Öncelikle devremizi şekildeki gibi breadboard üzerine kuruyoruz.
IDE’miz aracılığıyla kodumuzu yazmaya başlıyoruz.

int ledPin = 13; // Ledimizi bağladığımız pini tanımlıyoruz.
void setup() 
{
// void setup içindeki kodlar program açıldığında bir kere çalışır.
// Ledin bağlı olduğu pini çıkış olarak tanımlıyoruz:
pinMode(ledPin, OUTPUT);
}
void loop()
{
// void loop içindeki kodlar program başladıktan sonra sürekli döngü şeklinde çalışır.
digitalWrite(ledPin, HIGH);  // Ledi açar
delay(1000);                         // 1sn bekler (1000 milisaniye)
digitalWrite(ledPin, LOW);  // Ledi kapatır
delay(1000);                        // 1sn bekler (1000 milisaniye)
}

4 Ocak 2014 Cumartesi

Arduino'ya Başlamak

Öncelikle blogumu takip edebilirArduino resmi web sitesi ya daArduino Türkiye sitesinden bilgi alarak başlayabilirsiniz. Arduino’ya başlarken benim için en etkileyici tarafı devre tasarlamak için vakit kaybetmemem ve diğer mikroişlemci programlama dillerine göre daha kolay kod yazabilmem olmuştur.
İncelemenizi yaptınız başlamaya karar verdiyseniz. Arduino sitesinden distribütörler sayfasında Arduino kartlarını satın alabileceğiniz firmaları bulabilirsiniz. Ben Robotistan sitesinden aldım Arduino kartımı hızlı gönderi ve ilgi alaka açısından tavsiye edebilirim.
Son olarak, heyecan ile kargonuzu beklerken örnekleri inceliyorsunuz, Arduino web sitesinden IDE (Entegre Geliştirme Ortamı) yani kod yazdığımız, karta yüklediğimiz elimiz ayağımız her şeyimiz olan programı indirip inceliyoruz. (Bu noktada önemli bir uyarı 1.5.5 Beta ya da Nightly sürümünü kullanın 1.0.5 versiyonunda TFT ekran ve LCD ekran uygulamalarında sorunlar yaşadım saç baş yolduruyor.. )
ve Elektrikport.com’da yayınlanan eğitim videosunu izledikten sonra Arduino ile yapacaklarınız sizin yaratıcılığınıza kalmış :)

2 Ocak 2014 Perşembe

Arduino Nedir?

Arduino açık donanım ve açık kaynak kodlu bir fiziksel programlama kartıdır.
Arduino donanımı temel olarak bir mikrodenetleyici ( Atmel AVR ) ile programlama ve diğer devre bağlantıları için gerekli yan elemanlardan oluşur.

Her kartta en azından 5 voltluk regüle entegresi ve bir 16 Mhz osilatör bulunur.
Mikrodenetleyiciye önceden yüklenen bootloader yazılımı sayesinde harici bir programlayıcıya ihtiyaç duymaz.
Arduino yazılımı Java programlama dilinde yazılmış olan IDE (kod editörü ve derleyicisi) sayesinde rahatlıkla geliştirilebilir ve karta yüklenebilir.
Arduino’dan beklentiler nelerdir?
  • Açık kaynak kodlu bir geliştirme platformudur.
  • Arduino kütüphaneleri sayesinde yazılım geliştirmek kolaydır. (bunu C yerine C# kullanmak olarak açıklayabiliriz.)
  • Analog ve Dijital giriş çıkışları sayesinde verileri işlemek kolaydır.
  • Sensörler yardımıyla birçok uygulama geliştirebilirsiniz.
Arduino’dan beklenmeyenler nelerdir?
  • Yazılım geliştirmek kolay demek mucizeler yaratacağı anlamına gelmez :)
  • Elektronik temel bilgisine sahip değilseniz önceliğiniz elektroniğe giriş yapmak olmalıdır..