Arduino ile Denemeler - Ledler ile Çalışma

Arduino ile Denemeler - Ledler ile Çalışma 

Bugün sizlerle Arduino ile çalışmaya başlayacağız. Yakın zamanda kendime bir tane Arduino kit almıştım ve bununla tasarım dersimde ki projem için kullandım. Bunu kullanırken bir eğitimden ve Google'dan faydalandım ve öğrendiklerimi buraya aktarmaya karar verdim :). Bunları tabi tek bir yazıya ekleyerek değil de başlıklar halinde güzelce ekleyeceğim için ilk başta ledler ile çalışmamı buraya aktarayım istedim. Hadi başlayalım.

Arduino nedir? İlk başta buna bakalım.

Arduino, elektronik ile ilgili olan her insanın kolayca kullanabilmesi için geliştirilmiş açık kaynaklı bir mikrokontrolcü platformudur. Arduino kullanarak çeşitli sensörlerden gelen sinyalleri okuyabilir, ışık yakıp söndürebilir, motor çalıştırabilir; kısacası aklınıza gelebilecek tüm elektronik uygulamaları yapabilirsiniz. [1] 


Arduino bir G/Ç (I/O) kartı ve Processing/Wiring dilinin bir uygulamasını içeren geliştirme ortamından oluşan bir fiziksel programlama platformudur. Arduino tek başına çalışan interaktif nesneler geliştirmek için kullanılabileceği gibi bilgisayar üzerinde çalışan yazılımlara da (Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider gibi) bağlanabilir. Hazır üretilmiş kartlar satın alınabilir veya kendileri üretmek isteyenler için donanım tasarımı ile ilgili bilgiler mevcuttur. [2]


Bu iki yazıdan anlayabileceğiniz üzere Arduino aslında küçük bir bilgisayardır. Biz yapmak istediğimiz işlemleri bu küçük bilgisayar üzerine aktarırız ve çalışmasından faydalanabiliriz. Bilgisayara yüklemiş olduğumuz Arduino Programını kullanarak yaparız bu işlemi. Bu programın adı Arduino Sketch'tir bu arada. Bunu internetten indirebilirsiniz. Arduino satın aldıktan sonra eğitimlerle birlikte kendinizi geliştirebilirsiniz. Şimdi biz ledler ile deneme yapmaya başlayalım artık.


Tek LED Çalıştırma


İlk başta LED'i sadece açıp kapatmayı deneyeceğiz. Böylelikle bir yerden başlamış olalım.


void setup() {

  // put your setup code here, to run once:

pinMode(13,OUTPUT); //bunu yaparak hangi pini kullanacagimizi soyluyoruz.

}


void loop() {

  // put your main code here, to run repeatedly:

digitalWrite(13,HIGH);

delay(100);

digitalWrite(13,LOW);

delay(100);

}


Bu çalışmamızın videosunu atalım.

Sırayla Çalıştırma

Şimdi sırayla açıp kapatmayı deneyeceğiz alttaki kodumuz sayesinde.

void setup() {
  // put your setup code here, to run once:
pinMode(13,OUTPUT); //bunu yaparak hangi pini kullanacagimizi soyluyoruz.
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
digitalWrite(13,HIGH);
delay(100);
digitalWrite(12,HIGH);
delay(100);
digitalWrite(11,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
digitalWrite(12,LOW);
delay(100);
digitalWrite(11,LOW);
delay(100);
}

Bunun çıktısına bakalım şimdi..
Tabi biraz daha yavaşlatabiliriz biz bunu kodda delay kısımlarını oynayarak..
delay(1000); mesela..

SOS Mesajı

SOS mesajı verme ve değişkenleri kullanma
Mesaj > . . . _ _ _ . . . ile yapılıyor
                S.   O.    S.    
Bunu koda aktarmayı deneyeceğiz şimdi. Hadi bakalım..

int kirmiziLED=3; //burada pin girisini belirliyoruz.
float pi=3.14; //bu sadece float olayini tanitmak amacli
int nokta=250;
int cizgi=750;
int ara=2000;

void setup() {
  // put your setup code here, to run once:
pinMode(kirmiziLED,OUTPUT); //bunu yaparak hangi pini kullanacagimizi soyluyoruz.
}

void loop() {
  // put your main code here, to run repeatedly:
//nokta
digitalWrite(kirmiziLED,HIGH);
delay(nokta);
digitalWrite(kirmiziLED,LOW);
delay(nokta);
//nokta
digitalWrite(kirmiziLED,HIGH);
delay(nokta);
digitalWrite(kirmiziLED,LOW);
delay(nokta);
//nokta
digitalWrite(kirmiziLED,HIGH);
delay(nokta);
digitalWrite(kirmiziLED,LOW);
delay(nokta);

//cizgi
digitalWrite(kirmiziLED,HIGH);
delay(cizgi);
digitalWrite(kirmiziLED,LOW);
delay(cizgi);
//cizgi
digitalWrite(kirmiziLED,HIGH);
delay(cizgi);
digitalWrite(kirmiziLED,LOW);
delay(cizgi);
//cizgi
digitalWrite(kirmiziLED,HIGH);
delay(cizgi);
digitalWrite(kirmiziLED,LOW);
delay(cizgi);

//nokta
digitalWrite(kirmiziLED,HIGH);
delay(nokta);
digitalWrite(kirmiziLED,LOW);
delay(nokta);
//nokta
digitalWrite(kirmiziLED,HIGH);
delay(nokta);
digitalWrite(kirmiziLED,LOW);
delay(nokta);
//nokta
digitalWrite(kirmiziLED,HIGH);
delay(nokta);
digitalWrite(kirmiziLED,LOW);
delay(nokta);

//diger mesaja gec
delay(ara);
}

Şimdi çıktısına bakalım..

Parlaklık Ayarı

Analogwrite fonksiyonu ile ışığın parlaklığının ayarlayabiliyoruz. Hemen altta 3 görselle gösterelim bunu size

int redPin = 3;
int bright = 255; // bir tane de 50lik cektik foto
void setup() {
  // put your setup code here, to run once:
pinMode(redPin, OUTPUT);

}

void loop() {
  // put your main code here, to run repeatedly:
analogWrite(redPin, bright);
}
Görsellere geçelim efendim..

int bright = 50; // olması lazım bu da, denersiniz :)

Yazımız burada sonlanmaktadır. Siz de kendiniz LED ile daha farklı denemeler yaparsanız yorumda paylaşabilirsiniz veya link atabilirsiniz :) 

Kaynakça
[1] - https://maker.robotistan.com/kategori/arduino/
[2] - https://tr.wikipedia.org/wiki/Arduino

Yorumlar

Bu blogdaki popüler yayınlar

Python ile Turtle Kütüphanesiyle Çizim Denemesi 2

Girdimize en yakın palindrom değeri bulan program (Python3 ile)

Python ile Yazıyı Piramit Gibi Çizdirme