HIZLI VE GÜVENİLİR KARGO
1.750 TL üzeri ücretsiz kargo
HIZLI VE GÜVENİLİR KARGO
1.750 TL üzeri ücretsiz kargo
Işıkların Son Dansı: Yavaşça Sönen LED Devresi

Işıkların Son Dansı: Yavaşça Sönen LED Devresi

Işıkların Son Dansı: Yavaşça Sönen LED Devresi

Önceki projelerimizde ışığı anında açıp kapattık. Ancak bu projede, elektrik yükünün dansını izleyeceğiz. Bir düğmeye bastığınızda kondansatör şarj olacak, düğmeyi bıraktığınızda ise biriken bu enerjiyi yavaşça LED'e aktararak ışığın yumuşak bir şekilde sönmesini sağlayacak. Bu devre, elektronik ve programlamanın nasıl mükemmel bir uyum içinde çalıştığını gösteriyor.

Gerekli Malzemeler

  • Arduino Uno: Projemizin beyni.
  • 1 adet LED: Yavaşça sönecek ışık kaynağımız.
  • 1 adet 220Ω Direnç: LED'i korumak için.
  • 1 adet 10kΩ Direnç: Düğme için pull-down direnci.
  • 1 adet 100uF Kondansatör: Enerjiyi depolayıp yavaşça bırakacak olan bileşen. (Kondansatörün polaritesine dikkat edin: uzun bacak artı (+), kısa bacak eksi (-) kutuptur.)
  • 1 adet Düğme (Push Button): Devreyi başlatacak giriş elemanımız.
  • Breadboard: Devre elemanlarını birbirine bağlamak için.
  • Jumper Kablolar: Bağlantılar için gerekli.

Devre Kurulumu

Bu devrede kondansatör ve düğmeyi birlikte kullanarak LED'in davranışını kontrol edeceğiz.

  1. LED ve 220Ω Direnç Bağlantısı:LED'in uzun bacağını (anot) bir 220Ω dirençle birlikte Arduino'nun Pin 13'üne bağlayın.LED'in kısa bacağını (katot) Arduino'nun GND pinine bağlayın.
  2. LED'in uzun bacağını (anot) bir 220Ω dirençle birlikte Arduino'nun Pin 13'üne bağlayın.
  3. LED'in kısa bacağını (katot) Arduino'nun GND pinine bağlayın.
  4. Düğme ve 10kΩ Direnç Bağlantısı:Düğmenin bir bacağını Arduino'nun 5V pinine bağlayın.Düğmenin aynı taraftaki çapraz bacağını Arduino'nun Pin 2'sine bağlayın.Düğmenin diğer tarafındaki bacağı 10kΩ dirençle birlikte Arduino'nun GND pinine bağlayın.
  5. Düğmenin bir bacağını Arduino'nun 5V pinine bağlayın.
  6. Düğmenin aynı taraftaki çapraz bacağını Arduino'nun Pin 2'sine bağlayın.
  7. Düğmenin diğer tarafındaki bacağı 10kΩ dirençle birlikte Arduino'nun GND pinine bağlayın.
  8. Kondansatör Bağlantısı:Kondansatörün uzun bacağını (+ kutup) LED'in uzun bacağıyla aynı sıraya, yani 220Ω direncin bağlı olduğu noktaya bağlayın.Kondansatörün kısa bacağını (- kutup) LED'in kısa bacağıyla aynı sıraya, yani GND'ye bağlayın.
  9. Kondansatörün uzun bacağını (+ kutup) LED'in uzun bacağıyla aynı sıraya, yani 220Ω direncin bağlı olduğu noktaya bağlayın.
  10. Kondansatörün kısa bacağını (- kutup) LED'in kısa bacağıyla aynı sıraya, yani GND'ye bağlayın.

Kodlama Zamanı!

Bu projede kod, daha çok bir tetikleyici görevi görecek. Asıl sihir, kondansatörün fiziksel davranışı sayesinde gerçekleşecek. Arduino, sadece butona basılıp basılmadığını kontrol edecek.

C

// Değişkenleri tanımla
const int ledPin = 13;      // LED'in bağlı olduğu pin
const int buttonPin = 2;    // Butonun bağlı olduğu pin

// Butonun anlık durumunu tutacak değişken
int buttonState = 0;

void setup() {
  // LED pinini ÇIKIŞ olarak ayarla
  pinMode(ledPin, OUTPUT);
  
  // Buton pinini GİRİŞ olarak ayarla
  pinMode(buttonPin, INPUT);
}

void loop() {
  // Butonun durumunu oku
  buttonState = digitalRead(buttonPin);

  // Eğer butona basıldıysa (HIGH)...
  if (buttonState == HIGH) {
    // LED'i yak
    digitalWrite(ledPin, HIGH);
  } else {
    // Aksi halde (buton basılı değilse)
    // Devreyi olduğu gibi bırak.
    // LED'in sönmesi kondansatörün deşarjı ile sağlanacak.
    digitalWrite(ledPin, LOW);
  }
}

Kodu Anlayalım

  • const int ledPin = 13; ve const int buttonPin = 2;: LED ve düğme için pinleri tanımladık.
  • void setup(): Pinleri çıkış ve giriş olarak ayarladık.
  • void loop():digitalRead(buttonPin) ile düğmenin anlık durumunu okuyoruz.if (buttonState == HIGH) koşulu ile eğer butona basılıyorsa LED'in yanması için HIGH sinyali gönderiyoruz.else bloğunda ise LOW sinyali göndererek LED'in söndüğünü belirtiyoruz. Ancak asıl sönme olayı kondansatörün fiziksel deşarjı ile gerçekleşiyor.
  • digitalRead(buttonPin) ile düğmenin anlık durumunu okuyoruz.
  • if (buttonState == HIGH) koşulu ile eğer butona basılıyorsa LED'in yanması için HIGH sinyali gönderiyoruz.
  • else bloğunda ise LOW sinyali göndererek LED'in söndüğünü belirtiyoruz. Ancak asıl sönme olayı kondansatörün fiziksel deşarjı ile gerçekleşiyor.

Kodu Yükleme ve Deneme

  1. Arduino'nuzu bilgisayarınıza bağlayın ve doğru COM Port'u seçin.
  2. Kodu yükleyin.
  3. Kodu yükledikten sonra butona basılı tuttuğunuzda LED'in yandığını, düğmeyi bıraktığınızda ise LED'in anında sönmek yerine yavaşça parlaklığını kaybederek söndüğünü göreceksiniz. Bu etkiyi daha belirgin görmek için kondansatörün değerini (örneğin 1000uF) veya LED'e giden direnci değiştirebilirsiniz.

Tebrikler! Bu proje, elektronik ve yazılımın birbirini nasıl tamamladığını gösteren harika bir örnektir. Kondansatörün "elektrik enerjisini depolayıp yavaşça bırakma" gibi basit bir fiziksel özelliğini, kodunuzla birleştirerek bu ilginç efekti yarattınız. Artık daha karmaşık elektronik projelerine hazırsınız.