[아두이노] 반응형 네온사인 조명 만들기
- HelloMaker
- 0
- 14,885
- 0
- 0
- 글주소
- 12-19
- Link
- http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=project_hardcopy&wr_id=284&page=143
EL wire는 네온사인 조명과 유사한 느낌을 내는 조명장치 입니다. "반응형 네온사인 조명 만들기"는 EL wire와 센서를 이용해서 사람이나 주변 밝기에 반응하는 조명을 직접 만들어 보는 프로젝트입니다. 집에서 장식용으로 사용하거나 상가 혹은 공공 장소의 안내용 조명 장치로 활용할 수 있습니다.
"반응형 네온사인 조명 만들기"는 "2016 서울 상상력 발전소 - 세운상가 그리고 메이커스" 행사의 일환으로 기획되고 워크샵을 진행하였습니다. 행사에 사용되었던 기술자료는 대부분 이 문서에 포함되어 있으므로 워크샵에 참가하지 못하신 분들은 본 문서를 활용하시면 됩니다.
준비물
제작을 위해서는 아래 부품들이 필요합니다.
- 아두이노 우노 보드
- EL wire : 1~8 줄 까지 사용하고 싶은 만큼
- EL Escudo Dos 실드
- 3V 또는 12V DC->AC 인버터
- 아두이노용 12V 어댑터
- 모션 센서 또는 광센서
- 저항, 점퍼선, 글루건, 납땜 도구 및 외형 제작을 위한 도구 일체
EL wire는 AC(교류) 100~115V 정도의 고전압에서 빛을 발산하는 조명 장치입니다. 보통은 선(wire) 형태로 된 EL wire를 많이 사용하지만 면(EL panel), 테이프(EL tape) 등의 제품도 있습니다. 어떤 형태이든 사용법은 모두 같습니다.
EL wire를 밝히기 위해서는 고압의 교류 전기가 필요한데(반면 소모 전류는 낮음) 반해 일반적으로 우리가 사용하는 전원은 DC(직류) 전원입니다. 그래서 직류를 교류로 변환해주는 컨버터가 필요합니다. 대부분 3V 인버터, 12V 인버터를 사용합니다. 3V는 건전지를 이용해서 휴대용으로 만들 때, 12V는 어댑터를 이용하는 대신 더 많은 EL wire를 더 밝게 사용하고 싶을 때 사용합니다.
그럼 EL wire를 밝힐 전원은 공급이 됩니다. 이제 센서로 측정한 조건에 따라 EL wire를 on/off 시켜야 합니다. 그런데 고압의 AC 전원을 on/off 하기 위해서는 특별한 제어장치가 필요합니다. 이런 역할을 해주는 대표적인 모듈이 EL Escudo Dos 실드입니다.
EL Escudo Dos 실드는 아두이노 위에 끼워서 사용할 수 있는 실드 형태로 제작되어 있습니다. 아두이노에 끼우기만 하면 디지털 2번~9번 핀을 이용해서 8개의 EL Wire(A~H포트)를 제어할 수 있습니다. EL Escudo Dos 실드에는 DC->AC 인버터는 내장되어 있지 않기 때문에 별도로 구매해서 달아줘야 합니다.
EL Escudo Dos 실드와 인버터가 준비되면 조명 제어를 위한 준비는 끝납니다. 이제 주변의 밝기나 사람의 동작을 인식할 수 있는 센서가 필요합니다. 여기서는 가장 다루기 쉬운 센서인 광센서(조도센서)와 적외선 모션센서 중 하나를 사용하도록 하겠습니다.
이상의 준비물에 아두이노만 추가하면 네온사인 조명을 만들 준비는 끝납니다.
제작 방법
먼저 아두이노에 센서를 연결해서 동작을 테스트 해봐야 합니다.
적외선 모션센서를 사용해서 사람의 움직임에 반응하도록 하는 경우는 아래처럼 모션센서를 아두이노에 연결합니다. (모션센서를 뒤에서 봤을때 기준으로 연결)
- 아두이노 5V ==> 센서 (+)
- 아두이노 GND ==> 센서 (-)
- 아두이노 D2 ==> 센서 Out 핀
그리고 아래 스케치를 올려 테스트 하면 됩니다. 모션 센서로 모션이 감지되었을 때 아두이노에 내장된 (디지털 13번에 연결되어 있는) LED가 켜져야 합니다.
/* * PIR sensor tester */ int ledPin = 13; // choose the pin for the LED int inputPin = 2; // choose the input pin (for PIR sensor) int val = 0; // variable for reading the pin status void setup() { pinMode(ledPin, OUTPUT); // declare LED as output pinMode(inputPin, INPUT); // declare sensor as input } void loop(){ val = digitalRead(inputPin); // read input value if (val == HIGH) { // check if the input is HIGH digitalWrite(ledPin, HIGH); // turn LED ON } else { digitalWrite(ledPin, LOW); // turn LED OFF } }
자세한 모션 센서 사용법은 다음 링크를 참고하세요.
광센서(조도센서)를 이용해 주변 밝기를 측정해서 동작하게 하고 싶다면 광센서를 아래처럼 연결하면 됩니다.
모션센서를 사용할 때는 모션 인식 여부를 디지털 핀으로 입력 받습니다. 반면, 광센서를 사용할 때는 주변의 밝기 값을 아날로그 핀으로 측정합니다.(밝기에 따라 광센서의 저항이 변하고 출력되는 전압이 변하기 때문) 그래서 A0 아날로그 핀을 사용했습니다.
아래 스케치로 밝기에 따라 아날로그 핀으로 입력되는 값의 변화를 살펴보면 됩니다.
void setup(void) { // We'll send debugging information via the Serial monitor Serial.begin(9600); } void loop(void) { int photocellReading = analogRead(photocellPin); Serial.print("Analog reading = "); Serial.println(photocellReading); // the raw analog reading delay(100); }
주변 밝기 에 따라 값이 어떻게 변하는지 PC에서 아두이노 개발환경 - 시리얼 모니터를 실행해 확인하면 됩니다. 아날로그 핀으로 읽는 값은 0~1023 범위에서 밝기에 따라 변합니다.
적절한 밝기 값을 정한 뒤 EL wire가 켜질 기준값으로 사용하면 됩니다.
EL WIRE 제어
이제 본격적으로 EL wire 조명장치를 만들 차례입니다.
먼저 테스트에 사용되었던 센서들을 아두이노에서 제거하세요. 그리고 EL Escudo Dos 실드와 아두이노를 결합합니다. 아두이노 위에 실드를 그대로 끼우기만 하면 됩니다.
그리고 EL Escudo Dos 실드에 3V 또는 12V 인버터를 연결합니다. EL Escudo Dos 실드를 보면 인버터 연결을 위한 (1)DC TO INVERTER, (2)AC FROM INVERTER 포트가 있습니다. 인버터의 빨간색+검은색 선을 (1)번 포트에, 2줄의 검은색 선을 (2)번 포트에 연결하면 됩니다.
여기서는 아두이노에 12V 어댑터를 연결해서 전원을 공급할 예정입니다. 아두이노에 12V 전원을 넣으면 아두이노 자체가 동작하는데 필요한 전원도 공급되고 EL Escudo Dos 실드가 조명을 켜는데 필요한 전원도 공급됩니다.(인버터로 공급되어 변환된 전원을 사용)
이때 사용하는 어댑터의 전압에 따라 점퍼 설정이 필요할 수 있습니다. 아래 표를 참고해서 SJ1 점퍼를 설정해주세요.
3V inverter | 12V inverter | |
3.7V Lipo battery | close SJ1 | won't work |
5V supply | no changes needed | close SJ1, very dim |
9V supply | no changes needed | close SJ1, dim |
12V supply | no changes needed, but will run warm | close SJ1, bright! |
> 13.5V supply | no changes needed, but will run warm | replace regulator resistors A and B for 12V output, see schematic and LM317 datasheet |
[close SJ1] 에 해당하는 경우 아래 이미지에 보이는 점퍼를 납땜해서 연결되도록 해주세요. 본 예제에서는 12V 어댑터와 12V 인버터를 사용하기 때문에 SJ1 점퍼를 납땜해서 닫았습니다.
그리고 EL wire를 원하는 만큼 EL Escudo Dos 실드에 연결합니다. A~H까지 8개의 포트를 사용할 수 있습니다.
자세한 EL Escudo Dos 실드 사용법은 아래 링크를 참고하세요.
이제 EL wire를 제어하기 위한 준비는 완료되었습니다. 이제 분리해둔 센서를 EL Escudo Dos 실드위에 다시 연결해 줘야 합니다.
주의!!! 모션 센서를 사용하는 경우 테스트 할 때 디지털 2번 핀을 사용했습니다. 하지만 EL Escudo Dos 실드에서 디지털 2~9번 핀을 점유하고 있기 때문에 디지털 11번 핀으로 바꿔줘야 합니다. 즉, 아래처럼 연결해줘야 합니다.
- 아두이노 5V ==> 센서 (+)
- 아두이노 GND ==> 센서 (-)
- 아두이노 D11 ==> 센서 Out 핀
광센서를 사용하는 경우 테스트 할 때와 똑같이 연결해주면 됩니다.
이제 센서를 이용해서 EL wire가 점등되는지 테스트 해볼 스케치를 작성하고 업로드 해보겠습니다. 모션 센서를 사용하는 경우는 아래 스케치를 사용하세요.
void setup() { pinMode(2, OUTPUT); // channel A pinMode(3, OUTPUT); // channel B pinMode(4, OUTPUT); // channel C pinMode(11, INPUT); // PIR motion sensor } void loop() { int status; status = digitalRead(11); // Read from PIR motion sensor digitalWrite(2, status); // turn the EL channel on digitalWrite(3, status); digitalWrite(4, status); delay(100); }
아두이노 디지털 11번 핀으로 모션센서의 측정값을 읽습니다. 그리고 디지털 2, 3, 4번 핀으로 3개의 EL wire를 on/off 시킵니다. EL wire를 추가로 사용하는 경우라면 5, 6, 7, 8, 9 번 핀을 추가로 제어해주면 됩니다.
스케치를 아두이노에 업로드하고 12V 어댑터를 아두이노에 연결해주세요. 그럼 12V 어댑터를 통해 아두이노용 전원도 공급되고 EL Escudo Dos 실드에도 전원이 공급됩니다.
센서가 모션을 감지하면 EL wire가 켜지는지 확인하세요.
주의!!! EL wire 에는 소량의 전류이긴 하지만 고압의 AC 전원이 공급됩니다. 따라서 전원이 들어간 상태에서 절대 EL ESCUDO DOS 실드 혹은 EL wire의 포트 연결 부위를 만지면 안됩니다!! 물, 전도성 물체가 아두이노 및 실드에 닿지 않도록 주의해야 하며, 모든 작업은 반드시 전원 공급이 차단된 상태에서 해야 합니다.
광센서를 사용하는 경우에는 아래 스케치를 이용해서 테스트 해보세요.
void setup() { pinMode(2, OUTPUT); // channel A pinMode(3, OUTPUT); // channel B pinMode(4, OUTPUT); // channel C pinMode(11, INPUT); // PIR motion sensor } void loop() { int onoff = LOW; int status = analogRead(A0); // read light sensor if(status > 512) onoff = HIGH; else onoff = LOW; digitalWrite(2, onoff); // turn the EL channel on digitalWrite(3, onoff); digitalWrite(4, onoff); delay(100); }
아날로그 핀으로 광센서의 값을 읽고 일정 기준(512) 이상일 경우 EL wire 가 켜지도록 만든 스케치입니다. 기준값 512 를 원하는 값으로 변경해보세요.
테스트가 성공적이라면 아래처럼 센서에 의해 EL wire가 제어될 겁니다.
외형 제작
이제 조명 기기답게 외형을 제작하면 됩니다.
상상력을 발휘해서 본인만의 멋진 네온사인 조명을 만들어 보시길!!