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

휴일 그림자 극장

구성품 및 소모품

아두이노 101
× 1
SparkFun 어드레서블 RGB LED 스트립
쉬운 연결을 위해 이것을 사용하지만 주소 지정이 가능한 모든 LED 스트립이 작동합니다(약간 조정)
× 1
SparkFun 수 배럴 잭 어댑터
지역 전자제품 매장에서 종종 찾을 수 있습니다.
× 1
SparkFun 암 배럴 잭 어댑터
× 1
SparkFun 3xAA 배터리 홀더(스위치 포함)
× 1
SparkFun AA 배터리
이것은 어디에서나 사용할 수 있는 일반 배터리입니다. 공급업체 목록을 짧게 유지하기 위해 SparkFun을 선택했습니다. 3AA 배터리가 필요합니다.
× 3
Pololu 스텝 업 레귤레이터 12v
이것은 LED 스트립에 전원을 공급하는 동일한 배터리로 Arduino 101에 전원을 공급하는 편리한 방법입니다.
× 1
일반 프린터 용지 - 4매 8.5x 11"
× 1
카드 스톡 용지 100lb, 8.5 x 11의 4장"
× 1
화이트 3/16" 폼 코어, 4개의 8.5 x11에 충분 " 조각
× 1

필요한 도구 및 기계

뜨거운 글루건(일반)
납땜 인두(일반)
Xacto 칼
예비 xacto 블레이드(#11)
와이어 스트리퍼, 12-20 AWG
프린터 액세스(카드 스톡에 인쇄 가능)
배럴 잭 커넥터의 터미널을 조이는 작은 드라이버.

앱 및 온라인 서비스

Arduino IDE
블링크
Adafruit 네오픽셀 라이브러리

이 프로젝트 정보

개요

이 프로젝트는 주소 지정이 가능한 LED 스트립, 폼 코어 및 카드지 용지인 Arduino 101을 사용하여 전화로 제어할 수 있는 애니메이션 그림자 극장을 만듭니다. 전자 장치는 비파괴적으로 사용되므로 나중에 다른 프로젝트에 쉽게 사용할 수 있습니다. 전자 제품의 99%가 포함된 편리한 Sparkfun 위시리스트입니다.

작동 방식:

주소 지정이 가능한 LED 스트립 하나가 Shadow Theatre 한가운데에 있는 폼 코어 조각 위에 감겨 있습니다. 바닥 근처의 조명이 순차적으로 천천히 발사되고 핀홀을 통해 빛을 발하여 애니메이션 그림자를 만듭니다. 더 높은 곳의 조명은 상단의 건물로 전달되고 스트립의 마지막 LED는 전체 장면을 비추는 데 사용되어 주요 그림자를 만듭니다.

Arduino 101에는 블루투스 라디오가 내장되어 있으며 Blynk라는 빠른 프로토타이핑 앱을 사용하여 장면을 원격으로 제어합니다. 예제 코드에서 건물의 색상을 제어하고 깜박이는 불을 켜고 주요 그림자 조명의 밝기를 제어할 수 있습니다.

1부:전자 제품 설정

1단계

조명 끝에서 약 1cm를 잘라 LED 스트립에서 끝 하네스를 모으십시오. 와이어 끝을 벗겨냅니다.

2단계

전압 조정기와 함께 제공된 구부러진 헤더 핀을 분리하고 그 중 2개를 녹색 및 노란색 와이어 끝에 납땜합니다. 이렇게 하면 Arduino 101의 핀에 쉽게 연결할 수 있습니다.

3단계

다음으로 빨간색 와이어를 전압 조정기의 VIN 단자에 납땜하고 두 개의 직선 헤더를 그림과 같이 GND 및 VOUT 핀에 납땜합니다.

4단계

이제 배럴 잭 어댑터를 연결합니다. 먼저 배터리 케이스에서 나오는 전선의 끝을 벗겨낸 다음 수 배럴 잭의 단자에 장착하고 드라이버로 조입니다. RED는 (+) 단자로, BLACK은 (-) 단자로 이동합니다.

다음으로 암 배럴 잭 어댑터를 LED 스트립의 시작 부분에서 나오는 느슨한 전선에 연결합니다. YELLOW는 (-) 단자에, RED는 (+)에 연결됩니다.

5단계

이제 하네스를 Arduino 101에 연결하십시오. GREEN 와이어는 PIN 6으로 연결되고 노란색 와이어는 #13 근처의 GND 핀으로 연결됩니다.

전압 조정기에 있는 두 개의 헤더 핀을 사용하여 GND는 GND로 이동하고 VOUT은 Arduino 101의 "Vin" 핀으로 이동합니다. 이것을 잘못 이해하지 마십시오! 거꾸로 연결하면 냄새와 화상을 입을 수 있습니다. 나는이 사실을 알고.

2부:폼 코어 스테이지 조립.

일반 프린터 용지(4매)에 폼코어 패턴을 인쇄하고, 마분지 용지(4매)에 마분지 패턴을 인쇄합니다.

1단계

인쇄된 폼 코어 패턴 페이지를 사용하여 폼 코어 조각을 잘라냅니다. 폼 코어에 패턴을 놓은 다음 취미용 칼로 윤곽을 살짝 따라가며 선을 전달할 수 있습니다.

2단계

조각을 자르면 다음과 같이 LED 스트립 홀더를 조립하여 시작합니다.

이제 LED 스트립을 잡고 테이프 또는 뜨거운 접착제로 첫 번째 LED를 바닥에 부착하고 그림과 같이 LED를 감쌉니다. 아이디어는 LED 스트립을 그대로 유지하는 것입니다. 아주 꽉 조일 필요는 없습니다.

3개의 랩을 만든 후에는 꼬리 끝을 자유롭게 남겨두고 테이프나 뜨거운 접착제로 상단을 고정합니다.

3단계

이 LED 스트립에는 주소 지정이 가능한 LED가 있습니다. 즉, "이봐, 중간에 빨간색으로 변해!"라고 말할 수 있습니다. 그러나 그들은 "안녕하세요"라고 대답하지 않으므로 전화번호를 알아야 합니다.

주름 아래의 LED는 그림자 극장의 뒷면을 비추고 애니메이션에 사용됩니다. 아래 예에서 내 애니메이션 조명은 0, 1, 2, 20, 21, 22, 40, 41, 42입니다. 상단 섹션에 있는 두 개의 LED가 집에 비춰집니다. 저는 LED 23을 사용하여 뒷집에 빛을 비추고 25를 사용하여 앞 집의 조명을 시뮬레이션합니다.

LED 수를 세고 나중에 적절한 LED 번호를 코드에 입력할 수 있도록 이해하기 쉬운 간단한 참조 지도를 그립니다. 컴퓨터가 있으므로 스트립 시작 부분에서 0부터 시작하는 것을 잊지 마십시오.

4단계

LED 홀더를 폼 코어 바닥 부분에 붙입니다. 그림과 같이 배치하여 조명의 넓은 줄무늬가 밑면과 세로 방향으로 대략 중앙에 오도록 합니다.

이제 그림과 같이 뜨거운 접착제로 끝 부분에 구부러진 폼 코어 측면 조각을 추가하십시오.

5단계

이제 조명 칸막이를 추가하세요. 및 폼 코어 상단 부분 . 라이트 디바이더는 애니메이션 라이트가 집으로 쏟아지는 것을 방지하고 그 반대의 경우도 마찬가지입니다. 가장 큰 칸막이를 LED 홀더의 주름 가까이에 놓고 작은 칸막이를 그 위에 배치하여 그들 사이에 최소한 하나의 LED가 있도록 합니다(아래 사진 참조). 상단 부분을 배치합니다. 아래 슬라이드 쇼와 같이 받침대와 정사각형이 되도록 하고 뜨거운 접착제로 고정합니다.

6단계

스트링의 마지막 LED가 장면에서 빛날 수 있도록 LED 스트립의 끝을 뜨거운 접착제로 전면 상단 가장자리에 부착합니다. 메인 섀도우 LED입니다.

3부:Arduino 101 프로그래밍 및 Blynk 설정

USB 프로그래밍 케이블을 Arduino 101에 연결하고 LED 스트립, 배터리 팩 및 Arduino 101을 모두 연결합니다(배터리 팩의 전원 스위치를 '꺼짐'으로 둡니다).

다음이 필요합니다 아두이노 IDE 컴퓨터에 설치됨 Intel Curie Core 사용(Arduino 101 시작하기 참조) 또한 Adafruit Neopixel 라이브러리 Blynk 라이브러리 <강하다>.

Arduino가 처음이라면 몇 가지 기본 예제 스케치를 실행하여 모든 것이 제대로 작동하는지 확인하는 것이 좋습니다.

1단계

설치 Blynk 앱 휴대전화에서

Blynk는 신속한 개념 증명 구축 및 Arduino 101 원격 제어를 위한 훌륭한 도구입니다. BLE 지원에는 여전히 몇 가지 버그가 있지만 Blynk는 전화에서 Arduino 101 프로젝트를 제어하는 ​​가장 빠른 방법입니다.

2단계

아두이노 IDE에 예제 코드를 로드하고 필요한 경우 이전에 만든 지도를 사용하여 LED 픽셀 수를 변경합니다.

프로그램은 "pos[ ]" 배열의 LED 번호를 통해 애니메이션을 만들어 눈이 내리는 환상을 만듭니다. 설정과 일치하도록 필요한 경우 이 숫자를 변경합니다(애니메이션 LED는 LED 홀더의 주름 아래에 있는 LED입니다.). 숫자를 발사하려는 순서대로 정렬합니다. 조명은 핀홀을 통해 투사되어 "눈"을 만들기 때문에 아래에서 위로 조명하면 눈이 내리는 것처럼 보이고 왼쪽에서 오른쪽으로 가면 눈이 오른쪽에서 왼쪽으로 부는 것처럼 보입니다.

//#눈 애니메이션 조명 int pos[] ={0, 1, 2, 20, 21, 22, 40, 41, 42};  

다음으로 애니메이션할 픽셀 수를 설정합니다.

//#위의 배열에 몇 개의 애니메이션 픽셀이 있습니까? 정수 numLeds =9;  

그런 다음 장면에 빛나는 가닥의 끝에 있는 픽셀을 설정합니다(60픽셀 스트립에서 이것은 픽셀 #59입니다.)

//#메인 스트랜드 끝에 있는 그림자 투사 LED. int shadowPixel =59; 

뒷집에 비출 조명에 대한 픽셀을 선택하십시오. 이 픽셀은 두 라이트 디바이더 사이에 있어야 합니다.

//#후방 조명용 픽셀 lightHousePixel =23;  

마지막으로 앞집에 비출 픽셀의 수를 "불 픽셀"로 설정합니다. 이 픽셀은 더 작은 라이트 디바이더 바로 앞에 있어야 합니다.

//#집 앞의 깜박이는 불빛에 대한 픽셀 int firePixel =24;  

위의 코드가 필요에 따라 변경되면 컴파일하여 Arduino 101에 업로드할 수 있습니다. 코드가 성공적으로 업로드되면 USB 케이블을 분리하고 배터리 팩의 전원 스위치를 "켜짐"으로 설정합니다. shadowPixel이 켜지고 애니메이션 픽셀이 순서대로 켜집니다. 집과 화재 픽셀은 Blynk로 제어할 때까지 꺼집니다.

3단계

Blynk 앱 로드:

휴대폰에서 Blynk 앱을 열고 오른쪽 상단 근처에 있는 "스캔" 버튼을 누릅니다. 이 QR 코드를 스캔하면 컨트롤러 인터페이스가 자동으로 로드되고 모든 설정이 완료됩니다.

로드되면 인터페이스는 다음과 같아야 합니다.

위의 코드를 스캔하는 대신 Blynk 인터페이스를 수동으로 구축하려는 경우 BLE 위젯과 VO, V1 및 V2에 대해 0-100을 출력하도록 설정된 3개의 슬라이더로 시작하십시오.

4단계

BLE를 통해 Arduino 101에 연결 . BLE 위젯을 탭하고 Arduino 101의 전원이 켜져 있으면 "ShadowTheater"가 표시되어야 합니다. 연결한 다음 오른쪽 상단에 있는 "재생" 화살표 아이콘을 눌러 프로젝트를 제어하세요. 휴대전화가 절전 모드로 전환된 후 다시 연결해야 할 수 있습니다.

어려운 작업은 모두 마쳤습니다. 이제 제작에 들어갑니다! 마지막 공개까지 모든 것을 끌 수 있습니다.

4부:카드 스톡 실루엣, 건물 및 최종 수정

1단계

인쇄된 4장의 카드 스톡 시트를 찾으십시오. 취미용 칼과 신선한 칼날을 사용하여 배경 실루엣을 잘라냅니다. 칼날을 자주 갈아주세요! 무딘 칼날로 자르는 것은 매우 실망스럽습니다. 이 실루엣을 잘라내고 칼날을 3번 바꿨습니다.

2단계

집 조각을 자르고 뜨거운 접착제로 뒷면을 붙입니다. 인쇄된 면이 뒤쪽을 향해야 하므로 앞에서 잉크가 보이지 않습니다. 아래 사진을 스크롤하십시오.

3단계

무대에 집을 추가합니다. 뜨거운 접착제 또는 테이프를 사용할 수 있습니다. 모든 틈을 닫아 빛이 집으로 들어오지만 측면으로 쏟아지지 않도록 하십시오.

4단계

이제 실루엣 시트의 측면을 접고 바닥을 핫 글루로 무대 뒤쪽 가장자리에 붙입니다. (인쇄된 면이 뷰어에서 멀어지도록 합니다.)

5단계

그림자 극장 뒤의 벽에 투영할 설경을 잘라냅니다. 핀이나 이쑤시개를 사용하거나 복잡한 모양을 잘라낼 수 있습니다. 시트가 완성되면 곡선 가장자리에 열접착하여 투영 표면을 만듭니다.

6단계

뜨거운 접착제로 왼쪽과 앞 시트를 붙입니다.

오른쪽 시트를 테이프로 느슨하게 붙이면 배터리 케이스에서 전원을 켜고 끌 수 있습니다.

모두 완료되었습니다! 근처에 벽이 있는 어두운 영역을 찾아 시도해 보세요! 처음 전원을 켰을 때 Shadow Theatre는 장면 그림자와 떨어지는 눈을 만들어야 합니다. Blynk 앱으로 메인 조명과 건물의 조명을 제어할 수 있습니다.

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 그림자 극장 Arduino 스케치
  • 그림자 극장 Arduino 스케치Arduino
    이 스케치는 Adafruit NeoPixel 라이브러리와 Blynk 라이브러리를 사용합니다. 이를 통해 주소 지정이 가능한 LED 스트링의 LED를 원격 제어하여 그림자 극장에서 효과를 만들 수 있습니다.
    /* Copyright (c) 2016 Intel Corporation. 판권 소유. 파일 끝에 있는 라이선스 고지를 참조하십시오.*////////////////////////Shadow Theatre 설정에 맞게 변경해야 하는 변수입니다.//// ///////////////////////////////////////눈 애니메이션 조명 pos[] ={0, 1, 2, 20, 21, 22, 40, 41, 42}; // 애니메이션에 사용할 수 있는 LED는 무엇입니까? 왼쪽에서 오른쪽으로 순서대로 호출됩니다.int numLeds =9; //위의 배열에 몇 개의 애니메이션 픽셀이 있습니까?int shadowPixel =59;/// 스트랜드 끝에 있는 주요 그림자 투사 LED.int lightHousePixel =23; //후방 조명의 픽셀 firePixel =24; //집 앞의 깜박이는 불빛을 위한 픽셀./////////////////////////////////////// ////////////////////////////////////////////////////// ////////////////////////////////////////////////////// //#include #include #include #define PIN 6int v0 =0; // Blynkint에서 들어오는 값을 유지하는 변수 v1 =0;int v2 =0;int fadeup =0; // 가벼운 애니메이션 스무딩을 위한 변수int fadedown =0;int firetimer =0; /// 불을 깜박이게 하는 변수들 fireinterval =50;int flicker =0;unsigned long lightcounter =0; //애니메이션 라이트를 통해 계산하는 변수 영원히int stp =0; ///애니메이션을 위한 가벼운 단계. 하나는 현재 조명을 켜기 위한 것이고 다른 하나는 이전 조명을 끄기 위한 것입니다.int stpOld =0;unsigned long timer =0;int interval =0;char auth[] ="YourAuthToken"; /// 인증 토큰은 현재 BLE용 Blynk에서 사용되지 않습니다. 나중에 켜져 있는 경우 Blynk 앱에서 인증 토큰을 가져와 ""에 붙여넣을 수 있습니다. BLEPeripheral blePeripheral; ///BLE 연결 설정Adafruit_NeoPixel 스트립 =Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800); //// 라이트 스트립을 설정합니다. LED 스트립에 60픽셀보다 많거나 작은 픽셀이 있는 경우 첫 번째 숫자를 strip.void setup() { delay(1000); 타이머 =밀리(); strip.begin(); 스트립쇼(); // 모든 픽셀을 'off'로 초기화 blePeripheral.setLocalName("ShadowTheatre"); blePeripheral.setDeviceName("그림자 극장"); blePeripheral.setAppearance(384); Blynk.begin(인증, blePeripheral); blePeripheral.begin(); 간격 =350; //눈이 내리는 350ms의 시간 간격 animation}void loop() { Blynk.run(); //실시간 제어를 위한 블링크 항목 blePeripheral.poll(); //////// 그림자 픽셀을 켜고 Blynk로 제어합니다. strip.setPixelColor(shadowPixel, 200 - v2, 160 - v2, 160 - v2); //그림자 조명을 켜고 v2(Blynk 앱에서 전송)가 조명을 변경합니다. // 발사 if ((millis() - firetimer)> fireinterval) { firetimer =millis(); 깜박임 =임의(0, 40); //설정된 시간 간격이 지나면 불의 밝기를 0과 40 사이에서 무작위로 변경합니다. } if (v0> 1) { strip.setPixelColor(firePixel, 80 + v0 + flicker, v0 + flicker, 0); // fire =Blink에서 슬라이더의 밝기, + 빨간색으로 가중된 깜박임 값 } else { strip.setPixelColor(firePixel, 0, 0, 0); //Blynk 슬라이더가> 0인 경우에만 불을 켭니다. } //houselights if (v1> 1) { strip.setPixelColor(lightHousePixel, 200 - v1, v1, 0); /// Blynk의 Houselight Slider가>0이면 뒷집의 집 조명을 제어합니다. 그렇지 않으면 끕니다. } else { 스트립.setPixelColor(lightHousePixel, 0, 0, 0); } //눈 애니메이션 if ((millis() - timer)> interval) { //간격이 지날 때마다 한 단계 앞으로 이동하고 페이드를 재설정합니다. stpOld =stp; 타이머 =밀리(); 라이트카운터++; stp =(라이트 카운터 % numLeds); /// 0에서 numLeds-1까지 계속해서 계산합니다. fadeup =0; // 간격이 지날 때마다 페이드 값을 재설정합니다. fadedown =170; } 페이드업 +=2; 페이드업 =제약(페이드업, 0, 170); 페이드다운 -=2; 페이드다운 =제약(페이드다운, 0, 170); for (int i =0; i   

    회로도

    폼 코어 절단을 위한 가이드로 사용할 일반 프린터 용지에 인쇄합니다. 그것들을 맨 위에 놓고 취미 칼로 추적하여 패턴을 전달할 수 있습니다.8.5 x 11" 판지 용지(4장)에 인쇄합니다. 집, 측면 및 그림자 실루엣을 만듭니다. 운이 좋다면 액세스할 수 있습니다. 레이저 커터나 비닐 커터에 이 패턴을 사용하여 카드지 조각을 잘라낼 수 있습니다. 30bn6Le68V1Lpp2spRMw.svg

    제조공정

    1. 공휴일 조명
    2. 발광 다이오드(LED)
    3. 관춤 멜로디
    4. Arduino 게임 컨트롤러
    5. 구름 의상
    6. 5x5x5 LED 큐브
    7. Bluetooth가 탑재된 Arduino로 LED 제어!
    8. Arduino 기반 물병
    9. 사운드에 의한 8x LED 조명
    10. Arduino Quadruped