Arduino ile LED Yakma: Devre Şeması, Kod ve Adım Adım Anlatım
- Ersin Koşar
- Arduino
- 18 May, 2026
Arduino ile LED yakma, robotik kodlama ve elektronik öğrenmeye başlayanların yaptığı ilk uygulamalardan biridir. Bu küçük proje, yalnızca bir LED’i açıp kapatmaktan ibaret değildir; aynı zamanda dijital çıkış, direnç kullanımı, breadboard bağlantısı, temel devre mantığı ve Arduino program yapısı gibi birçok temel kavramı aynı anda öğretir. Bu yüzden LED yakma çalışması, daha sonra yapılacak sensör, motor, robot ve IoT projelerinin başlangıç basamağı olarak görülmelidir.
Arduino’nun resmi başlangıç dokümanlarında da dijital pinlerin LOW/HIGH mantığıyla çalıştığı, bu pinlerin anahtar okuma veya LED açma-kapama gibi işlemlerde kullanıldığı belirtilir.1 Benzer şekilde resmi Blink örneği, Arduino kart üzerindeki dahili LED’in veya harici bir LED’in belirli aralıklarla yanıp sönmesini sağlayan temel program yapısını gösterir.2 Bu yazıda aynı mantığı Türkçe ve uygulamaya dönük bir şekilde ele alacağız.
Bu Projede Ne Öğreneceğiz?
Bu rehberin amacı, Arduino’ya yeni başlayan bir öğrencinin veya maker adayının yalnızca kodu kopyalamasını değil, bağlantıların ve komutların neden gerekli olduğunu anlamasını sağlamaktır. LED yakma projesinde Arduino’nun bir dijital pini çıkış olarak ayarlanır, bu pin üzerinden LED’e akım gönderilir ve LED’in güvenli çalışması için seri direnç kullanılır. Daha sonra kod tarafında pinMode(), digitalWrite() ve delay() komutlarıyla LED’in davranışı kontrol edilir.
| Öğrenilecek konu | Bu projedeki karşılığı |
|---|---|
| Dijital çıkış | Arduino pininden HIGH veya LOW sinyali gönderme |
| Devre tamamlama | LED, direnç ve GND hattıyla kapalı devre oluşturma |
| Direnç kullanımı | LED üzerinden geçen akımı sınırlama |
| Program akışı | setup() ve loop() fonksiyonlarının görevini anlama |
| Zamanlama | delay() komutuyla bekleme süresi oluşturma |
Bu konular basit görünse de robotik kodlama öğrenirken sık sık karşınıza çıkar. Örneğin bir motor sürücünün yön pinini kontrol etmek, bir röleyi açıp kapatmak veya bir buzzer’ı çalıştırmak da temelde dijital çıkış mantığına dayanır.
Gerekli Malzemeler
Arduino ile LED yakma için çok az malzeme yeterlidir. Yeni başlayanlar için en rahat kart genellikle Arduino Uno veya Uno uyumlu bir geliştirme kartıdır. Ancak aynı uygulama Arduino Nano, Arduino Mega veya benzer Arduino uyumlu kartlarda da yapılabilir. Pin numaraları farklı olabileceği için kendi kartınızın pin düzenini kontrol etmeniz gerekir.
| Malzeme | Adet | Açıklama |
|---|---|---|
| Arduino Uno veya uyumlu kart | 1 | Kodu çalıştıracak mikrodenetleyici kart |
| LED | 1 | Kırmızı, yeşil, sarı veya mavi olabilir |
| 220 ohm veya 330 ohm direnç | 1 | LED’i korumak için seri bağlanır |
| Breadboard | 1 | Lehim yapmadan devre kurmak için kullanılır |
| Jumper kablo | 2-3 | Arduino ile breadboard bağlantısı için kullanılır |
| USB kablo | 1 | Arduino’yu bilgisayara bağlamak ve kod yüklemek için kullanılır |
Burada özellikle direnç kullanımına dikkat etmek gerekir. LED doğrudan Arduino pinine bağlanırsa üzerinden gereğinden fazla akım geçebilir. Bu durum LED’in zarar görmesine veya Arduino pininin gereksiz yük altında kalmasına neden olabilir. Bu yüzden LED ile seri bağlı bir direnç kullanmak iyi bir uygulamadır.
LED’in Artı ve Eksi Bacağını Tanıma
LED, kutuplu bir elektronik elemandır. Yani her iki yönde aynı şekilde bağlanmaz. LED’in uzun bacağı genellikle anot olarak adlandırılır ve artı tarafa bağlanır. Kısa bacağı ise katot olarak adlandırılır ve eksi veya GND tarafına bağlanır. LED gövdesinin düz kenarı da çoğu zaman katot tarafını gösterir.
LED yanmıyorsa ilk kontrol edilmesi gereken noktalardan biri LED yönüdür. LED ters bağlandığında genellikle yanmaz; bu durumda bacakların yerini değiştirip devreyi tekrar deneyebilirsiniz.
Bu projede Arduino’nun 13 numaralı dijital pininden LED’in anot tarafına sinyal göndereceğiz. LED’in katot tarafı ise direnç üzerinden GND hattına bağlanacak. Direnç LED’in artı tarafında da eksi tarafında da seri bağlı olabilir; önemli olan LED ile aynı akım yolunda yer almasıdır.
Devre Bağlantısı Nasıl Yapılır?
Harici LED kullanarak devre kurmak için aşağıdaki bağlantıyı yapabilirsiniz. Bu anlatımda Arduino Uno üzerinde D13 pini kullanılmıştır. D13 pini aynı zamanda birçok Arduino kartında dahili LED ile ilişkilidir; bu nedenle Blink örneklerinde sık tercih edilir.2
| Arduino bağlantısı | Devredeki karşılığı |
|---|---|
| D13 | LED’in uzun bacağına, yani anot tarafına gider |
| LED kısa bacağı | Dirence bağlanır |
| Direncin diğer ucu | Arduino GND pinine bağlanır |
| USB bağlantısı | Arduino’ya güç verir ve kod yüklemeyi sağlar |
Bağlantıyı kurarken Arduino’nun USB kablosunu bilgisayardan çıkarabilirsiniz. Devreyi tamamladıktan sonra USB kablosunu takmak daha güvenlidir. LED’in bacakları breadboard üzerinde aynı satıra yanlışlıkla kısa devre olacak şekilde takılmamalıdır. Breadboard’un orta kanalını kullanarak LED’in iki bacağını farklı satırlara yerleştirmek yeni başlayanlar için daha anlaşılır olur.
Arduino Blink Kodu
Aşağıdaki kod, LED’i bir saniye yakar ve bir saniye söndürür. Bu döngü Arduino çalıştığı sürece devam eder. Kodda LED_PIN adında bir sabit tanımladık. Böylece ileride LED’i başka pine taşımak isterseniz yalnızca bu satırı değiştirmeniz yeterli olur.
const int LED_PIN = 13;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(1000);
digitalWrite(LED_PIN, LOW);
delay(1000);
}
Bu kod Arduino IDE’ye yazılıp karta yüklendiğinde LED’in düzenli aralıklarla yanıp söndüğünü görmelisiniz. Eğer kartınızda dahili LED varsa, harici LED bağlamasanız bile kart üzerindeki küçük LED’in de yanıp söndüğünü fark edebilirsiniz.
Kod Satırları Ne Anlama Geliyor?
Arduino programları temel olarak iki ana fonksiyon üzerine kurulur: setup() ve loop(). Resmi Arduino başlangıç rehberi, mikrodenetleyiciye yüklenen programın güç verildiğinde çalışmaya başladığını ve loop() fonksiyonu içinde sensör okuma, ışık yakma veya koşul kontrolü gibi işlemlerin döngüsel yürütüldüğünü açıklar.1
| Kod parçası | Görevi |
|---|---|
const int LED_PIN = 13; | LED’in bağlı olduğu pin numarasını sabit olarak tanımlar |
void setup() | Arduino ilk açıldığında bir kez çalışır |
pinMode(LED_PIN, OUTPUT); | 13 numaralı pini çıkış olarak ayarlar |
void loop() | Arduino açık kaldığı sürece sürekli tekrar eder |
digitalWrite(LED_PIN, HIGH); | LED pinine 5V seviyesinde dijital sinyal gönderir |
delay(1000); | Programı 1000 milisaniye, yani 1 saniye bekletir |
digitalWrite(LED_PIN, LOW); | LED pinini 0V seviyesine çeker ve LED’i söndürür |
Bu yapı basit olsa da ileride çok işe yarar. Örneğin bir sensörden okunan değere göre LED yakmak istediğinizde digitalWrite() komutunu bir if koşulu içinde kullanabilirsiniz. Böylece devre yalnızca zamanla değil, çevreden gelen verilere göre de tepki verir.
LED Daha Hızlı veya Daha Yavaş Nasıl Yanıp Söner?
LED’in yanıp sönme hızını değiştirmek için delay() içindeki sayıları değiştirmeniz yeterlidir. delay() komutu milisaniye cinsinden çalışır. 1000 değeri 1 saniye, 500 değeri yarım saniye, 100 değeri ise onda bir saniye bekleme anlamına gelir.
const int LED_PIN = 13;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(250);
digitalWrite(LED_PIN, LOW);
delay(250);
}
Bu örnekte LED daha hızlı yanıp söner. İsterseniz yanma ve sönme sürelerini farklı yapabilirsiniz. Örneğin LED’in iki saniye yanıp yarım saniye sönmesini sağlayarak uyarı lambasına benzer bir davranış oluşturabilirsiniz.
Sık Yapılan Hatalar ve Çözümleri
Arduino ile LED yakma projesi basit görünse de yeni başlayanların bazı noktalarda hata yapması çok normaldir. Hata çözmeyi öğrenmek, robotik kodlama sürecinin önemli bir parçasıdır. Aşağıdaki tablo, en yaygın sorunları hızlıca kontrol etmenizi sağlar.
| Sorun | Olası neden | Çözüm |
|---|---|---|
| LED hiç yanmıyor | LED ters bağlanmış olabilir | LED’in uzun ve kısa bacağını kontrol edin |
| LED yanmıyor | GND bağlantısı eksik olabilir | Direncin diğer ucunun GND’ye gittiğinden emin olun |
| Kod yüklenmiyor | Yanlış kart seçilmiş olabilir | Arduino IDE’de doğru board seçimini yapın |
| Kod yüklenmiyor | Yanlış port seçilmiş olabilir | Araçlar menüsünden doğru portu seçin |
| LED çok parlak veya ısınıyor | Direnç kullanılmamış olabilir | 220 ohm veya 330 ohm direnç ekleyin |
| LED sürekli yanıyor | Kodda LOW satırı eksik olabilir | digitalWrite(LED_PIN, LOW); satırını kontrol edin |
Bu kontrollerin ardından hâlâ sorun yaşıyorsanız, devreyi en baştan daha yavaş kurmak iyi bir yöntemdir. Önce yalnızca Arduino kartı bilgisayara bağlayıp dahili LED üzerinde Blink kodunu deneyin. Daha sonra harici LED devresini ekleyin. Böylece sorunun koddan mı, bağlantıdan mı kaynaklandığını daha kolay anlarsınız.
Dahili LED ile Harici LED Arasındaki Fark
Birçok Arduino kartında dahili bir LED bulunur ve bu LED genellikle D13 piniyle ilişkilidir. Bu sayede hiçbir harici devre kurmadan Blink örneğini deneyebilirsiniz. Ancak harici LED kullanmak, devre kurma becerisini geliştirmek için daha öğreticidir. Çünkü bu yöntemde LED yönünü, direnç kullanımını, breadboard satırlarını ve GND bağlantısını pratik etmiş olursunuz.
Yeni başlayanlar için en iyi yöntem önce dahili LED’i yakıp söndürmek, ardından aynı kodla harici LED devresini kurmaktır. Böylece yazılım kısmının çalıştığından emin olduktan sonra donanım bağlantısını öğrenirsiniz.
Bu Projeden Sonra Ne Yapılabilir?
LED yakma çalışmasını tamamladıktan sonra aynı devre üzerine birçok küçük geliştirme ekleyebilirsiniz. Önce hangi bağlantının hangi görevi üstlendiğini daha net görmek için Arduino Uno pinleri rehberini inceleyebilirsiniz. Ardından Arduino buton ile LED kontrolü projesine geçerek butona basıldığında LED’in yanmasını sağlayabilirsiniz. Daha sonra Arduino sensör okuma mantığını öğrenip potansiyometre veya farklı sensörlerden gelen değere göre LED davranışını değiştirebilirsiniz. PWM destekli bir pin kullanarak LED’i yavaşça artırıp azaltmak istiyorsanız Arduino PWM ile LED parlaklığını ayarlama yazısı iyi bir sonraki adımdır.
Bu küçük geliştirmeler, robotik projelerde ihtiyaç duyacağınız giriş-çıkış mantığını güçlendirir. Bir robotun farlarını yakmak, sensör uyarı LED’i eklemek veya hata durumunda yanıp sönen bir gösterge yapmak aynı temel üzerine kuruludur.
Sonuç
Arduino ile LED yakma projesi, elektronik ve programlamayı bir araya getiren en temel uygulamalardan biridir. Bu çalışmada bir dijital pini çıkış olarak ayarlamayı, LED’i dirençle güvenli şekilde bağlamayı, digitalWrite() ile LED’i kontrol etmeyi ve delay() ile zamanlama oluşturmayı öğrendiniz. Proje küçük olsa da burada öğrendiğiniz mantık, sensörlü sistemlerden robotlara kadar birçok uygulamanın temelini oluşturur.
Bir sonraki adım olarak Arduino IDE kurulumu adımlarını doğru şekilde tamamlayıp kart ve port seçimini öğrenmek, ardından butonla LED kontrolü, analog sensör okuma ve PWM ile LED parlaklığı kontrolü projelerine geçmek iyi bir ilerleme yolu olacaktır.