programlama

Arduino dersleri – 3

ArduinoUno_R3_Front

Merhaba arkadaşlar.. Geçtiğimiz Arduino dersleri – 2 konumuzda Arduinonun derinliklerine indik gerekli programları inceledik nasıl program yazıp Arduino içine atılacağından bahsetmiştik, ilk programımızı yazıp Ardiuno üzerinde çalıştırmıştık.. Gelin bu dersimizde ise programlamanın daha derinlerine giriş yapalım..

Arduino programlamada ki ana mantık ‘void setup’ ve ‘void loop’ isimli iki kısımdan, 1 ve 0 yani HIGH ve LOW komutlarından oluşuyor.. Bunlara değinmek gerekirse;

“void setup” kısmına yazdığımız komutlar, Arduino kartına güç verdiğimizde sadece bir kere çalışacak. Burada giriş ve çıkış pinlerini tanımlamak ve seri iletişimi açıp Arduino ile çalışan komutları bilgisayar ekranında görmek gibi işlemler yapabiliriz..

“void loop” kısmına ise yazdığımız komutlar tekrar ve tekrar başa sararak sonsuza kadar devam eder void loop kısmının bitmesi ya Arduino kartına verilen gücün kesilmesi ya da void loop kısmının sonuna while(1); yani sonsuz döngü anlamına gelen komutun yazılmasıyla gerçekleşir.. while(1); satırına gelirse alt komutu olmaya while satırını kendi içinde sonsuza kadar döndürür orada takılır kalır yani..

Her elektronik ve programlama aslında 1 ve 0 dan oluşur. 1, HIGH gücü seçilen pine aktar anlamındadır. 0, LOW gücü seçilen pinden kes anlamına gelir ve aldığınız elektrik gücünü bu şekilde kontrol edip hayal gücünüze bağlı olarak DC motorlara, sensörlere, led lambalarına akım verebilir, kartın ANALOG kısımlarına bağlanan sensörlerden bilgi alabilirsiniz ve sensörlerden aldığınız analog bilgiler doğrultusunda çalışmasını istediğiniz elektronik aletleri çalıştırabilirsiniz.. Aslında Arduino programlamanın genel mantığı bunlardan başka bir şey değildir. Bu komutlarla kullanacağınız çıkış ekipmanını seçip, sönsörlerle bağlantılı bir şekilde analog okumalar yapıp analog kısımdan gelen bilgiler doğrultusunda elektronik bir parçayı analog güç yani değişken akımlar ile çalıştırmanız bu kadar basittir ve bütün bunları nasıl kullanacağınız sizin hayal gücünüzle alakalı şeylerdir.

Bir önceki derste HIGH komutu yerine int komutuyla önceden analog olarak analogRead komutuyla A0, A1, A2.. gibi pinlere sensörlerden gelen bilgiler doğrultusunda elinize geçen akım bilgilerini analogWrite komutuyla bir elektronik cihaza PWM akımlar gönderip performansını sensöre göre ayarlayabilirsiniz.. Kabul ediyorum biraz karışık yazdım.. Bir sonraki dersim sensörlerden alınan analog verileri analogWrite ve analogRead komutlarıyla bir elektronik ekipmana analog tarzında PWM akımlar göndermek üzerine olacak..

Eğer biraz mekanik, fizik, kimya ve arduino bilginiz varsa basit bir basınç sensörüyle ve GPS kartıyla hedefe doğru giden bir amatör roket bile yapabilirsiniz.. =)

Ancak burada dikkat etmeniz gereken bir kaç şey var.. Bunlar; sensörler kartın üzerinde bulunan analog in kısımlarına bağlanmalı böylelikle sensörlerden aldığınız veriyi analog olarak okuyabilirsiniz.. Ancak bir elektronik aksama analog yani değişken güç vermek isterseniz bunları dijital çıkış pinlerinden yapmanız gerekir Arduino analog çıkış pini barındırmaz ancak PWM sistemiyle bunu taklit edebilir ve dijital çıkış pinlerinden analog çıkış verebilirsiniz tabi bunları her pin yapmıyor sadece 3, 5, 6, 9, 10, 11. dijital çıkış pinleri gerçekleştirebilir.. Bunu kesinlikle unutmayın..

Bütün bu bilgileri breadboard üzerinden isteğinize göre devreler kurup örnek olarak verdiğim basit programları ve sensörleri modifiye ederek daha gelişmiş projeler gerçekleştirebilirsiniz.. Ancak motor sürücüleri olmadan Arduino üzerinden herhangi bir motor çalıştırmayın bu hem devreye hem de bilgisayarınıza zarar verebilir. Şimdilik basit bir şekilde led ışıklar üzerinde çalışmalar yapın.

Bir sonra ki dersimizde programlamadaki sık kullanılan Arduino kodları, bu kodları tanımlama, örnek projeler ve tabi ki bunlardan önce motor ve sensör gibi ekipmanların bilgilerini tek tek verip her birini ayrı ayrı kullanarak küçük projelerle devam etmeyi düşünüyorum. Bütün sensörlerle projeler yapıp en sonunda video anlatımlarla quadcopter ve uzaktan kumanda sistemlerine giriş yapıcaz tabi bu arada C ve C++ dillerini öğrenmeyi ihmal etmeyin. Hoşçakalın..

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s