30 Ekim 2017 Pazartesi

Arduino ve Maker hareketi

Öncelikle Arduino nedir? Arduino’nun resmi sitesinden birebir alırsak Arduino: “Kullanımı son derece kolay olan donanım ve yazılımlardan kaynak alan açık kaynak kodlu bir platformdur. Amaç, toplumun her kesiminden insanın interaktif projeler geliştirebilmesidir.” Bana sorarsanız ise Arduino’yu şu şekilde tanımlayabilirim: “Bir LED’i yakıp söndürmekten kendi 3 boyutlu yazıcınızı, uzaktan kumandalı helikopterinizi hatta akıllı evinizi yaratmaya uzanan uzun ve karmaşık yoldaki en önemli yol göstericiniz.”
Arduino, basitçe üzerinde USB çıkışı, güç girişleri – çıkışları ve dijital – analog olmak üzere giriş ve çıkış pinleri bulunduran elektronik bir kart. Karta projenizin gerekliliklerine göre USB, adaptör veya pil ile güç sağlayabiliyorsunuz.
Farklı modelleri olan kartlardan en popüler, basit olanı ve ençok kullanılanı Uno modeli. Modelde 14 dijital, 6 tane analog pin bulunmakta. Analog ve dijitalden biraz bahsetmek gerekirse. En basitinden analog 0 ile 1024 arasında herhangi bir değeri alabilir. Örneğin analog pine bir ışık sensörü bağlarsanız tam karanlıkta size 0, tam aydınlıkta ise 1024 değerini verir. Bu aralıktaki her ışık şiddeti için size 0 ile 1024 arasındaki bir sayıyı verir. Dijitalde ise 0 ve 1 vardır. Yani durum ya vardır ya da yoktur. Bilgisayardaki yazılımdan USB kablo aracılığıyla Arduino’nun asıl beyni olan Atmega 328 çipine kodlanan bilgiler işte bu pinlerden gelen bilgileri okuyor ve yine gerekli pinleri açıp kapatarak projenizi çalıştırıyor.Sistemin yazılımı ise oldukça kolay, zaten yazılım işini çok da bilmenize gerek yok. Benim de yaptığım gibi hazır kütüpheler kullanarak ve onları modifiye ederek neredeyse tüm ihtiyaçlarınıza cevap bulabilirsiniz. Yine de bir örnekle yazılımın mantığını açıklamak istiyorum. Basit bir butona basınca led yansın devresinin yazılımı işte aşağıdaki gibi..



const int buttonPin = 2;   // Burada butonumuzu 2 numaralı pine bağladığımızı söylüyoruz

const int ledPin = 13;  //LED’ imizi ise 13 numaralı pine

void setup() {

pinMode(ledPin, OUTPUT); //led’ i bağladığımız pin çıkış pini olmalı

pinMode(buttonPin, INPUT); //butonu bağladığımız ise giriş, çünkü butonun durumunu okuyacağız.

}

void loop() {

if (buttonState == HIGH) { // eğer butona basılıyorsa (yanı buton HİGH ise)

digitalWrite(ledPin, HIGH);   // Led’ i yak (yani HİGH yap).

}

else {

digitalWrite(ledPin, LOW);   //geri kalan tüm durumlar için Led’ i söndür.

}

}



İşte bu gibi basit kalıplar kullanarak devreler kullanmak mümkün.

Arduino kendi sitesindeki learning bölümünde aslında bilmeniz gereken her şeyi adım adım anlatmış. Bunun yanısıra sitede güzel bir forum da var.

Hiç yorum yok:

Yorum Gönder