Arduino ile LED projeleri, elektronik dünyasına adım atanlar için mükemmel bir başlangıç noktasıdır. Bu yazımızda, LED’lerin animasyon şeklinde yanmasını sağlarken bir buzzer modülü ile farklı tonlarda sesler çıkarmayı öğreneceğiz. Bu basit ama etkileyici proje, hem ışık hem de ses efektleriyle yaratıcı uygulamalar yapmanıza olanak tanır.
Proje İçin Gerekli Malzemeler:
- Arduino (Uno, Nano, vb.)
- Breadboard
- Buzzer Modülü
- 9 Adet LED (Farklı renklerde kullanılabilir)
- 9 Adet 220 Ohm Direnç
- Jumper Kablolar
Bağlantı Şeması:

- LED Bağlantıları:
- LED’lerin bir ucu Arduino’nun dijital pinlerine bağlanır (Pin 2’den 11’e kadar).
- Her bir LED’in diğer ucu, 220 Ohm direnç üzerinden breadboard’daki GND hattına bağlanır.
- Buzzer Bağlantısı:
- Buzzer’ın pozitif bacağı Arduino Pin 12’ye, negatif bacağı ise breadboard’daki GND hattına bağlanır.
- Arduino Beslemesi:
- Arduino, USB üzerinden veya harici bir güç kaynağı ile çalıştırılabilir.
Proje Kodu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | //------------------------------------------// //-----------------KODKAMPUSU---------------// //-----Arduino | Animasyonlu LED Yapımı-----// //------------------------------------------// // LED ve Buzzer pin tanımlamaları const int led1 = 2; const int led2 = 3; const int led3 = 4; const int led4 = 5; const int led5 = 6; const int led6 = 7; const int led7 = 8; const int led8 = 9; const int led9 = 10; const int led10 = 11; const int buzzer = 12; void setup() { // LED ve buzzer için pin modlarını çıkış olarak ayarlıyoruz pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(led6, OUTPUT); pinMode(led7, OUTPUT); pinMode(led8, OUTPUT); pinMode(led9, OUTPUT); pinMode(led10, OUTPUT); pinMode(buzzer, OUTPUT); } void loop() { // LED’leri sırasıyla yak ve söndür, her biri için buzzer farklı ton çalar for (int i = 2; i <= 11; i++) { digitalWrite(i, HIGH); // LED'i yak tone(buzzer, 200 + i * 100); // Buzzer'dan ton üret delay(250); // 250 ms bekle digitalWrite(i, LOW); // LED'i söndür noTone(buzzer); // Buzzer tonunu kapat delay(250); // 250 ms bekle } // LED’leri ters sırayla yak ve söndür for (int i = 11; i >= 2; i--) { digitalWrite(i, HIGH); // LED'i yak tone(buzzer, 1200 - i * 100); // Buzzer'dan ters ton üret delay(250); // 250 ms bekle digitalWrite(i, LOW); // LED'i söndür noTone(buzzer); // Buzzer tonunu kapat delay(250); // 250 ms bekle } } |
Açıklamalar ve Dikkat Edilmesi Gereken Noktalar:
- Buzzer Frekansları:
- Buzzer modülünün kapasitesine uygun frekans değerleri seçilmelidir. Çok yüksek veya düşük frekanslar modüle zarar verebilir.
- LED Akımları:
- LED’ler için 220 Ohm direnç kullanılarak aşırı akım çekilmesi engellenir.
- Gecikme Süreleri:
- Animasyonun hızını artırmak veya azaltmak için
delay()
süreleri değiştirilebilir.
- Animasyonun hızını artırmak veya azaltmak için
- LED ve Buzzer Tanımları:
Kodun başında LED’lerin ve buzzer’ın bağlı olduğu pinler belirlenmiştir. Bu şekilde, LED ve buzzer kolayca kontrol edilebilir. - LED ve Buzzer Animasyonu:
for
döngüsü ile LED’ler sırayla yakılır ve buzzer her LED için farklı bir frekansta çalışır.tone(pin, frekans)
: Buzzer’ın çıkardığı sesi ayarlamak için kullanılır.noTone(pin)
: Buzzer’ı kapatır.
- Ters Sıralama:
İkincifor
döngüsü ile LED’ler ters sırayla yanar ve aynı şekilde buzzer farklı tonlar çalar.
Bağlantı ve kodlama sırasında karşılaştığınız hataları; aşağıda ki yorum bölümünden belirtebilirsiniz :)