중급⏱ 예상 시간: 40분📝 4단계
네오픽셀 무드등
가변저항으로 네오픽셀 LED 스트립의 색상과 밝기를 조절하는 감성 무드등을 만듭니다.
🧩 필요한 모듈
Arduino Uno
브레드보드
점퍼 와이어
네오픽셀 LED 스트립 (WS2812B)
가변 저항 (포텐셔미터)
저항 (220Ω / 10kΩ)
📖 단계별 설명서
1단계준비물 확인
다음 부품들을 준비해주세요:
- Arduino Uno 1개
- 브레드보드 1개
- 점퍼 와이어 6개
- 네오픽셀 LED 스트립 (8개 LED) 1개
- 가변 저항 2개
- 470Ω 저항 1개
💡 팁: 네오픽셀의 데이터 라인에는 470Ω 저항을 넣으면 신호가 안정됩니다.
2단계회로 연결하기
- 네오픽셀의 DIN을 470Ω 저항을 통해 D6에 연결합니다.
- 네오픽셀의 5V와 GND를 아두이노에 연결합니다.
- 가변저항 1번(색상)을 A0에 연결합니다.
- 가변저항 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단계업로드 및 테스트
- Arduino IDE 라이브러리 매니저에서 'Adafruit NeoPixel'을 설치합니다.
- 코드를 업로드합니다.
- 가변저항 1번을 돌려 색상을 변경해보세요!
- 가변저항 2번으로 밝기를 조절할 수 있습니다.
💡 팁: 투명한 병이나 종이 갓을 씌우면 더 예쁜 무드등이 됩니다.