Arduino Projeleri
#21Orta

Müzikle Senkronize RGB LED Şerit

~1 saatTemel analog okuma

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 PiniBağ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

arduino-21-muzikle-senkronize-rgb-led-serit.ino
1#include <Adafruit_NeoPixel.h>
2#define LED_PIN 6
3#define LED_SAYISI 30
4Adafruit_NeoPixel serit(LED_SAYISI, LED_PIN, NEO_GRB + NEO_KHZ800);
5const int mikrofon = A0;
6
7void setup(){
8 serit.begin();
9 serit.show();
10}
11
12void 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.

Bu projenin kodunu AI ile özelleştir

Farklı pin, ek özellik ya da başka bir sensör mü istiyorsun?