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

아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명

부품 및 소모품

아두이노 나노 R3 ×1
네오픽셀 스트립 ×1

앱 및 온라인 서비스

프로젝트 소개

간단한 DIY 애니메이션 마키 조명

아케이드 캐비닛이나 기타 프로젝트에 애니메이션 조명을 추가하는 간단한 튜토리얼입니다. 마키 백라이트 등 다양한 용도로 활용할 수 있습니다.

준비물: 아두이노 나노(또는 호환 보드), 네오픽셀 스트립, 전선 3가닥.

제작 과정

아래 영상을 참고하여 제작하세요.

간단 설정

하드웨어 연결

아두이노 나노에서 네오픽셀 스트립으로 3가닥 전선을 납땜합니다: 5V, 디지털 신호(아두이노 2번 핀 사용), 그라운드.

팁: 열수축 튜브로 케이블을 묶어주세요. 특히 LED 스트립 연결부는 반드시 커버하여 납땜 부위가 떨어지지 않게 하세요.

아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명
아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명
아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명

코드 업로드

스케치에서 연결된 스트립의 LED 개수를 설정한 후 아두이노에 업로드하고 테스트하세요. 예제 코드는 '워킹', '깜빡임', '펄싱' 애니메이션을 흰색으로 구현합니다. 코드를 수정하면 다양한 애니메이션과 색상 연출이 가능하며, 단순 백라이트로도 사용 가능합니다.

아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명

설치

캐비닛에 딱 맞게 골판지 2개를 잘랐습니다. 하나는 네오픽셀 스트립을 붙이는 배경용, 다른 하나는 마키 하단 뒤에 평평하게 놓아 빛이 아래로 직접 비치지 않게 차단합니다. 캐비닛에 맞게 모서리를 다듬었습니다.

아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명

골판지에 가퍼 테이프를 붙여 검정색으로 만들고, 네오픽셀 스트립을 접착제로 고정한 뒤 전선과 나노를 골판지 뒷면에 테이프로 고정했습니다.

아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명
아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명
아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명

두 부품을 캐비닛에 넣고 나노의 USB 케이블을 5V 전원(라즈베리파이 USB 포트)에 연결합니다.

아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명

기존 마키를 다시 장착하거나 직접 제작한 마키로 교체하세요. 저는 포토용지에 출력해 마키 크기에 맞게 잘라 사용했습니다.

팁: 전문 인쇄업체에 필름 인쇄를 의뢰하면 결과물이 훨씬 더 훌륭해집니다.

아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명

필요 라이브러리

라이선스

스케치 일부는 인터넷에서 발췌했으며 원저작자에게 저작권이 있습니다. 개인적 용도로만 자유롭게 사용 가능하며 상업적 이용은 금지됩니다. 문의: ericBcreator@gmail.com

코드

애니메이션 마키 조명 코드 Arduino

/* **********************************************************************
 * Marquee lighting with Neopixels by ericBcreator
 * simple script for lighting an (arcade) marquee
 **********************************************************************
 * last update 20181021 by ericBcreator
 *
 * Inspired by an article by sandyjmacdonald
 * https://sandyjmacdonald.github.io/2015/12/02/picade-errata/
 *
 * components:
 * - Neopixel strip
 * - Arduino Nano
 *
 * This code is free for personal use, not for commercial purposes.
 * Please leave this header intact.
 *
 * contact: ericBcreator@gmail.com
 ********************************************************************** */

#include 
#define PIN 2

int numOfLeds = 11;
int minBrightness = 80;
int maxBrightness = 255;
int walkingLedsDelay = 250;
int flashDelay = 250;
int numOfFlashLoops = 3;
int numOfPulseLoops = 10;
int pulseDelay = 20;

Adafruit_NeoPixel strip = Adafruit_NeoPixel(numOfLeds, PIN);

void setup() {
  strip.begin();
}

void loop() {
  walkingLeds();
  flashLeds();
  for (int i = 0; i < numOfPulseLoops; i++)
    pulseBrightness();
}

void walkingLeds() {
  setLedColorsToZero();
  strip.setBrightness(maxBrightness);
  strip.show();
  for (int x = numOfLeds; x > 0; x--) {
    strip.setPixelColor(x, strip.Color(255, 255, 255));
    strip.show();
    delay(walkingLedsDelay);
    strip.setPixelColor(x, 0);
    strip.show();
  }
}

void flashLeds() {
  setLedColors();
  for (int i = 0; i < numOfFlashLoops; i++) {
    strip.setBrightness(maxBrightness);
    strip.show();
    delay(flashDelay);
    strip.setBrightness(minBrightness);
    strip.show();
    delay(flashDelay);
  }
}

void pulseBrightness() {
  setLedColors();
  for (int i = minBrightness; i < maxBrightness; i++) {
    strip.setBrightness(i);
    strip.show();
    delay(pulseDelay);
  }
  for (int i = maxBrightness; i > minBrightness; i--) {
    strip.setBrightness(i);
    strip.show();
    delay(pulseDelay);
  }
}

void setLedColors() {
  for (int x = 0; x < numOfLeds; x++)
    strip.setPixelColor(x, strip.Color(255, 255, 255));
}

void setLedColorsToZero() {
  for (int x = 0; x < numOfLeds; x++)
    strip.setPixelColor(x, strip.Color(0, 0, 0));
}

회로도

아두이노 나노와 네오픽셀로 만드는 다이나믹 마키 LED 조명

제조공정

  1. 가정용 저렴한 무선 센서 네트워크 구축하기
  2. 아두이노 & 라즈베리 파이로 인터넷 제어 영상 스트리밍 로봇 만들기
  3. 전기 설계 마스터하기: E3.schematic 기능으로 프로젝트 최적화
  4. 알렉사(Alexa)로 천장 선풍기 제어하기 - 단계별 가이드
  5. 아두이노 클라우드 연동으로 어디서든 집 온도 모니터링하기
  6. 아두이노 IoT 클라우드로 알렉사와 TV 제어하기: 단계별 가이드
  7. 중앙난방과 아두이노 연동: OpenTherm 실드로 스마트 제어 구현
  8. ThimbleKrox: 아두이노 마이크로와 MPU-6050을 이용한 손가락 장착형 마우스 컨트롤
  9. 아두이노 MKR1000 핀아웃 완전 정복: IoT 개발의 필수 보드
  10. 첨단 자동화 실현의 열쇠: 3D 비전이 프로젝트에 필수인 이유