Tek Bir Butonla LED Yakma: Etkileşimli Kontrol!
Şimdiye kadar LED’leri kodla kontrol ettik. Peki ya bir düğmeye basınca yansa? Bu projede, bir butonu kullanarak bir LED’i yakıp söndürmeyi öğreneceğiz. Bu, elektronik projelerine kullanıcı etkileşimi eklemenin en temel ve önemli adımıdır!
Neden Buton Kullanıyoruz?
Butonlar, fiziksel dünyadan Arduino’ya bilgi göndermenin en basit yoludur. Bu projeyle öğreneceklerin:
- Giriş Elemanları: Arduino’nun dış dünyadan nasıl veri (bilgi) aldığını anlarsın (buton bir “giriş” elemanıdır).
- Durum Kontrolü: Butonun basılı olup olmadığını kontrol etmeyi ve buna göre bir eylem yapmayı öğrenirsin.
- Gerçek Etkileşim: Yaptığın bir devreye dokunarak tepki vermesini sağlarsın.
Malzeme Listesi: İhtiyacın Olanlar
Bu proje için yeni bir bileşenimiz var: Buton!
- 1 adet Arduino Uno Kartı: Projemizin beyni.
- 1 adet USB Kablosu: Arduino’yu bilgisayarına bağlamak için.
- 1 adet Breadboard (Devre Tahtası): Kabloları ve parçaları düzenli bir şekilde takmak için.
- 1 adet LED (Işık Yayan Diyot): İstediğin renkte olabilir. Uzun (+) ve kısa (-) bacaklarına dikkat et.
- 1 adet 220 Ohm Direnç: LED’i korumak için.
- 1 adet 10K Ohm Direnç: Buton için Pull-down direnci olarak kullanılacak. (Renk kodları genellikle Kahverengi-Siyah-Turuncu olabilir.)
- 1 adet Bas-Bırak Buton: (Genellikle 4 bacaklı kare veya dikdörtgen bir buton)
- 5 adet Jumper Kablo (Erkek-Erkek): Parçaları Arduino’ya ve birbirine bağlamak için.
Devre Kurulumu: Butonu ve LED’i Bağlıyoruz
Şimdi LED ve butonu breadboard üzerine yerleştirip Arduino’ya bağlayalım. Buton bağlantısında Pull-down direncinin önemine dikkat et!
Neden Pull-down Direnç?
Arduino’nun bir dijital pinini bir butona bağladığında, buton basılı değilken o pinin ne durumda olduğunu (YÜKSEK mi, DÜŞÜK mü?) bilmesi gerekir. Eğer bir şey bağlamazsan, pin “havada” kalır ve dışarıdaki elektrik gürültüsünden etkilenerek rastgele YÜKSEK veya DÜŞÜK değerler okuyabilir. Bu da LED’in kendiliğinden yanıp sönmesine neden olur.
Pull-down direnci, buton basılı değilken pini güvenli bir şekilde DÜŞÜK (0V) durumda tutar. Butona bastığında ise pin YÜKSEK (5V) olur ve Arduino bunu algılar.
Adım Adım Bağlantı:
- LED’i ve 220 Ohm Direnci Yerleştir:
- LED’in uzun bacağını (+) breadboard’un bir sırasına tak. Kısa bacağını (-) farklı bir sıraya tak.
- 220 Ohm direncin bir ucunu LED’in kısa bacağı (-) ile aynı sıraya tak. Direncin diğer ucunu breadboard’daki GND (toprak) hattına bağla.
- Butonu Yerleştir:
- Bas-bırak butonunun dört bacağı vardır. Breadboard’a takarken, bacakların ikişerli olarak karşılıklı aynı hatta gelmediğinden emin ol. Genellikle, butonu yatayda bir boşluğun üzerine (iki bacak bir tarafta, iki bacak diğer tarafta kalacak şekilde) takmak en iyisidir.
- Buton ve 10K Ohm Direnci Bağla (Pull-down):
- Butonun bir bacağını (genellikle köşe bacaklardan biri) Arduino’dan gelen 5V hattına bağla.
- Bu buton bacağının çaprazındaki bacağı Arduino’nun bir dijital giriş pinine bağlayacağız (örneğin Dijital 2).
- Butonun bu Dijital 2’ye bağladığımız bacağıyla aynı sıraya 10K Ohm direncin bir ucunu tak.
- 10K Ohm direncin diğer ucunu ise Arduino’nun GND (toprak) hattına bağla. (Bu, pull-down direncidir.)
- Arduino ve Bileşen Bağlantıları:
- LED’in uzun bacağı (+) ile aynı sıraya bir jumper kablo tak ve diğer ucunu Arduino Uno üzerindeki Dijital 13 numaralı pine bağla. (13 numaralı pin, Arduino kartının üzerindeki dahili LED’e de bağlı olduğu için projeyi test etmek için kolaylık sağlar.)
- Butonun Dijital 2’ye bağladığımız bacağını bir jumper kablo ile Arduino Uno üzerindeki Dijital 2 numaralı pine bağla.
- Arduino’nun 5V pininden bir jumper kablo al ve breadboard üzerindeki bir güç hattına bağla (genellikle kırmızı çizgi).
- Arduino’nun GND pininden bir jumper kablo al ve breadboard üzerindeki bir toprak hattına bağla (genellikle mavi veya siyah çizgi).
- Unutma: Tüm LED ve buton dirençlerinin ortak toprakları, Arduino’nun GND pinine bağlanmalı.
Devre Şeması (Basit Görselleştirme):

Kodlama: mBlock ile Butonu Okuma ve LED Yakma
Şimdi mBlock programını kullanarak butonun durumunu okuyacak ve buna göre LED’i yakıp söndüreceğiz.
Hazırlık Adımları:
- mBlock’u Aç ve Bağlantı Kur: mBlock programını aç, Arduino Uno kartını seç, USB ile bilgisayarına bağla ve doğru COM portunu seçerek bağlantıyı kur.
- Arduino Kipine Geçin: Üst menüden “Düzenle” (Edit) seçeneğine tıklayıp “Arduino Kipi”ni (Arduino Mode) işaretlediğinden emin ol.
Kod Bloklarını Oluşturma:
Butona basıldığında LED’in yanmasını, bırakıldığında ise sönmesini sağlayalım.
- “Olaylar” kategorisinden “Arduino programı başladığında” bloğunu çalışma alanına sürükle.
- “Kontrol” kategorisinden “sürekli tekrarla” (forever) bloğunu sürükle ve “Arduino programı başladığında” bloğunun içine yerleştir. Butonun durumunu sürekli kontrol edeceğiz.
- Şimdi, butonun durumunu kontrol etmek için “eğer … ise” bloğunu kullanalım:
- “Kontrol” kategorisinden “eğer … ise” bloğunu sürükle ve “sürekli tekrarla” bloğunun içine yerleştir.
- “Pinler” kategorisinden “Pin [2] dijital değerini oku” bloğunu sürükle ve “eğer” bloğunun boşluk kısmına tak. (Buradaki [2] butonun bağlı olduğu pin numarasıdır.)
- “İşlemler” kategorisinden “= (eşittir)” bloğunu sürükle. Sol tarafına “Pin 2 dijital değerini oku” bloğunu, sağ tarafına ise “1” (veya “YÜKSEK” yazan bir blok varsa onu) yaz veya seç. Bu, butonun basılı olup olmadığını (YÜKSEK değer verip vermediğini) kontrol etmemizi sağlar.
- Eğer Buton Basılıysa (YÜKSEK ise):
- “Pinler” kategorisinden “Pin [13] dijital çıkışını [YÜKSEK] yap” bloğunu sürükle ve “eğer … ise” bloğunun içine yerleştir. (LED’i yakar.)
- Eğer Buton Basılı Değilse (DÜŞÜK ise):
- “Kontrol” kategorisinden “değilse” kısmını eklemek için “eğer … ise” bloğuna sağ tıklayıp “değilse’yi ekle” seçeneğini seç.
- “Pinler” kategorisinden “Pin [13] dijital çıkışını [DÜŞÜK] yap” bloğunu sürükle ve “eğer … ise değilse” bloğunun “değilse” kısmına yerleştir. (LED’i söndürür.)
Hazır Kod Blokları Şeması:

Kodu Arduino’ya Yükleme:
- Kodunu tamamladığında, mBlock arayüzünün sağ üst köşesinde bulunan “Yükle” (Upload) butonuna tıkla.
- Yükleme bittiğinde, butona bastığında LED’in yandığını, bıraktığında ise söndüğünü göreceksin!
Sorun Giderme (Ne Yapmalıyım?)
Eğer projen istediğin gibi çalışmıyorsa, şunları kontrol et:
- LED Bağlantıları: LED’in direnci ve polaritesi (uzun/kısa bacak) doğru mu?
- Buton Bağlantıları:
- Butonun bacaklarını doğru takıp takmadığına emin ol (genellikle çapraz bacaklar birleşiktir).
- 5V hattından butona, butondan Dijital 2’ye ve aynı pin noktasından 10K dirençle GND’ye bağlantı doğru mu? 10K direncin varlığından ve doğru bağlandığından emin ol.
- Kablolar Sağlam Mı? Tüm kabloların breadboard’a ve Arduino’ya sağlam oturduğundan ve doğru pinlere bağlandığından emin ol.
- mBlock Bağlantısı: mBlock’ta Arduino’nun yanında yeşil nokta var mı? Yoksa bağlantıyı tekrar kur.
- Pin Numaraları Doğru Mu? Kodundaki pin numaraları (LED için 13, buton için 2) ile bileşenleri bağladığın pin numaraları tamamen eşleşiyor mu?
- Kod Yüklendi Mi? mBlock’ta “Yükle” butonuna bastın mı ve yükleme başarılı oldu mu?
Bu kontrollerle tek butonla LED yakma projenin sorunsuz çalışmasını sağlayabilirsin! Şimdi bu projeyi geliştirerek bir butona her basıldığında LED’in durumunu değiştirmesini (açıksa kapanmasını, kapalıysa açılmasını) sağlayabilirsin. Bu biraz daha karmaşık bir mantık gerektirse de, çok eğlenceli olacaktır!