25 Mayıs 2015 Pazartesi

Kara Şimşek Geri Dönüyor

Merhabalar arkadaşlar 
bugün sizlerle arduino ile eskilerin bileceği kara şimşek'in önündeki ışıkları yapmaya çalışacağız. Biraz daha genç arkadaşları bunu Cem Yılmaz'ın zamanında opet reklamında oynadığı ve kullandığı arabanın önündeki ışık olarak da bilir.

Gerekli malzemeler
-Bir kaç adet kırmızı led (Ben 5 adet kullanacağım)
-Led sayısı kadar 330 ohm direnç
-Bread Board
-Arduino uno
-Jumper Kablolar

Bağlantı Şeması




















Kullanılacak Kodlar

void setup(){
   pinMode (13, OUTPUT);
   pinMode (12, OUTPUT);
   pinMode (11,OUTPUT);    // Burada pinleri çıkış yaptığımızı belirttik
   pinMode (10, OUTPUT);
   pinMode (9, OUTPUT);
}
void loop(){
   digitalWrite (9, HIGH);
   delay (50);
   digitalWrite (9, LOW);
   digitalWrite (10, HIGH);
   delay(50);
   digitalWrite (10, LOW);
   digitalWrite (11 , HIGH);
   delay(50);                                 // Burada ise aynı blinkte yaptığımız gibi sürekli voltaj
   digitalWrite (11, LOW);         // verip alarak sıra sıra yaktık
   digitalWrite (12, HIGH);
   delay(50);
   digitalWrite (12, LOW);
   digitalWrite (13, HIGH);
   delay(50);
   digitalWrite (13, LOW);
   digitalWrite (12, HIGH);
   delay(50);
   digitalWrite (12, LOW);
   digitalWrite (11, HIGH);
   delay(50);
   digitalWrite (11, LOW);
   digitalWrite (10, HIGH);
   delay(50);
   digitalWrite (10, LOW);    
   delay(50);              //Bu komuttan sonra program kenidi en başa alacaktır
}

  Tabi ki arkadaşlar bunun çok uzun olduğunun hepimiz farkındayızdır. Bundan kurtulmak için For döngüsünü kullanacağız bununla birlikte arduino üzerinde bir işlem tanımlamayı göreceğiz.
  For döngüsü öncelikle 3 bölümden oluşur

  1. Başlangıç İşlemi
  2. Her bir çevrim için gereken şart
  3. Güncelleme işlemi.
Örneğin 
for(baslangic islemi; devam şarti; guncelleme islemi)
{
  .........................
 Yapılacak işlemler
...........................
}

Şimdi programımıza geri dönelim ve bunu For ile yapalım


const int ledPini [] = {9,10,11,12,13}; // Bir dizi halinde ledlerin bacaklarını tanımladık

void setup () {

for(int i=0; i<5;i++) // burada i harfini 0 a eşit olarak tanımladık / i nin 5 den küçük olduğunu söyledik / ve sürekli devam etmesini istedik
{
 pinMode(ledPini [i], OUTPUT); // LED pinlerini çıkış olarak tanımladık
}
}
void loop() {
 for(int i=0; i<5; i++){
 digitalWrite(ledPini[i],HIGH);
 delay(10);
 digitalWrite(ledPini[i],LOW);
 }
 for(int a=4;a>-1; a--)
 {
 digitalWrite(ledPini[a],HIGH);
 delay(10);
 digitalWrite(ledPini[a], LOW);
 }
}

Bu kadar az kodlada işimizi görebildik umarım işinizi görmüştür buda 2. projemizdir hepinize iyi çalışmalar dilerim 

                         BlueTesla

Hiç yorum yok:

Yorum Gönder