Müzikle Senkronize RGB LED Şerit
Proje Amacı
Mikrofon modülünden okunan ortam ses seviyesine göre bir RGB LED şeridin rengini ve parlaklığını değiştirir; gerçek bir frekans analizi (FFT) yapmaz, sadece ham genliği ölçer — bas/tiz ayrımı için alternatifler bölümüne bakın.
Gerekli Malzemeler
- Arduino Uno
- Ses Seviyesi Sensörü (mikrofon modülü)
- WS2812B RGB LED Şerit
- Breadboard
Gerekli Kütüphaneler
Adafruit NeoPixel — Kütüphane Yöneticisi'nden kurulmalı.
Pin Bağlantıları
| Bileşen Pini | Bağlantı |
|---|---|
| Mikrofon Modülü VCC | 5V |
| Mikrofon Modülü GND | GND |
| Mikrofon Modülü AO | A0 |
| LED Şerit Data | D6 |
| LED Şerit VCC | 5V (ayrı güç önerilir) |
| LED Şerit GND | GND |
Devre Şeması
Arduino Kodu
| 1 | #include <Adafruit_NeoPixel.h> |
| 2 | #define LED_PIN 6 |
| 3 | #define LED_SAYISI 30 |
| 4 | Adafruit_NeoPixel serit(LED_SAYISI, LED_PIN, NEO_GRB + NEO_KHZ800); |
| 5 | const int mikrofon = A0; |
| 6 | |
| 7 | void setup(){ |
| 8 | serit.begin(); |
| 9 | serit.show(); |
| 10 | } |
| 11 | |
| 12 | void loop(){ |
| 13 | int sesSeviyesi = analogRead(mikrofon); |
| 14 | int parlaklik = map(sesSeviyesi, 0, 1023, 0, 255); |
| 15 | |
| 16 | for(int i=0;i<LED_SAYISI;i++){ |
| 17 | serit.setPixelColor(i, serit.Color(parlaklik, 0, 255-parlaklik)); |
| 18 | } |
| 19 | serit.show(); |
| 20 | delay(30); |
| 21 | } |
Çalışma Açıklaması
30 LED'lik bir şerit tam parlaklıkta yüksek akım çeker (2A'ya kadar); Arduino'nun 5V pini yeterli olmayabilir, ayrı bir 5V güç kaynağı ve ortak GND kullanılması önerilir.
Test Bilgisi
Adafruit NeoPixel kütüphanesini kurun. Devreyi kurun, kodu yükleyin. Müzik çalın veya ses yapın; LED şeridin renk/parlaklığının ses seviyesine göre değiştiğini gözlemleyin.
Olası Sorunlar ve Çözümleri
Şerit hiç yanmıyorsa: NeoPixel kütüphanesinin doğru kurulduğunu ve LED_PIN/LED_SAYISI değerlerinin doğru olduğunu kontrol edin. Renkler yanlış görünüyorsa: NEO_GRB yerine NEO_RGB parametresini deneyin (şerit modeline göre değişir). Şerit titriyorsa veya bazı LED'ler yanmıyorsa: güç yetersizliği ihtimaline karşı ayrı 5V kaynak kullanın.
Alternatif Çözümler
Basit ses seviyesi yerine FFT (frekans analizi) ile bas/tiz ayrımı yapılarak daha gelişmiş bir ışık-müzik senkronizasyonu kurulabilir. Tek renk geçişi yerine çoklu renk paleti/animasyon modları eklenebilir. Mikrofon yerine doğrudan telefon/bilgisayarın ses çıkışından analog sinyal alınarak daha net senkronizasyon sağlanabilir.
Benzer Projeler
MQ-2 Gaz Alarmı
Ortamdaki yanıcı gaz/duman yoğunluğunu ölçüp tehlikeli seviyede LED ve buzzer ile alarm verir — ama bir uyarı: bu bir eğitim projesidir, sertifikalı bir ev tipi gaz alarmının yerini tutmaz (bkz. Çalışma Açıklaması).
Servo Kontrollü Kilit
Potansiyometreyi çevirerek servo motorun açısını 0-180° arasında kontrol eder; aynı mantık gerçek bir kilit mekanizmasına bağlandığında servo tabanlı bir erişim sistemine dönüşür.
Adım Sayar (MPU6050 İvmeölçer)
MPU6050'den gelen 3 eksenli ivme verisinin vektör büyüklüğünü hesaplayıp belirli bir eşiği her geçişte adım sayısını bir artırır — akıllı saatlerin adım sayma mantığının basitleştirilmiş hali.