

여러분의 음악에 생동감을 불어넣고 싶으신가요? 이 DIY 튜토리얼에서는 Arduino를 사용해 음악 반응형 LED 스트립을 만드는 방법을 배워보겠습니다. 사운드/마이크 모듈과 주소 지정이 가능한 WS2812B(NeoPixel) LED를 사용합니다. 이 프로젝트는 좋아하는 노래의 비트와 리듬에 맞춰 LED의 점멸과 색상을 동기화하여 방, 게이밍 환경 또는 파티를 위한 멋진 비주얼라이저를 만들어 줍니다!
전자공학 초보자든 숙련된 메이커든 상관없이, 이 단계별 가이드를 통해 쉽고 저렴하게 자신만의 소리 반응형 조명 시스템을 만들 수 있습니다.
면책 조항: 이 게시물에는 제휴 링크가 포함되어 있습니다. 이 링크를 통해 부품을 구매하시면 추가 비용 없이 제가 소정의 수수료를 받을 수 있습니다.
STEP 1. 준비물





- 마이크로컨트롤러: 아두이노 나노
- LED: WS2812B 주소 지정 가능 LED 스트립
- 소리 센서: 음파 감지 센서 모듈 KY-037 모듈
- 전원 공급 장치: MT3608
- 기타 자료: 납땜기 (선택 사항)
STEP 2. 회로도 및 연결


WS2812B LED 스트립:
- VCC (5V): 5V 외부 전원 공급 장치의 양극 단자에 연결하십시오.
- GND: 전원 공급 장치의 GND와 아두이노의 GND를 연결하십시오(공통 접지 연결은 필수입니다!).
- 데이터 입력(DIN): 아두이노의 디지털 핀 3(또는 선택한 데이터 핀)에 연결하십시오.
음향 센서 모듈:
- VCC: 아두이노의 5V(또는 모듈에 따라 3.3V) 단자에 연결하십시오.
- GND: 아두이노의 GND에 연결하십시오.
- AO (아날로그 출력): 아두이노의 아날로그 핀 A0에 연결하세요
팁: 전압 급상승으로부터 LED를 보호하기 위해 전원 공급 라인 양단에 항상 커패시터(약 1000µF)를 연결하십시오.
STEP 3. 음악에 반응하는 LED를 위한 아두이노 코드
다음 코드를 Arduino에 업로드하세요. 컴파일하기 전에 Arduino IDE의 라이브러리 관리자를 통해 FastLED 또는 Adafruit NeoPixel 라이브러리를 설치했는지 확인하세요.
#include <FastLED.h>
#define LED_PIN 3 // Arduino ki pin jisme LED ka DIN connected hai
#define NUM_LEDS 20 // Total LEDs ki sankhya
#define MIC_PIN A0 // Mic sensor ki Analog pin
#define LED_TYPE WS2812B
#define COLOR_ORDER GRB
CRGB leds[NUM_LEDS];
// Sensitivity settings (Aap inhe apne mic ke hisaab se change kar sakte hain)
int noiseThreshold = 20; // Normal shor (noise) ko ignore karne ke liye
int maxVolume = 350; // Maximum volume ka level
void setup() {
Serial.begin(9600); // Serial monitor chalu karne ke liye (debugging ke kaam aayega)
// FastLED setup
FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
// Brightness set karein (0 se 255). 100 safe hai MT3608 ke liye.
FastLED.setBrightness(100);
}
void loop() {
// Mic se sound ki reading lein
int micValue = analogRead(MIC_PIN);
// MAX4466 aur KY-038 normal state mein lagbhag 512 value dete hain.
// Hum current sound ko normal state se minus karke actual "volume" nikalenge.
int signal = abs(micValue - 512);
// Serial monitor par value dekhein (Mic adjust karne me madad karega)
Serial.println(signal);
// Sound signal ko 0 se lekar total LEDs (20) tak map karein
int ledsToLight = map(signal, noiseThreshold, maxVolume, 0, NUM_LEDS);
// Constrain ensures ki value 0 se kam ya 20 se zyada na ho
ledsToLight = constrain(ledsToLight, 0, NUM_LEDS);
// LEDs ko color dena
for (int i = 0; i < NUM_LEDS; i++) {
if (i < ledsToLight) {
// Color Range set karein
if (i < 10) {
leds[i] = CRGB::Green; // Pehli 10 LEDs Green
}
else if (i < 16) {
leds[i] = CRGB::Yellow; // Beech ki 6 LEDs Yellow
}
else {
leds[i] = CRGB::Red; // Aakhri 4 LEDs Red (High bass ke liye)
}
} else {
leds[i] = CRGB::Black; // Baaki LEDs off rahengi
}
}
FastLED.show();
delay(15); // Smooth animation ke liye thoda delay
}
STEP 4. 업로드 및 테스트




- USB 케이블을 사용하여 Arduino를 컴퓨터에 연결하세요.
- Arduino IDE를 Arduino IDE에서 열고, ‘도구’ 메뉴에서 올바른 보드(Arduino Nano)와 포트를 선택하세요.
- 위의 코드를 붙여넣고 Upload 버튼을 클릭하세요.
- 마이크 센서 근처에서 음악을 틀고 LED가 리듬에 맞춰 춤추는 모습을 지켜보세요!
STEP 5. 문제 해결 및 팁
- LED가 깜빡거리거나 켜지지 않나요? Common Ground 연결 상태를 확인하세요. 전원 공급 장치의 GND와 Arduino의 GND는 서로 연결되어 있어야 합니다.
- 센서의 감도가 너무 높은가요, 아니면 반응이 없나요? 사운드 센서 모듈에 장착된 포텐셔미터(파란색 나사)를 조절하여 감도를 보정하십시오.
- 전원 문제: 긴 LED 스트립에 전원을 아두이노의 5V 핀에서 직접 공급하지 마십시오. 기판 내장 레귤레이터가 과열될 수 있습니다. 항상 외부의 5V 전원을 사용하십시오.
STEP 6. 결론

축하합니다! 이제 나만의 음악 반응형 LED 스트립을 성공적으로 제작하셨습니다. 이 LED 스트립을 책상 뒤나 TV 뒤, 또는 직접 만든 케이스 안에 설치하여 방의 분위기를 한층 더 돋보이게 할 수 있습니다.
원문: https://www.instructables.com/Music-Reactive-LED-Strip-Using-Arduino-Sound-to-Li/