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
vebuttonPin
, 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:

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:
- İki Buton Kullanımı:
- Bir buton LED’i yakmak, diğeri söndürmek için kullanılabilir.
- 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.
- 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ı
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);
}
}
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.
Bu Gönderiye Yorum Yapılmamış