티스토리 뷰
제목: 평창 기념 탁상용 조명
<활용도구>
3D프린트 (네오픽셀 거치대 가로1cm세로1cm길이 9cm)
오렌지보드를 활용한 블루투스 조명(네오픽셀8)
레이저커트(아크릴 인그레이빙,나무 인그레이빙과 cut)
애플리케이션: smartlight
오일링: cutting board oil (USA)
<재료>
납땜도구: 페이스트 : solderring paste - brnley 57g
납: 제조사----구룡비철 룡표 실땜남
인두 : 소비전력 40ww ceramic heater type s
oldering iron 220v 60hz
(주)엑소 최고온도 450도
모델명: jy-2200 절연저항 100 메가옴
5V 네오픽셀 스틱 8개 LED / WS2812 RGB, RGBW / 개별제어
구매는 에이브이컴
왼쪽의 4 단자에 점퍼캐이블을 납땜 연결한다.
Din --디지털신호입력
<구성요소>
오렌지보드는 아두이노 Uno+blutooth
3mm MDF (BOX)
네오픽셀
네오픽셀은 Adafruit사에서 붙인 이름으로, WS281x 칩이 내장된 LED를 말합니다.
LED는 다른 조명들에 비해 가격이 비싸지만 밝고, 수명이 길다는 장점이있습니다.
● 네오픽셀의 장점은?
각각의 LED에 대한 개별제어(색상, ON,OFF)가 가능하며, 연결 배선이 간단하단 점입니다. 네오픽셀는
다양한 모양이 존재하며 어떤 모양이든 서로 연결이 가능합니다, 연결된 LED가 1개든 100개든 단 3개의
선만으로 모든 LED를 제어할 수 있습니다.
● 네오픽셀의 단점은?
컨트롤러가 필요하다는 점입니다. 네오픽셀은 총 3개의 공통단자가 존재하며, 각각 VCC, GND, D핀입니다.
VCC와 GND로는 전원을 입력해주며, D핀으로는 디지털 신호를 입력해줘야합니다. 디지털 신호를 어떻게
보내주느냐에 따라 LED를 제어할 수 있습니다. 아두이노라는 컨트롤러로 사용하는 경우가 많으며, 사용방법은
예제가 많기때문에 크게 어렵진 않습니다.
● 네오픽셀의 종류는?
■ 모양에 의한 분류 : 네오픽셀은 제품에 따라 링, 스트립, 스틱, 매트릭스, 소자 등 여러가지 타입이 존재합니다.
[출처] 네오픽셀 RGB LED WS2812에 대해 알아보기 / 아두이노 조명 네오픽셀 / Adafruit Neopixel|작성자 오픈랩
<회로도 그리기>
Fritzing
은 포츠담 대에서 만들어진 오픈소스형 CAD프로그램으로, 엔지니어 보다는 디자이너나 하드웨어 제작자(Maker), 예술가를 대상으로 한 도구 이고 사용이 매우 편리합니다.
사용자들을 위한 화면배열이 잘 되어 있고, 끌어당겨서 옮겨놓으면 회로를 구현할 수 있을 정도로 쉽게 구성되어 있습니다.
Fritzing은 http://fritzing.org/download/
지름길이 9cm의 원형블루투스 거치대를 모델링 해서 제작한것입니다.
<최종결과물>
smartlight 앱을 통한 컬러 조절
이두이노소스코드>
/*
제목 : 평창올림픽조명 : kocoafab 소스도움
*/
#include <Adafruit_NeoPixel.h>
#include <SoftwareSerial.h>
#define PIN 6
// 디지털인풋신호
SoftwareSerial BTSerial(4, 5);
.
int redTemp = 0;
int blueTemp = 0;
int greenTemp = 0;
// 네오픽셀 LED 셋팅(여기선 8개의 Pixel을 사용했는데 연결한 Pixel 수에 맞게 숫자를 바꿔주세요)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(8, PIN, NEO_GRB + NEO_KHZ800);
// Neopixel의 색깔을 정해주는 함수
void colorWipe(uint32_t c, uint8_t wait) {
for (uint16_t i = 0 ; i<strip.numPixels() ; i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
void setup() {
strip.begin();
// 모든 LED Pixel을 Off로 셋팅해줍니다.
strip.show();
Serial.begin(9600);
BTSerial.begin(9600);
}
void loop() {
// 블루투스를 통해 데이터가 들어오면
if (BTSerial.available()) {
// 받은 데이터를 각 색깔별로 맞게 셋팅해줍니다.
if (BTSerial.find("R")) {
redTemp = BTSerial.parseInt();
}
if (BTSerial.find("G")) {
greenTemp = BTSerial.parseInt();
}
if (BTSerial.find("B")) {
blueTemp = BTSerial.parseInt();
}
// 각 색깔별로 제대로 된 수치가 들어왔는지 시리얼모니터로 확인
Serial.print("R : ");
Serial.println(redTemp);
Serial.print("G : ");
Serial.println(greenTemp);
Serial.print("B : ");
Serial.println(blueTemp);
// 각 색깔별로 셋팅된 값을 이용하여 NeoPixel LED의 색깔을 밝혀줍니다.
colorWipe(strip.Color(redTemp, greenTemp, blueTemp), 50);
// NeoPixel LED 색깔이 모두 켜졌으면 각 색깔값들을 초기화
if (BTSerial.read() == 13) {
redTemp = 0;
greenTemp = 0;
blueTemp = 0;
Serial.println("Reset");
}
}
}
'팹랩메이커양성프로젝트' 카테고리의 다른 글
| 최종프로젝트1_acce220v 업사이클 조명 (0) | 2017.11.30 |
|---|---|
| 제14회차 ---- 3d scanning (0) | 2017.11.28 |
| 제13회차--아두이노 (0) | 2017.11.22 |
| 제20회차--프로젝트발표와 마무리 (0) | 2017.11.22 |
| 제19회차--블루투스 (0) | 2017.11.22 |
