산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

부품 및 소모품

아두이노 나노 R3 × 1
아두이노 우노 × 1
픽셀 스트립 60픽셀/미터 (WS2812B) × 1
저항 470Ω × 1
5V 40A 파워 서플라이 × 1
브레드보드 × 1
듀폰 케이블 × 1

필요한 도구 및 장비

앱 및 온라인 서비스

프로젝트 개요

비전 라이트(Vixen Lights)란?

비전 라이트는 DIY 조명 자동화 디스플레이를 위한 소프트웨어입니다. 최신 버전 3.x는 주소 지정 가능한 '픽셀' 조명을 지원하도록 완전히 재설계되었습니다.

픽셀이란?

픽셀은 빨강, 녹색, 파랑 3개의 LED로 이루어진 클러스터입니다. 이 세 색상의 강도를 조절해 다양한 색을 표현합니다. 본 예제에서 사용하는 WS2812B 픽셀은 데이터 입력 포트, 표시용 IC 칩, 다음 픽셀로 데이터를 전달하는 출력 포트를 내장하고 있습니다. 주소 지정 가능한 RGB 픽셀 스트립은 일반적으로 전원, 그라운드, 데이터 3개의 선을 가지며, 일반 RGB '덤' 스트립은 전원과 R, G, B 각각 4개의 선을 가집니다.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

전원 공급 고려사항

RGB 픽셀은 많은 전력을 소모합니다. 아두이노 내장 레귤레이터로는 몇 개만 구동 가능하므로 외부 파워 서플라이가 필수입니다. 본 예제의 픽셀은 5V 동작하며, 픽셀 하나당 최대 밝기(흰색)에서 약 60mA를 소모합니다. 150개 픽셀 기준 약 9A가 필요합니다.

LED 스트립의 얇은 구리 배선은 저항을 일으켜 전압 강하를 유발합니다. 전압이 너무 떨어지면 깜빡임, 어두워짐, 점등 실패 등이 발생합니다. 이를 방지하려면 스트립 중간에 전원을 추가로 주입해야 합니다. 스트립을 자르고 데이터 라인은 점퍼로 연결한 뒤, 별도의 전원과 그라운드 선을 파워 서플라이까지 연결합니다. 전원 선 길이도 전압 강하를 일으키므로 충분히 굵은 선을 사용해야 합니다. 파워 서플라이는 필요 전류보다 여유 있게(예: 40A, 60A) 선택하고, 여러 개를 사용할 경우 모든 그라운드를 공통으로 연결해야 합니다.

아두이노 컨트롤러

대부분의 메인스트림 아두이노 보드가 비전 라이트와 픽셀 스트립 사이의 중개자 역할을 할 수 있습니다. 프로세서 속도, 메모리, 저장 용량 등 하드웨어 제약이 있지만, 가장 큰 병목은 시리얼 포트 속도입니다. 대부분 115,200bps를 넘지 못하며, 150픽셀(450채널) 전송 시 약 45ms가 걸려 초당 20회(50ms 주기) 갱신이 한계입니다.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

본 튜토리얼의 코드는 David Hunt(blog.huntgang.com)의 작업을 기반으로 합니다.

비전 시리얼 포트 설정

아두이노 컨트롤러를 사용하려면 비전 3.x 내부에서 설정해야 합니다.

1단계: 제네릭 시리얼 컨트롤러 추가

우측 상단 메뉴에서 'Generic Serial Controller'를 추가합니다.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

2단계: 출력 채널 수 설정

컨트롤러의 출력 수를 픽셀 수의 3배로 설정합니다. 예: 30픽셀 → 90출력.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

3단계: COM 포트 및 보드레이트 설정

우측 하단 기어 아이콘을 클릭해 COM 포트(예: COM13)와 보드레이트 115200을 설정합니다. 나머지 설정은 기본값 유지.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

4단계: 헤더에 픽셀 수 입력

아두이노가 수신할 픽셀 수를 3자리 숫자로 헤더에 입력합니다. 예: 30픽셀 → "030". 이제 아두이노 RX LED가 깜빡이며 데이터 수신 대기 상태가 됩니다.

픽셀용 엘리먼트 구성

5단계: 싱글 아이템 추가

좌측 상단 드롭박스에서 'Single Item' 선택 후 녹색 '+' 버튼 클릭, 이름을 'Pixel Strip'으로 지정.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

6단계: 다중 아이템으로 픽셀 생성

'Pixel Strip' 우클릭 → 'Add Multiple' → 'Numbered Items' 선택, 이름 지정(예: Pixel Strip), 픽셀 수 입력(예: 30). 목록 확인 후 OK.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

7단계: 색상 처리 속성 설정

'Pixel Strip' 하이라이트 후 'Color Handling' 속성에서 "They can be any color: they are full RGB and mix to make any color." 선택.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

8단계: 엘리먼트를 컨트롤러에 패치

좌측 'Pixel Strip', 우측 'Generic Serial Controller' 선택. 'Unconnected Patch Points' 수가 일치하면 'Patch Elements to Controllers' 클릭.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

9단계: 그래픽 뷰 확인

성공 시 그래픽 뷰에 픽셀이 매핑된 모습이 표시됩니다.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

첫 시퀀스 만들기

10단계: 새 시퀀스 생성

비전 실행 → 'New Sequence...' 클릭.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

11단계: 오디오 가져오기

Tools 메뉴 → Audio → Import Audio, MP3 파일 선택.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

12단계: 타임라인 확대/축소

상단 줌 툴로 타임라인 확대/축소하며 작업.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

13단계: 비트/바 감지기 실행

Tools → Audio → Beat/Bar Detector 실행. 음악 비트에 맞춰 흰색 선이 생성되어 이펙트 정렬에 도움.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

14단계: 이펙트 적용

좌측 Effects 메뉴 → Basic Lighting 또는 Pixel Lighting → 'Chase' 드래그하여 Pixel Strip 라인에 드롭, 마우스로 길이 조절.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

15단계: 이펙트 세부 조정

이펙트 선택 후 우측 메뉴에서 방향, 색상, 펄스, 깊이 등 수정. 'Effect Preview' 활성화로 미리보기.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

16단계: 재생 및 확인

좌측 상단 Play 버튼 클릭. 유튜브에 다양한 샘플 참조.

참고: 아두이노 연결 후 비전 실행 시 아두이노 RX LED가 깜빡이면 정상적으로 시리얼 데이터 대기 중입니다.

코드

FastLED 라이브러리

FastLED 라이브러리를 아두이노 라이브러리 폴더에 설치하세요.

아두이노 스케치

/* Vixen Lights 3.x - Arduino Generic Serial for Addressable Pixels
 * 데이터 라인을 아두이노 핀 6에 연결하고 업로드하세요.
 * FastLED 라이브러리 설치 필수: https://fastled.io
 * 픽셀 스트립은 외부 파워 서플라이로 전원 공급.
 * Vixen에서 Generic Serial Controller 설정: 채널 = 3 × 픽셀 수, 115200 8N1
 * 엘리먼트 생성 시 'Multiple Items (1 × 픽셀 수)' 추가, RGB 픽셀로 설정 후 패치.
 * 전체 튜토리얼: blog.huntgang.com
 * Created Nov 8, 2014 by Richard Sloan & David Hunt
 * Version 1.4
 */
#include <FastLED.h>

#define NUM_LEDS 300
#define DATA_PIN 6

CRGB leds[NUM_LEDS];

void setup() {
  Serial.begin(115200);
}

void loop() {
  int cnt = 0;
  unsigned int num_leds, d1, d2, d3;

  for(;;) {
    cnt = 0;
    // 헤더 수신 대기: '>>' + 3자리 숫자 + '<<'
    while(!Serial.available()); if(Serial.read() != '>') continue;
    while(!Serial.available()); if(Serial.read() != '>') continue;
    while(!Serial.available()); d1 = Serial.read();
    while(!Serial.available()); d2 = Serial.read();
    while(!Serial.available()); d3 = Serial.read();
    while(!Serial.available()); if(Serial.read() != '<') continue;
    while(!Serial.available()); if(Serial.read() != '<') continue;

    num_leds = (d1-'0')*100 + (d2-'0')*10 + (d3-'0');
    if(num_leds > NUM_LEDS) continue;

    FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, num_leds);

    do {
      while(!Serial.available()); leds[cnt].r = Serial.read();
      while(!Serial.available()); leds[cnt].g = Serial.read();
      while(!Serial.available()); leds[cnt++].b = Serial.read();
    } while(--num_leds);

    FastLED.show();
  }
}

회로도

데이터 라인에 470Ω 저항 직렬 연결 필수.

비전 라이트(Vixen Lights)와 아두이노로 네오픽셀 제어하기: 단계별 가이드

제조공정

  1. 아두이노 메가에서 푸시 버튼으로 PWM을 이용해 LED 밝기 제어하기
  2. 아두이노로 초음파 부양 장치 만들기: 단계별 가이드
  3. 아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기
  4. 아두이노와 스마트폰으로 만드는 스마트 전압계 – 초간단 DIY 프로젝트
  5. 아두이노 DHT11 이더넷 실드 온습도 데이터 로거
  6. 스마트 IoT 자 제작: ESP8266, 아두이노 & 초음파 센서로 실시간 모니터링
  7. 아두이노 우노로 정밀 주파수 & 듀티 사이클 측정기 만들기
  8. 아두이노로 지구 질량 측정하기: 단계별 DIY 가이드
  9. 아두이노 소나 & 프로세싱으로 실시간 거리 측정 및 시각화
  10. 아두이노와 프로세싱으로 실시간 디지털 나침반 만들기