Arduino’nun adını şu ana kadar duyduysanız muhtemelen ilginizi çekmiştir. Bu yazıda, elinize aldığınızdan itibaren nasıl bir başlangıç yapmanız gerektiğini inceliyoruz. Arduino, normalde yeni başlayan birinin oldukça yoğun bir öğrenme sürecinden sonra, bilen birinin de uzun zaman harcamasının olası olduğu birçok uygulamayı çok kısa sürede yapmaya olanak sağlayan, kullanımı ve kod yazımı oldukça basit olan ve kısa zamanda sonuca ulaşmak için oldukça ideal bir sistem. Atmel marka AVR serisi mikrodenetleyicileri kullanmakta. Yaygın olarak Atmega 168 ya da Atmega 328/P modellerine rastladığımız Arduino için, PIC modellerinde olduğu gibi dışarıdan bir programlayıcı gerekmiyor. Hatta bootloader denilen yazılımı sayesinde seri port üzerinden programlama işlemi yapılabiliyor. Bu terimler kafanızı karıştırmaya başladıysa sakın telaşlanmayın. Zira Arduino ile bunlarla uzun bir süre uğraşmaktan kurtulabilir, her birini yeri geldikçe oldukça basit bir şekilde anlayabilirsiniz.
Başlamak için ihtiyacımız olan şey tabii ki bir Arduino. Arduino, Türkiye’de de birçok yerde satılan Arduino’nun piyasada birçok modeli var. Şu anlık yine karmaşaya sebep olmaması açısından basit olan ve önerdiğim Arduino UNO modelinden bahsedeceğim. Ancak bilmenizi istediğim şey, Arduino’nun ARM işlemci barındıran bir modeli dahi piyasada var ve yazdığınız kodlar çok fazla değişikliğe uğramadan çalışabiliyor. Ayrıca daha önce görmüşseniz register, pc, osc gibi kavramlara da hiç bulaşmanız gerekmiyor.
Arduino UNO’yu Türkiye’den 50-60 TL civarına temin edebilirsiniz. Daha ucuz bir şey düşünüyorsanız Google’da Paperduino aramasını yaparak elle yapabileceğiniz bir modele ulaşabilirsiniz. Bunu düşünen arkadaşların bir Atmel programlayıcıya da ihtiyaç duyacaklarını belirteyim. Normalde Seri Port kullanılıyor fakat işlemciler boş olarak geldiği için bootloader işleminde Atmel programlayıcıya ihtiyaç oluyor. Farklı programlayıcılar mevcut olduğu için onların isimleriyle de kafa karıştırmak istemedim. Yazının devamında göreceğimiz Arduino menüsünden ya da ufak bir Google aramasından model isimleri ve fiyatları hakkında bilgi edinebilirsiniz. Son olarak, Arduino’nun yurtdışı fiyatlarıyla Türkiye fiyatları arasında çok büyük farklar olmadığını da belirteyim. Yani özel bir sebebiniz yoksa beklemenizi gerektirecek bir etken yok.
Bu paragraf yazının devamının anlaşılması için gerekli değildir. Arduino Bootloader’ı hafızada yer kaplayacağı için dert ediniyorsanız, 32 KB’lık flash hafızayla gelen Atmega328P’de 0.5 KB gibi ufak bir yer kapladığını söyleyeyim. Bu kadar kolaylık sağlayan bir sistem için oldukça az bir yer aslında. Ama yine de 32 KB’ye anca sığan bir projeniz varsa ve bu işlemciyi kullanmanız gerekiyorsa ona diyecek sözüm yok.
Son olarak, Arduino’nun açık kaynak olduğunu belirtelim. Açık kaynak donanım fikrinin gelişimini oldukça hızlandıran bir proje olan Arduino’nun devre şemalarına, bootloader dahil tamamının kaynak kodlarına ilgi alanınızdaysa Google üzerinden rahatça ulaşabilirsiniz. (2 Nisan 2015 Güncelleme: Arduino Yun’un kaynak paylaşımı ile ilgili sıkıntılar var. Bu yüzden şu an tüm Arduino modellerine açık kaynak ve özgür donanımlar diyemiyorum. İlgili forum başlığını buradan görüntüleyebilirsiniz.)
Şimdi konumuza dönelim. İlgilenen arkadaşlar için aldığımız Arduino UNO’nun özelliklerine bakacak olursak:
– 16 Mhz işlemci- 32 Kb flash bellek
– 6’sı pwm olarak kullanılabilen 14 giriş-çıkış pini
– 6 adet analog giriş
– 7-12 V arası gerilimle dışardan besleme imkanı. İşlemcinize direk elektrik vermeyi düşünüyorsanız sakın bu değerleri denemeyin!
– Windows sürücülerini nasıl kuracağımızı bu yazıda göreceğiz. Linux ve Mac için sürücü kurmak gerekmiyor.
– Oldukça kolay programlanma
1. Arduino Nasıl Bağlanır? Bilgisayara Nasıl Tanıtılır?
Yazının devamı için gerekli uygulamayı buradan indirebilirsiniz. Güncel sürüme direk ulaşabilmeniz için o link verildi. Bu yazının yazılma tarihindeki en güncel sürüm olan 1.0.3 sürümünü Windows için buraya tıklayarak direk indirebilirsiniz. Dosyayı indirdikten sonra arşivi masaüstüne açın. Bu işlemde sonra şu şekilde bir klasörünüz olacak:
arduino yazan programı çalıştırmak gerekiyor, herhangi bir kuruluma ihtiyaç yok.
Ubuntu, Linux Mint, Debian veya bu işletim sistemi tabanlı sistemlerin kullanıcıları:
Fedora ya da benzer işletim sistemi altıda yum paket yöneticisini kullananlar:
komutunu kullanarak ya da yazılım merkezinden Arduino aramasını yaparak otomatik kurulum yapabilirler. Ayrıca, Arduino.cc adresinde Linux için indirme linki de mevcut. Tamamen kullanıcı tercihine kalmış. (18 Şubat 2013 Tarihli Not: Linux Mint altında apt-get ile kurulum yaparsanız 1.0 sürümü yükleniyor, güncel sürüm olan 1.0.3’ü kullanmak isterseniz siteden indirmeniz gerekli.) Linux kullanıcıları uygulamayı çalıştırmak için program çalıştırma menüsünden(genelde ALT+F2 ya da programlar menüsü o da olmazsa komut satırı, arduino yazarak programı çalıştıraibilirler. Seri haberleşme yapacağımızdan Arduino’nun bilgisayarımıza bağlayacağımız USB’den seriye çevirici donanıma ulaşması gerekiyor(Çoğu Arduino kartında bu donanım zaten var, mesela UNO, Leonardo gibi modeller). Bu ulaşmanın gerçekleşmesi için programı konsoldan çalıştıranların sudo arduino şeklinde komut vermesi gerekli.
Şimdi Arduino’yu bilgisayara bağlama işleminin nasıl yapıldığına göz atalım. Arduino UNO için basit bir yazıcı kablosuyla, Leonardo için Micro USB kablosuyla doğrudan bilgisayarımızın USB portuna bağlıyoruz. Eğer Linux ya da Mac OS kullanıcısıysanız herhangi bir sürücü kurulumu gerekmiyor. Windows kullanıyorsanız sırasıyla:
Bilgisayarım(Sağ tık) -> Özellikler -> Aygıt Yöneticisi(Win XP’de Donanım sekmesinde, Win 7’de sol tarafta) -> Açılan Listeden Arduino UNO’ya çift tıklayın.Ardından:
Sürücüyü güncelleştir->Belirtilen konumu dahil et(isim değişik olabilir, son seçeneği seçiyoruz) -> Sihirbazın sıradaki ekranında C:\… şeklinde bir yer olacak. Gözat butonuna tıklayıp Arduino klasörü -> Drivers klasörünü seçip İleri’ye basıyoruz. Artık sürücülerimiz de yüklenmiş oluyor.
2. Arduino Programı Nasıl Kullanılır? Arduino’ya Nasıl Program Atılır?
Arduino’ya program atmak için ilk olarak bilgisayarımıza bağladığımız Arduino’yu ve bağlantı portunu Arduino program menüsünden seçmemiz gerekiyor. Bunun için sırayla şu adımları izleyebiliriz:
a) İlk olarak, programı açıp şu ekranı görüyoruz:
Hemen ardından, Tools menüsü altında Serial Port seçeneğine gelip bağladığımız portun yanında tik işareti yoksa tıklayıp işaretliyoruz. Genelde tek port gözükeceği için burda seçim hakkınız olmayacak. Birden çok seri port olduğu durumlarda Arduino’nuzu söküp takarak hangi port değişiyorsa onu seçmeniz gerektiğini anlayabilirsiniz.
b) İkinci aşama olarak, kullandığımız Arduino modelini tanıtıyoruz. Onun için de şu ekrandan elinizdeki Arduino modelini seçmeniz gerekiyor:
Bu seçenekler arasından da elimizdeki Arduino modelini seçtikten sonra, Arduino üzerinde bulunan örnek programlardan LED yakıp söndüren basit uygulamayı deneyebiliriz. Bu denemeyi yapabilmek için:
Bu ekranda Blink seçeneğine tıklıyoruz ve önceden yazılıp test edilmiş basit bir kod karşımıza geliyor. Şöyle bir ekran olmalı:
Bu ekranı da gördükten sonra, artık kodlarımız derlenmeye ve Arduino üzerinde çalıştırılmaya hazır demektir. Sadece derleyip, kodlarımızı Arduino’ya atmak istemiyorsak en soldaki tik işareti ile gösterilen Verify butonunu kullanabiliriz. Bu butona basıldığında kod derlenecek fakat Arduino’ya atılmayacaktır. Faydası ise kodta yazım vs. herhangi bir hata olduğu zaman derlenmeyi engelleyecek veya uyarıya sebep olacak hataların önceden görülmesidir. Kodumuzu derleyip Arduino’muza atmak içinse şöyle bir yol izleyebiliriz:
Parlak olan ve sağ ok resmi ile temsil edilen buton, Upload yani gönderme butonu. Bu botun kodumuzu derler ve Arduino’ya yükler. Yükleme bittiğinde şöyle bir yazı alt tarafta gözükür:
Bu işlemin ardından artık kodumuz çalışmaya hazırdır. 13 numaralı pine genelde Arduino modellerinde bir LED bağlıdır. Bağlı değilse de, 330 Ohmluk bir direnç ile bir LED’i, LED’in + ucu 13 numaralı pine, direncin – ucu ise GND yazan uca bağlanacak şekilde ayarlayabilirsiniz.
Elinizdeki Arduino üzerinde halihazırda 13 numaralı pine bağlı bir LED bulunduğunu varsayarak, şöyle de bir uygulama hazırladım. Bunun yaptığı, 13 numaralı pinin kontrolünde 4 tane LED’i aynı anda yakma ve söndürme işidir. Başlangıç için basit bir uygulama olmasını istediğim için daha fazla zorlaştırmadım. Devre şu şekilde:
Sorularınız varsa her daim buradan sorabilirsiniz, elimden geldiğince ve dilim döndüğünce bildiğim her şeyi anlatmaya çalışırım. Hepimize iyi çalışmalar.
Tavsiyeler:
Atmega328 ile Atmega328P arasındaki fark için:http://rajeshkovvuri.wordpress.com/2011/11/01/atmega328p-and-atmega328-what-is-the-difference/
Düşük güç tüketimli modeller hakkında Atmel resmi sayfası:http://www.atmel.com/technologies/lowpower/default.aspx
Başlamak için ihtiyacımız olan şey tabii ki bir Arduino. Arduino, Türkiye’de de birçok yerde satılan Arduino’nun piyasada birçok modeli var. Şu anlık yine karmaşaya sebep olmaması açısından basit olan ve önerdiğim Arduino UNO modelinden bahsedeceğim. Ancak bilmenizi istediğim şey, Arduino’nun ARM işlemci barındıran bir modeli dahi piyasada var ve yazdığınız kodlar çok fazla değişikliğe uğramadan çalışabiliyor. Ayrıca daha önce görmüşseniz register, pc, osc gibi kavramlara da hiç bulaşmanız gerekmiyor.
Arduino UNO’yu Türkiye’den 50-60 TL civarına temin edebilirsiniz. Daha ucuz bir şey düşünüyorsanız Google’da Paperduino aramasını yaparak elle yapabileceğiniz bir modele ulaşabilirsiniz. Bunu düşünen arkadaşların bir Atmel programlayıcıya da ihtiyaç duyacaklarını belirteyim. Normalde Seri Port kullanılıyor fakat işlemciler boş olarak geldiği için bootloader işleminde Atmel programlayıcıya ihtiyaç oluyor. Farklı programlayıcılar mevcut olduğu için onların isimleriyle de kafa karıştırmak istemedim. Yazının devamında göreceğimiz Arduino menüsünden ya da ufak bir Google aramasından model isimleri ve fiyatları hakkında bilgi edinebilirsiniz. Son olarak, Arduino’nun yurtdışı fiyatlarıyla Türkiye fiyatları arasında çok büyük farklar olmadığını da belirteyim. Yani özel bir sebebiniz yoksa beklemenizi gerektirecek bir etken yok.
Bu paragraf yazının devamının anlaşılması için gerekli değildir. Arduino Bootloader’ı hafızada yer kaplayacağı için dert ediniyorsanız, 32 KB’lık flash hafızayla gelen Atmega328P’de 0.5 KB gibi ufak bir yer kapladığını söyleyeyim. Bu kadar kolaylık sağlayan bir sistem için oldukça az bir yer aslında. Ama yine de 32 KB’ye anca sığan bir projeniz varsa ve bu işlemciyi kullanmanız gerekiyorsa ona diyecek sözüm yok.
Son olarak, Arduino’nun açık kaynak olduğunu belirtelim. Açık kaynak donanım fikrinin gelişimini oldukça hızlandıran bir proje olan Arduino’nun devre şemalarına, bootloader dahil tamamının kaynak kodlarına ilgi alanınızdaysa Google üzerinden rahatça ulaşabilirsiniz. (2 Nisan 2015 Güncelleme: Arduino Yun’un kaynak paylaşımı ile ilgili sıkıntılar var. Bu yüzden şu an tüm Arduino modellerine açık kaynak ve özgür donanımlar diyemiyorum. İlgili forum başlığını buradan görüntüleyebilirsiniz.)
Şimdi konumuza dönelim. İlgilenen arkadaşlar için aldığımız Arduino UNO’nun özelliklerine bakacak olursak:
– 16 Mhz işlemci- 32 Kb flash bellek
– 6’sı pwm olarak kullanılabilen 14 giriş-çıkış pini
– 6 adet analog giriş
– 7-12 V arası gerilimle dışardan besleme imkanı. İşlemcinize direk elektrik vermeyi düşünüyorsanız sakın bu değerleri denemeyin!
– Windows sürücülerini nasıl kuracağımızı bu yazıda göreceğiz. Linux ve Mac için sürücü kurmak gerekmiyor.
– Oldukça kolay programlanma
1. Arduino Nasıl Bağlanır? Bilgisayara Nasıl Tanıtılır?
Yazının devamı için gerekli uygulamayı buradan indirebilirsiniz. Güncel sürüme direk ulaşabilmeniz için o link verildi. Bu yazının yazılma tarihindeki en güncel sürüm olan 1.0.3 sürümünü Windows için buraya tıklayarak direk indirebilirsiniz. Dosyayı indirdikten sonra arşivi masaüstüne açın. Bu işlemde sonra şu şekilde bir klasörünüz olacak:
arduino yazan programı çalıştırmak gerekiyor, herhangi bir kuruluma ihtiyaç yok.
Ubuntu, Linux Mint, Debian veya bu işletim sistemi tabanlı sistemlerin kullanıcıları:
Shell
1
sudo apt-get install arduinoFedora ya da benzer işletim sistemi altıda yum paket yöneticisini kullananlar:
Shell
1
sudo yum install arduinokomutunu kullanarak ya da yazılım merkezinden Arduino aramasını yaparak otomatik kurulum yapabilirler. Ayrıca, Arduino.cc adresinde Linux için indirme linki de mevcut. Tamamen kullanıcı tercihine kalmış. (18 Şubat 2013 Tarihli Not: Linux Mint altında apt-get ile kurulum yaparsanız 1.0 sürümü yükleniyor, güncel sürüm olan 1.0.3’ü kullanmak isterseniz siteden indirmeniz gerekli.) Linux kullanıcıları uygulamayı çalıştırmak için program çalıştırma menüsünden(genelde ALT+F2 ya da programlar menüsü o da olmazsa komut satırı, arduino yazarak programı çalıştıraibilirler. Seri haberleşme yapacağımızdan Arduino’nun bilgisayarımıza bağlayacağımız USB’den seriye çevirici donanıma ulaşması gerekiyor(Çoğu Arduino kartında bu donanım zaten var, mesela UNO, Leonardo gibi modeller). Bu ulaşmanın gerçekleşmesi için programı konsoldan çalıştıranların sudo arduino şeklinde komut vermesi gerekli.
Şimdi Arduino’yu bilgisayara bağlama işleminin nasıl yapıldığına göz atalım. Arduino UNO için basit bir yazıcı kablosuyla, Leonardo için Micro USB kablosuyla doğrudan bilgisayarımızın USB portuna bağlıyoruz. Eğer Linux ya da Mac OS kullanıcısıysanız herhangi bir sürücü kurulumu gerekmiyor. Windows kullanıyorsanız sırasıyla:
Bilgisayarım(Sağ tık) -> Özellikler -> Aygıt Yöneticisi(Win XP’de Donanım sekmesinde, Win 7’de sol tarafta) -> Açılan Listeden Arduino UNO’ya çift tıklayın.Ardından:
Sürücüyü güncelleştir->Belirtilen konumu dahil et(isim değişik olabilir, son seçeneği seçiyoruz) -> Sihirbazın sıradaki ekranında C:\… şeklinde bir yer olacak. Gözat butonuna tıklayıp Arduino klasörü -> Drivers klasörünü seçip İleri’ye basıyoruz. Artık sürücülerimiz de yüklenmiş oluyor.
2. Arduino Programı Nasıl Kullanılır? Arduino’ya Nasıl Program Atılır?
Arduino’ya program atmak için ilk olarak bilgisayarımıza bağladığımız Arduino’yu ve bağlantı portunu Arduino program menüsünden seçmemiz gerekiyor. Bunun için sırayla şu adımları izleyebiliriz:
a) İlk olarak, programı açıp şu ekranı görüyoruz:
Hemen ardından, Tools menüsü altında Serial Port seçeneğine gelip bağladığımız portun yanında tik işareti yoksa tıklayıp işaretliyoruz. Genelde tek port gözükeceği için burda seçim hakkınız olmayacak. Birden çok seri port olduğu durumlarda Arduino’nuzu söküp takarak hangi port değişiyorsa onu seçmeniz gerektiğini anlayabilirsiniz.
b) İkinci aşama olarak, kullandığımız Arduino modelini tanıtıyoruz. Onun için de şu ekrandan elinizdeki Arduino modelini seçmeniz gerekiyor:
Bu seçenekler arasından da elimizdeki Arduino modelini seçtikten sonra, Arduino üzerinde bulunan örnek programlardan LED yakıp söndüren basit uygulamayı deneyebiliriz. Bu denemeyi yapabilmek için:
Bu ekranda Blink seçeneğine tıklıyoruz ve önceden yazılıp test edilmiş basit bir kod karşımıza geliyor. Şöyle bir ekran olmalı:
Bu ekranı da gördükten sonra, artık kodlarımız derlenmeye ve Arduino üzerinde çalıştırılmaya hazır demektir. Sadece derleyip, kodlarımızı Arduino’ya atmak istemiyorsak en soldaki tik işareti ile gösterilen Verify butonunu kullanabiliriz. Bu butona basıldığında kod derlenecek fakat Arduino’ya atılmayacaktır. Faydası ise kodta yazım vs. herhangi bir hata olduğu zaman derlenmeyi engelleyecek veya uyarıya sebep olacak hataların önceden görülmesidir. Kodumuzu derleyip Arduino’muza atmak içinse şöyle bir yol izleyebiliriz:
Parlak olan ve sağ ok resmi ile temsil edilen buton, Upload yani gönderme butonu. Bu botun kodumuzu derler ve Arduino’ya yükler. Yükleme bittiğinde şöyle bir yazı alt tarafta gözükür:
Bu işlemin ardından artık kodumuz çalışmaya hazırdır. 13 numaralı pine genelde Arduino modellerinde bir LED bağlıdır. Bağlı değilse de, 330 Ohmluk bir direnç ile bir LED’i, LED’in + ucu 13 numaralı pine, direncin – ucu ise GND yazan uca bağlanacak şekilde ayarlayabilirsiniz.
Elinizdeki Arduino üzerinde halihazırda 13 numaralı pine bağlı bir LED bulunduğunu varsayarak, şöyle de bir uygulama hazırladım. Bunun yaptığı, 13 numaralı pinin kontrolünde 4 tane LED’i aynı anda yakma ve söndürme işidir. Başlangıç için basit bir uygulama olmasını istediğim için daha fazla zorlaştırmadım. Devre şu şekilde:
Sorularınız varsa her daim buradan sorabilirsiniz, elimden geldiğince ve dilim döndüğünce bildiğim her şeyi anlatmaya çalışırım. Hepimize iyi çalışmalar.
Tavsiyeler:
Atmega328 ile Atmega328P arasındaki fark için:http://rajeshkovvuri.wordpress.com/2011/11/01/atmega328p-and-atmega328-what-is-the-difference/
Düşük güç tüketimli modeller hakkında Atmel resmi sayfası:http://www.atmel.com/technologies/lowpower/default.aspx