Arduino

Arduino ile Buton Kullanarak LED Yakma

Aykut AKMAN 8 ay önce Yorumlar (0) 4 Dakika Okuma
Arduino ile Buton Kullanarak LED Yakma
E-Posta : 1.5k 2

Arduino projelerine başlarken buton ve LED kullanımı, temel elektronik ve programlama bilgilerinizi geliştirmenin harika bir yoludur. Bu yazıda, bir butona basıldığında bir LED’in nasıl yakılacağını ve butondan çekildiğinde LED’in nasıl söndürüleceğini adım adım öğreneceksiniz.

Gerekli Malzemeler

  • 1 x Arduino Uno (veya benzeri bir Arduino kartı)
  • 1 x LED (Kırmızı önerilir, ancak herhangi bir renk olabilir)
  • 1 x 220 Ohm Direnç (LED için akım sınırlaması)
  • 1 x Buton
  • 1 x 10K Ohm Direnç (Buton için pull-down direnci)
  • Breadboard
  • Bağlantı Kabloları

Devre Bağlantısı

LED Bağlantısı

  • LED’in uzun bacağını (anod), Arduino’nun 13 numaralı pinine bağlayın.
  • Kısa bacağını (katod), 220 Ohm direnç üzerinden GND’ye bağlayın.

Buton Bağlantısı

  • Butonun bir ucunu Arduino’nun 2 numaralı pinine bağlayın.
  • Diğer ucunu GND’ye bağlayın.
  • Butonun Arduino pinine bağlanan ucunu ayrıca bir 10K Ohm direnç üzerinden GND’ye bağlayarak pull-down bağlantısını oluşturun.

Arduino Kodu

Aşağıdaki kod, butona basıldığında LED’in yanmasını, butondan elinizi çektiğinizde ise LED’in sönmesini sağlar.

// LED ve Buton Pinleri
int ledPin = 13;   // LED bağlı olduğu pin
int buttonPin = 2; // Buton bağlı olduğu pin
int buttonState = 0; // Butonun durumu

void setup() {
  pinMode(ledPin, OUTPUT); // LED pini çıkış olarak ayarlanır
  pinMode(buttonPin, INPUT); // Buton pini giriş olarak ayarlanır
}

void loop() {
  buttonState = digitalRead(buttonPin); // Butonun durumu okunur

  if (buttonState == HIGH) { // Eğer butona basılmışsa
    digitalWrite(ledPin, HIGH); // LED yanar
  } else {
    digitalWrite(ledPin, LOW); // LED söner
  }
}

Kodun Açıklaması

Pin Tanımları

  • ledPin ve buttonPin, LED ve butonun bağlı olduğu pinleri temsil eder.

Setup Fonksiyonu

  • pinMode(ledPin, OUTPUT) ile LED pini çıkış olarak ayarlandı.
  • pinMode(buttonPin, INPUT) ile buton pini giriş olarak ayarlandı.

Loop Fonksiyonu

  • digitalRead(buttonPin) ile butonun durumu okunur.
  • Eğer butona basılmışsa (HIGH), LED yanar (digitalWrite(ledPin, HIGH)).
  • Butondan el çekildiğinde (LOW), LED söner (digitalWrite(ledPin, LOW)).

Devre Şeması

Aşağıda devrenin Tinkercad veya fiziksel bir breadboard üzerinde nasıl bağlanacağını gösteren şemayı inceleyebilirsiniz:

arduino-buton-ile-led-yakma-devre-şeması

Devrenin çalışan halini görüntülemek için tıklayınız.

Projenizi Geliştirin

Bu temel projeyi geliştirmek için aşağıdaki önerileri deneyebilirsiniz:

  1. İki Buton Kullanımı:
    • Bir buton LED’i yakmak, diğeri söndürmek için kullanılabilir.
  2. Butona Uzun Süre Basıldığında LED’i Yakma:
    • Butona belirli bir süre basılı tutulduğunda LED’i yakacak bir kod yazabilirsiniz.
  3. LED’in Yanma Süresini Değiştirme:
    • Butona basıldığında LED’in belirli bir süre yanıp otomatik olarak sönmesini sağlayabilirsiniz.

Bu basit proje sayesinde hem butonların hem de LED’lerin Arduino ile nasıl çalıştığını öğrenmiş oldunuz. Arduino dünyasında daha karmaşık projelere başlamadan önce bu gibi temel projelerle pratik yaparak bilgilerinizi pekiştirebilirsiniz.

Sıkça Sorulan Sorular

  • 1 x Arduino Uno veya benzeri bir Arduino kartı
  • 1 x LED
  • 1 x 220 Ohm direnç
  • 1 x Buton
  • 1 x 10k Ohm direnç
  • Breadboard
  • Bağlantı kabloları

  • LED'in uzun bacağını (anot), Arduino'nun bir dijital pinine bağlayın.
  • Kısa bacağını (katot), 220 Ohm direnç üzerinden GND'ye bağlayın.
  • Butonun bir ucunu Arduino'nun dijital pinine, diğer ucunu GND'ye bağlayın.
  • 5V bağlantısını butonun üst kısmına bağlayarak devreyi tamamlayın.
  • 
    int ledPin = 13;
    int buttonPin = 2;
    int buttonState = 0;
    
    void setup() {
        pinMode(ledPin, OUTPUT);
        pinMode(buttonPin, INPUT);
    }
    
    void loop() {
        buttonState = digitalRead(buttonPin);
        if (buttonState == HIGH) {
            digitalWrite(ledPin, HIGH);
        } else {
            digitalWrite(ledPin, LOW);
        }
    }

  • Tinkercad'e giriş yapın ve yeni bir devre projesi oluşturun.
  • Arduino, LED, buton, direnç ve bağlantı kablolarını yerleştirin.
  • Devreyi bağlayın ve yukarıdaki kodu simülasyon bölümüne yapıştırarak çalıştırın.
  • Buton bağlantıları doğru yapılmış mı kontrol edin.
  • Kodda kullanılan pin numaralarının devredeki pinlerle eşleştiğinden emin olun.
  • LED’in kutuplarını (anod ve katod) ters bağlamadığınızdan emin olun.
  • Arduino'nun yeterli güç aldığını kontrol edin.
  • Evet, INPUT_PULLUP modunda buton, dahili bir dirençle çalışır. Bu sayede harici bir direnç kullanmanıza gerek kalmaz. Kod örneği:

    pinMode(buttonPin, INPUT_PULLUP);

    Evet, delay() fonksiyonunu kullanarak yanıp sönme efekti ekleyebilirsiniz:

    if (buttonState == HIGH) {
        digitalWrite(ledPin, HIGH);
        delay(500);
        digitalWrite(ledPin, LOW);
        delay(500);
    }

    Birden fazla LED’i kontrol etmek için birden fazla dijital pin kullanabilirsiniz:

    int leds[] = {13, 12, 11};
    for (int i = 0; i < 3; i++) {
        pinMode(leds[i], OUTPUT);
        digitalWrite(leds[i], buttonState);
    }

    Evet, motorlar, röleler veya başka aktuatörler de kontrol edilebilir. Bunun için uygun devre elemanlarını ve sürücüleri kullanmanız gerekir.

    Bu proje, temel devre bağlantıları, dijital giriş-çıkış işlemleri ve if-else gibi temel programlama yapılarını öğrenmek için mükemmel bir başlangıçtır.

    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