Arduino

Arduino Kara Şimşek Uygulaması

Aykut AKMAN 8 ay önce Yorumlar (0) 4 Dakika Okuma
Arduino Kara Şimşek Uygulaması
E-Posta : 720 1

Arduino ile "Kara Şimşek" (Knight Rider) uygulaması, bir dizi LED'in sırasıyla yanıp sönerek sağa ve sola hareket etmesini sağlayan eğlenceli bir projedir. Bu uygulama, özellikle LED dizileri kontrol etme, döngü yapıları ve temel programlama becerilerinizi geliştirmek için harika bir projedir.

Gerekli Malzemeler

  • 1 x Arduino Uno (veya başka bir Arduino modeli)
  • 8 x LED
  • 8 x 220 Ohm direnç
  • 1 x Breadboard
  • Bağlantı kabloları

Devre Bağlantısı

arduino-ile-karaşimsek-uygulaması-devre-şeması

LED Bağlantıları

  • LED'lerin uzun bacakları (anot), Arduino'nun dijital pinlerine (örneğin, 2-9 pinleri) bağlanır.
  • LED'lerin kısa bacakları (katot), 220 Ohm direnç üzerinden GND'ye bağlanır.

GND Bağlantısı

  • Tüm dirençlerin diğer uçları breadboard üzerinden Arduino'nun GND pinine bağlanır.

Çalışan örneği görmek için tıklayınız.

Arduino Kodu

// LED pinlerinin tanımlanması
const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // 8 LED'in bağlı olduğu pinler
const int ledCount = 8; // LED sayısı

void setup() {
  // LED pinlerinin çıkış olarak ayarlanması
  for (int i = 0; i < ledCount; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  // LED'leri sırayla sağa doğru yakma
  for (int i = 0; i < ledCount; i++) {
    digitalWrite(ledPins[i], HIGH); // LED'i yak
    delay(100); // Kısa bir bekleme
    digitalWrite(ledPins[i], LOW); // LED'i söndür
  }
  
  // LED'leri sırayla sola doğru yakma
  for (int i = ledCount - 1; i >= 0; i--) {
    digitalWrite(ledPins[i], HIGH); // LED'i yak
    delay(100); // Kısa bir bekleme
    digitalWrite(ledPins[i], LOW); // LED'i söndür
  }
}

Kod Açıklamaları

const int ledPins[]

  • LED'lerin bağlı olduğu pinlerin numaraları bir dizi içinde tanımlanır. Bu dizide 2-9 pinleri kullanılmıştır.

for Döngüsü (setup kısmı)

  • Tüm LED pinleri, pinMode() fonksiyonu ile OUTPUT olarak ayarlanır.

Sağa ve Sola Hareket

  • İlk for döngüsü, LED'leri sırayla sağa doğru yakar ve her LED için kısa bir bekleme süresi (100 ms) uygular.İkinci for döngüsü, aynı işlemi sola doğru gerçekleştirir.

delay(100)

  • LED'ler arasında kısa bir bekleme süresi ayarlanır. Bu süre, ışık hareketinin hızını kontrol eder.

Projenin Çalışma Prensibi

  1. İlk for döngüsüyle LED'ler sırayla sağa doğru yanar ve söner.
  2. İkinci for döngüsüyle LED'ler sırayla sola doğru yanar ve söner.
  3. Bu döngü sürekli tekrar eder ve bir "Kara Şimşek" efekti oluşturur.

Proje Geliştirme İpuçları

Hız Kontrolü

delay() değerini değiştirerek LED'lerin yanma hızını artırabilir veya azaltabilirsiniz.

LED Sayısını Artırma

8 LED yerine daha fazla LED ekleyerek efektin daha uzun olmasını sağlayabilirsiniz.

Farklı Renkler

Farklı renklerde LED kullanarak projeye renkli bir görünüm ekleyebilirsiniz.

Bu proje, Arduino'nun dijital çıkışları ve döngü yapılarıyla çalışmayı öğrenmek için mükemmel bir başlangıçtır. Artık kendi "Kara Şimşek" simülasyonunuzu oluşturabilirsiniz!

Sıkça Sorulan Sorular

Arduino ile Kara Şimşek (Knight Rider) uygulaması, birden fazla LED'in belirli bir sıra ve hızda yanıp sönmesini sağlayarak popüler bir görsel efekt oluşturmayı amaçlar. Bu uygulama, dizi efektlerini simüle etmek için kullanılır.

Kara Şimşek uygulaması için şu malzemelere ihtiyaç vardır:

  • Arduino Uno (veya benzeri bir Arduino kartı)
  • 8 x LED
  • 8 x 220 Ohm direnç
  • Breadboard
  • Bağlantı kabloları
  • Her LED’in uzun bacağı (anodu) Arduino’nun dijital pinlerinden birine bağlanır, kısa bacağı (katodu) ise 220 Ohm direnç üzerinden GND’ye bağlanır. Arduino’ya güç sağlandığında LED’ler sıralı bir şekilde yanar ve söner.

    Temel bir Kara Şimşek kodu şu şekildedir:

    
    int leds[] = {2, 3, 4, 5, 6, 7, 8, 9}; // LED pinleri
    
    void setup() {
      for (int i = 0; i < 8; i++) {
        pinMode(leds[i], OUTPUT); // LED pinlerini çıkış olarak ayarla
      }
    }
    
    void loop() {
      for (int i = 0; i < 8; i++) {
        digitalWrite(leds[i], HIGH);
        delay(100);
        digitalWrite(leds[i], LOW);
      }
    
      for (int i = 6; i >= 0; i--) {
        digitalWrite(leds[i], HIGH);
        delay(100);
        digitalWrite(leds[i], LOW);
      }
    }

     Evet, LED sayısı artırılabilir. Ancak, Arduino'nun dijital pin sayısı sınırlı olduğundan, daha fazla LED kullanmak için ek bileşenler (örneğin, shift register) gerekebilir.

    LED yanma hızı, delay() fonksiyonundaki süreyi değiştirerek ayarlanabilir. Örneğin, delay(100) yerine delay(50) kullanarak LED’lerin daha hızlı yanıp sönmesini sağlayabilirsiniz.

    Farklı ışık efektleri oluşturmak için kod içindeki LED sıralaması, delay süreleri veya döngü mantığı değiştirilerek istenilen efektler elde edilebilir.

    Dijital pin sayısı yetersizse, bir "shift register" (örneğin, 74HC595) kullanarak daha fazla LED kontrol edebilirsiniz. Bu bileşen, Arduino’nun daha fazla cihazı kontrol etmesine olanak tanır.

    Bu uygulama, Arduino ile yeni başlayanlar için uygundur. Hem devre bağlantısı hem de temel programlama becerileri üzerinde pratik yapmayı sağlar.

    Evet, Tinkercad platformunda devreyi simüle ederek Kara Şimşek uygulamasını test edebilirsiniz. Tüm bileşenleri sanal ortamda bağlayıp kodları çalıştırabilirsiniz.

    Aykut AKMAN

    Aykut AKMAN

    Bilişim Öğretmeni

    Bu Gönderiye Yorum Yapılmamış

    Yorum Yap

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlendi.

    Diğer Yazılar