중급⏱ 예상 시간: 40분📝 4단계

네오픽셀 무드등

가변저항으로 네오픽셀 LED 스트립의 색상과 밝기를 조절하는 감성 무드등을 만듭니다.

🧩 필요한 모듈

Arduino Uno
브레드보드
점퍼 와이어
네오픽셀 LED 스트립 (WS2812B)
가변 저항 (포텐셔미터)
저항 (220Ω / 10kΩ)

📖 단계별 설명서

📝

1단계준비물 확인

다음 부품들을 준비해주세요:

  • Arduino Uno 1개
  • 브레드보드 1개
  • 점퍼 와이어 6개
  • 네오픽셀 LED 스트립 (8개 LED) 1개
  • 가변 저항 2개
  • 470Ω 저항 1개

💡 팁: 네오픽셀의 데이터 라인에는 470Ω 저항을 넣으면 신호가 안정됩니다.

📝

2단계회로 연결하기

  1. 네오픽셀의 DIN을 470Ω 저항을 통해 D6에 연결합니다.
  2. 네오픽셀의 5V와 GND를 아두이노에 연결합니다.
  3. 가변저항 1번(색상)을 A0에 연결합니다.
  4. 가변저항 2번(밝기)을 A1에 연결합니다.

📐 회로도

회로도 이미지

/images/projects/neopixel-mood-lamp-circuit.png

💡 팁: 네오픽셀은 전류가 많이 필요합니다. LED가 많으면 외부 전원을 사용하세요.

📝

3단계코드 작성하기

Adafruit NeoPixel 라이브러리를 설치하고 아래 코드를 입력합니다.

code.ino
#include <Adafruit_NeoPixel.h>

#define LED_PIN 6
#define LED_COUNT 8
#define HUE_POT A0
#define BRIGHT_POT A1

Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.show();
  Serial.begin(9600);
}

void loop() {
  int hueVal = analogRead(HUE_POT);
  int brightVal = analogRead(BRIGHT_POT);
  
  uint16_t hue = map(hueVal, 0, 1023, 0, 65535);
  uint8_t brightness = map(brightVal, 0, 1023, 10, 255);
  
  strip.setBrightness(brightness);
  
  for (int i = 0; i < LED_COUNT; i++) {
    uint16_t pixelHue = hue + (i * 65536L / LED_COUNT / 2);
    strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue)));
  }
  strip.show();
  
  Serial.print("Hue: "); Serial.print(hue);
  Serial.print(" Bright: "); Serial.println(brightness);
  
  delay(20);
}
+17 줄 더 보기

💡 팁: HSV 색상 모드를 사용하면 자연스러운 색상 변화를 만들 수 있습니다.

📝

4단계업로드 및 테스트

  1. Arduino IDE 라이브러리 매니저에서 'Adafruit NeoPixel'을 설치합니다.
  2. 코드를 업로드합니다.
  3. 가변저항 1번을 돌려 색상을 변경해보세요!
  4. 가변저항 2번으로 밝기를 조절할 수 있습니다.

💡 팁: 투명한 병이나 종이 갓을 씌우면 더 예쁜 무드등이 됩니다.

🎉

축하합니다!

"네오픽셀 무드등" 프로젝트를 완성했습니다!