제스처 제어 RGB 테이블 램프 – 인터랙티브 핸즈프리 조명
부품 및 소모품
| 부품 | 수량 |
| Arduino UNO | 1 |
| SmartElex RLS-08 아날로그 & 디지털 라인 센서 어레이 (8채널 IR 센서) | 1 |
| 점퍼 와이어 (일반) | 1 |
| LED 스트립, NeoPixel 디지털 RGB (WS2812B) | 1 |
필요 도구
소프트웨어 및 온라인 서비스
프로젝트 소개
우리는 다양한 무드 램프와 RGB 조명을 봐왔습니다. 대부분 버튼이나 리모컨으로 제어하지만, 본 프로젝트는 간단한 손짓 제스처만으로 색상을 변경하는 제스처 제어 RGB 데스크 램프를 제작합니다. Arduino Uno 보드와 IR 어레이 센서를 활용한 인터랙티브 아트 프로젝트로, 학생들과 아이들에게도 재미있고 쉽게 가르칠 수 있습니다.
제작 과정
1단계: 재료 준비
모든 부품은 온라인 또는 오프라인 매장에서 쉽게 구할 수 있습니다.
- Arduino Uno
- IR 센서 어레이 (8개 센서)
- WS2812B 어드레서블 RGB LED 스트립
- 5V, 2A 파워 어댑터
2단계: 센서 원리 이해
이 센서는 근접 센서인 IR 센서 8개가 배열된 모듈로, 아날로그 및 디지털 출력을 8개 제공합니다. 손의 이동 방향을 감지해 LED 색상을 제스처에 따라 변경합니다. Arduino가 센서 입력을 받아 LED를 제어합니다.
사용하는 두 가지 기본 제스처:
- 왼쪽 스와이프 (Left Swipe)
- 오른쪽 스와이프 (Right Swipe)
3단계: 회로 연결
IR 센서 연결:
- IR 센서 GND → Arduino GND
- IR 센서 VCC → Arduino 5V
- 센서 A~D 디지털 출력 → Arduino 디지털 핀 4~7
- 센서 E~H 디지털 출력 → Arduino 디지털 핀 8~11
LED 스트립 연결:
- LED 스트립 GND → Arduino GND
- LED 스트립 5V → Arduino Vin
- LED 스트립 Data In → Arduino 디지털 핀 3
4단계: 코드 업로드
FastLED 라이브러리를 사용해 LED 이펙트를 제어합니다. LED 개수는 90개로 설정(환경에 맞게 변경 가능)했으며, 데이터 핀은 3번입니다. 메인 루프에서 센서 상태를 확인해 제스처 방향을 판별하고, fadeall() 함수로 부드러운 색상 전환 효과를 구현했습니다.
5단계: 완성 사진
제작 완료된 램프의 다양한 각도 사진입니다.
소스 코드
#include <FastLED.h>
int a,b,c,d,e,f,g,h,j=0;
#define NUM_LEDS 90
#define DATA_PIN 3
CRGB leds[NUM_LEDS];
void setup() {
for(int pin=4; pin<=11; pin++) pinMode(pin, INPUT);
LEDS.addLeds<WS2812,DATA_PIN,RGB>(leds,NUM_LEDS);
LEDS.setBrightness(84);
}
void fadeall() {
for(int i=0; i<NUM_LEDS; i++) leds[i].nscale8(250);
}
void loop() {
a=digitalRead(4); b=digitalRead(5); c=digitalRead(6); d=digitalRead(7);
e=digitalRead(8); f=digitalRead(9); g=digitalRead(10); h=digitalRead(11);
static uint8_t hue = 0;
// 왼쪽 스와이프 감지 (A→B 순서)
if(a==1 && b==1) {
for(int i=4; i<55; i++) {
leds[i] = CHSV(hue++, 255, 255);
FastLED.show();
fadeall();
delay(10);
}
}
// 오른쪽 스와이프 감지 (G→F 순서)
if(g==1 && f==1) {
for(int i=55; i>=4; i--) {
leds[i] = CHSV(hue++, 255, 255);
FastLED.show();
fadeall();
delay(10);
}
}
}
회로도
프리츠핑(Fritzing)으로 작성된 회로도입니다. 8개 개별 IR 센서 또는 어레이 센서 중 선택해 사용 가능합니다.