반응형

아이가 유치원에서 너무나 예쁜 스탠드를 만들어 왔습니다.. AAA 건전지가 들어가는 예쁜 스탠드.

스텐드 옆면에 예쁘게 그림을 그려서 본인이 자는 방에 가져다 두고는

"오늘부터 얘가 나를 지켜줄꺼야~"

ㅎㅎ

너무나 귀엽지 않습니까?

 

저녁이 되어 불을 켜보니 

ㄷㄷㄷ 오던 잠도 깰것 같은 블루라이트가 펑펑

헐랭

정말 오던 잠도 달아날 것 같은 푸르스름한 조명이더군요.

그래서 바꿔주기로 하였습니다.

  • 일단 조명 색상은 따뜻한 색상으로 
  • 밤새 켜져 있지 않도록 자동으로 소등될 것

요렇게 간단한 요구사항을 작성한뒤에 바로 실행에 들어갑니다.

 

필요한 재료는 간단합니다.

  • Attiny85 (아두이노를 사용하기는 아깝잖아요?)
  • 1W LED (5000K 미만)
  • 50uf 전해 콘덴서 (작은걸로)
  • 전선 조금.

 

간단하죠?

우선 자동으로 소등이 되어야 하고 소등이 될때는 서서히 어두워 지는 것이 좋을 것 같아 먼저 테스트를 해보기로 하였습니다.

우선 Attiny 에 대하여 간단히 알아 보아야 하는데요. attiny 는 아주 작은 마이크로프로세서로 칩안에 부트로더, 디지털핀, 아날로그핀, PWM 핀을 모두 갖춘 환상적인 부품입니다. 전압만 적당히 주면 칩하나로도 왠만한 동작이 가능한 녀석입니다. 나중에 이녀석을 이용한 작품들을 좀 소개해 드리겠습니다.

 

소스코드를 업로드 하기 위하여 별도의 프로그래머가 필요하긴 하지만 아두이노를 이용하여 간단하게 프로그래머로 사용할 수 있는 방법이 있으니 걱정마시고 진행하시면 됩니다.

저는PWM 핀에 일정 시간이 지나면 서서히 전압을 감소 시킨뒤 0V 까지 떨어지면 Attiny85를 sleep 모드로 진입시켜 초절전상태가 되도록 할 계획입니다. 

 

 

아두이노 ISP 만들기

아두이노를 ISP 와 같이 사용하여 Attiny85 를 프로그래밍 할 건데요. 간단합니다.

아두이노 예제에 있는 ArduinoISP 를 열어 주세요.

아두이노 기본 예제에 들어있는 ArduinoISP 소스

해당 소스를 본인의 아두이노 설정에 맞게 세팅한 뒤 업로드를 합니다. 

그런 다음 10uf 전해 콘덴서를 하나 준비해주시고

Arduino reset --  콘덴서의 + ,
Arduino GND -- 콘덴서의 - 를

연결한 뒤 Arduino 와 Attiny85의 각 핀을 아래와 같이 연결합니다.

  • Arduino 5V   --  ATTiny85 Pin 8 (Vcc)
  • Arduino GND -- ATTiny85 Pin 4 (GND)
  • Arduino Pin 13 -- ATTiny85 Pin 8 (SCK)
  • Arduino Pin 12 -- ATTiny85 Pin 7 (MISO)
  • Arduino Pin 11 -- ATTiny85 Pin 6 (MOSI)
  • Arduino Pin 10 -- ATTiny85 Pin 1 (Slave Reset)

attiny85 핀 맵

전 브래드 보드에 매번 연결하는 것이 귀찮아서 간단한 보드를 하나 만들었습니다.

arduino isp for attiny85

위 사진과 같이 만들어서 소켓에 아두이노 나노와 attiny85 를 끼웠다 뺐다 할 수 있게 했습니다.

참고로 사진에 보이는 attiny85 는 smd 타입으로 dip 타입보다 작고 가격도 조금 저렴합니다. 저는 smd 타입에 8핀 보드를 붙여서 사용하고는 합니다.

 

일단 이러면 코드 테스트를 위한 준비가 완료 되었습니다.

 

 

코딩을 해보자!

// this code for enter sleep mode
#include <avr/sleep.h>
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif

//setting variables
int ledPin = 0;    // LED connected to digital pin 9
float timer = 2400;
float maxBrightness = 255.0;
float a = 0;
float curX = 0;
float curY = 0;

void setup() {
  // 그래프의 기울기 값 계산
  a = maxBrightness / (timer*timer);
}

void loop() {
  curX++;
  curY = a * (curX*curX);
  
  analogWrite(ledPin, maxBrightness - curY);
  
  if (maxBrightness - curY < 1 )
  {
    analogWrite(ledPin, 0);
    system_sleep(); // sleep 모드 진입
  }
  delay(1000);
}

  void system_sleep()
  {
    cbi(ADCSRA, ADEN);                    // switch Analog to Digitalconverter OFF
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);  // sleep mode is set here
    sleep_enable();
    sleep_mode();                         // System sleeps here
    sleep_disable();                      // System continues execution here when watchdog timed out 
    sbi(ADCSRA, ADEN);                    // switch Analog to Digitalconverter ON
  }

 

코드 위아래에 좀 눈에 익지 않은 코드가 있죠? 그 부분이 바로 sleep 모드 진입을 시키기 위한 코드입니다. attiny85 는 슬립 모드에 진입하면 놀라울 만큼 전기를 먹지 않기 때문에 아주 유용한 기능이 아닐 수 없습니다. sleep 모드에서 깨우기 위하여는 reset pin 에 GND 를 스위치 등으로 순간 연결해 주거나 전원을 껏다가 켜면 다시 최초 상태로 실행이 됩니다.

위에 타이머 부분이 전체 조명이 켜져있는 시간이되겠습니다. 다만 정확한 시간 조정은 안되고 대충 감으로 잡아야 하더군요. 현재 설정은 2400 초 인데요. 대략 40분 내외의 시간이 흐르면 소등됩니다. (한 30분 지나면 점점 어두워집니다)

loop 의 아래쪽에 현재 아날로그 출력값이 1보다 작아지면 sleep 모드로 진입하는 코드가 있고요.

그게 전부입니다. ㅋ

이제 attiny85 에 업로드를 해야하는데요. 

먼저 라이브러리가 없다면 추가를 해주어야 겠죠?

구버전용 라이브러리는 직접 받으셔야 하고요. 신버전은 json 을 추가해주고 설치를 하면 됩니다.

아래 경로에서 라이브러리 설치에 대한 내용을 확인하시면 됩니다.

highlowtech.org/?p=1695

 

Programming an ATtiny w/ Arduino 1.6 (or 1.0)

This tutorial shows you how to program an ATtiny45, ATtiny85, ATtiny44 or ATtiny84 microcontroller using the Arduino software. These are small, cheap ($2-3) microcontrollers that are convenient for…

highlowtech.org

 

보드는 attiny > attiny85 1Mhz 로 선택해 주시고요.

ISP 는 Arduino as ISP 를 선택해 주시면 됩니다.

그리고 업로드 고고

 

 

Hardware 개조 타임

이제 조명을 뜯어서 기존의 LED 를 떼어내고 Attiny 와 LED 를 부착해줄 차례 입니다.

먼저 배터리 를 제거한다.

당연한 이야기지만 먼저 배터리를 제거해 줍니다.

 

상단 뚜껑 및 케이스 분해

상단의 흰색 갓은 위로 잡아 당기면 그냥 빠집니다. 꽉 끼워져 있기는 한데 본드로 붙어있는 것은 아니더군요. 

아래쪽 나사를 모두 풀어주고 분리하면 위와 같은 상태입니다. 심플하네요.

스프링이 도망가지 않게 살살 열어 줍니다.

 

거의 8000K 인 듯한 LED. 덩치도 크다.

어쨌든 문제의 LED는 제거합니다.

크기도 엄청 크네요.

 

LED 를 잘라낸 모습

스위치에 붙어 있는 저항도 필요 없으니 떼어낼겁니다.

 

Attiny 에 콘덴서를 하나 달아주었다.

Attiny 에 배터리 (약 4.5v) 를 연결하니 전압이 불안정한지 동작이 원하는데로 되지 않아 굴러다니는 전해 콘덴서를 하나 붙여 주었습니다. 저는 50uf 를 달아 주었는데요. 적당히 아무거나 달아도 될 듯 합니다. 크기가 작아 소켓보드 아래에 쏙 들어가네요. ㅎㅎ

 

 

LED 는 1W(??) cree 제품. 

예전에 사두었던 LED 가 적당해 보여 달아주었습니다. 불빛도 너무 노랗지도 않고 방열판도 있으니 적당하다 생각되었습니다.

본딩을 해서 붙인뒤 고정을 위해 일단 테이프로 붙여 둡니다.

 

최종 단계 진입. 스위치에 저항을 떼어내고 결선을 위한 전선을 매달기 직전

자 이제 거의 다 되었습니다.

스위치에 있는 저항을 테어내고 전선을 연결할 겁니다. 스위치로 - 가 연결되고 스위치의 다른 한쪽이 attiny 의 GND 에 연결되면 됩니다.

빨간선은 + 이므로 attiny 의 5V 에 연결합니다.

테스트 성공

쨔잔~ 네 예쁘게 잘 들어옵니다.

Attiny 는 3M 양면 테이프로 붙여주면 완성입니다.

 

배선 확인용 사진

참고로 위와 같이 배선하시면 안됩니다. 잘못 배선한 사진인데요. LED 로 가는 굵은 빨간선이 사진상 오른쪽 맨 아래 핀에 연결이 되어야 합니다. ㅜㅜ

아래 사진에는 다시 제자리에 납땜을 했습니다.

납땜까지 완료된 모습

자 이제 완성입니다.

배선에 약간 오류가 있기는 했지만 간단한 문제로 바로 해결하였습니다.

 

최종 결과물은?

DIY 가 완료 되었으나 처음과 똑같은 모습

ㅋㅋ 처음과 똑같네요. 다시봐도 그림이 너무 예쁩니다. 

어쨌든 이제 아이방에 놔주기만 하면 됩니다.

 

따뜻하고 예쁜 조명으로 다시 태어나다.

음~ 마음에 드는군요.

아이도 좋다며 매일 켜고 자고 있습니다. ㅎㅎ

자동으로 소등이 되니 배터리도 많이 먹지 않고요. 

만약 사용해보고 배터리를 많이 먹는다 싶으면 저항을 하나 달아줄 계획입니다. 저항은 아주 작은 용량의 저항이면 됩니다. 

 

 

스탠드 조명 튜닝 완료

자 간단한 작업으로 싸구려 같은 장난감에서 고급스러운 조명 색상에 타이머 기능까지 있는 멋진 조명으로 탈바꿈 하였습니다. 여러분도 한번 도전해 보시면 어떨까요?

 

그럼 오늘의 포스팅을 마칩니다. ~

 

2022.01.31 - [DIY/Arduino] - [아두이노]NRF24L01을 이용하여 무선으로 mpu6050 신호 전달하기

 

[아두이노]NRF24L01을 이용하여 무선으로 mpu6050 신호 전달하기

자 어느새 목표했던 RC headtracking FPV 만들기의 종착역을 다가가고 있습니다. 앞서 소개해 드렸던 2축 서보마운트 제작 및 서보컨트롤과 mpu6050 을 이용하여 2축 서보모터를 제어하는 내용은 잘 보

diy-dev-design.tistory.com

2019/10/13 - [DIY] - [DIY] 아이방 수면등 만들기 (feat. 아이그림)

 

[DIY] 아이방 수면등 만들기 (feat. 아이그림)

아이들은 창의적이다. 시키지도 않았던 생각치도 않았던 아무 많은 그림을 시도 때도 없이 시간과 장소 불문, 심지어는 종이를 불문하고 마구마구 그려댄다. 그래서 A4 용지를 내주었더니 그럴

diy-dev-design.tistory.com

 

2020/05/17 - [DIY] - [재활용] 고장난 LED 바 수리하기 > 화장대 조명 만들기

 

[재활용] 고장난 LED 바 수리하기 > 화장대 조명 만들기

저의 보물창고 바로 폐 배터리, 형광등 수거함 입니다. 지나는 길에 기웃거려 보니 LED 바가 버려진게 있더군요. LED 바 금액 자체가 비싼건 아니지만 사실 일부러 돈주고 살만큼 효과적인 조명기

diy-dev-design.tistory.com

 

2020/03/23 - [DIY/Arduino] - Arduino(아두이노) 무작정 시작하기

 

Arduino(아두이노) 무작정 시작하기

아두이노, Arduino 여기저기서 많이 들었을 겁니다. 이걸 해야 된다는 말이 귀에 못이 박히도록 이야기 합니다. 대충 뭔지는 알겠는데 개발자도 아닌 내가 과연 이걸로 뭘 할 수 있을까 싶기도 하

diy-dev-design.tistory.com

 

2020/10/29 - [DIY] - [DIY] 오래된 다목적 랜턴 LED 램프, 충전식으로 교체하기

 

[DIY] 오래된 다목적 랜턴 LED 램프, 충전식으로 교체하기

처갓집 구석에서 재미있는 물건을 하나 발견했습니다. 마침 캠핑 전용 랜턴이 하나 있었으면 하는 차에 이게 왠 떡인가요 ㅋ 언제부터 처갓집에 있었는지는 모르겠지만 사용하지 않는 것이 분

diy-dev-design.tistory.com

 

반응형
반응형

아이들은 창의적이다.

시키지도 않았던 생각치도 않았던 아무 많은 그림을 시도 때도 없이 시간과 장소 불문, 심지어는 종이를 불문하고 마구마구 그려댄다.

그래서 A4 용지를 내주었더니 그럴싸한 그림을 하나 그려서 내게 주었다.

"아빠 달님이야. 밤에 내방을 비춰주는 달님!"

오...

 

"아빠가 실제로 불을 비춰주게 만들어 줄께!"

"응!"

 

그래서 시작되었다.

아이의 삐뚤빼뚤한 그림을 이용하여 보조등을 만들기로했다.

 

아이가 그린 달님.

 

그림이 너무 예쁘다.

 

예전 간판 회사에 다녔던 짬밥이 어디 가겠는가. 머리를 굴려보자.

쟌넬 형태로 만드는거다. 아니 채널 형태로 만들자. 쟌넬을 어디서 온말인지 모르겠으나 간판쟁이들이 늘 사용하는 말이었지. 아마 일본 말일지도... 쟌넬 아니죠. 채널.

200g 패이퍼 크래프트용 용지를 이용하여 잘라 주었다.

재료를 준비해 보자. 먼저 뒷판이 될 종이를 앞에 딸내미가 그려준 그림을 대고 2장을 잘라 주었다. 뒷판은 좀 단단해야 할 것 같아 2장을 덧 대기로 했다. 아래 기다란 띠는 옆면이 될 종이.

 

알리에서 구입한 T-8000 본드와 옆판을 붙인 모습. 

 

알리에서 구입한 T-8000 본드로 옆면 종이를 딸내미가 그려준 달님 뒤면에 붙여 주었다. 보통 채널형 간판은 뒷판에 옆면이 부착되는 형태이지만 앞판이 워낙 얇은 종이다 보니 우선 앞판에 붙여 주었다.

T-8000 본드는 핸드폰 액정 수리용으로 판매 되는 본드인데 굳게되면 실리콘같은 재질이고 실리콘보다는 묽은 재질, 순접보다는 끈적이는 GEL 형태의 본드다. 굳는 시간도 짧은 편이어서 2 ~ 3 분이면 일단 1차 경화가 진행되어 끈끈해져 종이 정도면 바로 고정이 된다.

 

조명으로 사용할 LED 를 올려 보자.

SMD 타입의 LED 를 이용하여 조명을 사용하기로 하였다.

전에 구입하였던 SMD 타입의 LED를 배치하여 보았다. 8개를 사용하기로 했다. 

참고로 알리에서 SMD 타입의 LED 를 구입하면 정말 저렴하게 구입이 가능하다. 100개에 1200 원 정도면 구입할 수 있는데 1개에 10원 정도이므로 한번 사 놓으면 오래동안 여러 용도로 사용할 수 있다.

 

배선은 아래와 같이 할 예정이다. 12V 아답터를 이용하여 불을 켤 예정이다.

12V 아답터를 이용하면 LED 당 3V 가 인가되도록 직렬로 4개씩 연결하는 방식이다.

요렇게 연결하면 12V 아답터를 이용하여 구동이 가능하다. 8개의 LED 를 사용할 것이므로 4개씩 직렬로 연결하게 되면 별도의 부가적인 장치 없이 LED 당 3V가 사용되므로 바로 사용이 가능할 것이다. 집에 가전제품 버릴때 아답터는 버리지 말자. 생각보다 쓸데가 많다.

참고로 LED 는 극성이 있는 부품이므로 방향에 주의하여 놓아야 한다. 

SMD LED의 극성을 구분하는 방법은 별도로 포스팅을 하겠으니 해당 포스트를 참고하면 되겠다.

 

 

먼저 LED 를 아까 그 본드로 대충 붙여 놓고 말린 다음 작업을 시작한다.

집에 있는 전선을 대충 잘라서 LED 에 납땜을 하여 연결한다.

힘들었다.

남땜이 완료 되었다. SMD LED 가 워낙 옆면에 땜 부착면이 좁고 부품 자체가 약한 부품이어서 신경써서 하느라 시간이 좀 걸렸다. 주황색 선은  - 노랑색 선은 + 가 되시겠다.

 

연결이 완료 되었으니 테스트를 해보자.

12V 를 연결하였는데 예상데로 불이 잘 들어온다.

이때가 제일 보람있음. 하나 안켜지면 아놔..

일단 불이 들어오는 것은 잘 확인하였다.

미리 만들어 두었던 앞판을 고정해 보자. 

역시 T-8000본드를 이용하여 고정을 해 주었다.

 

앞판 뚜껑을 붙여준뒤 다시 한번 테스트. 정상 동작 확인 완료함. ㅋㅋ 너무 예쁘다.

자이제 스위치를 만들어 볼까.

토글 스위치를 굴러다니는 박스에 넣었다.

뭐 스위치 연결은 간단하니 패스. 

스위치의 다리가 3개라면 가까이 붙어있는 2개의 다리에 연결하면 된다. 1,2,3 번 다리가 있다고 치면 1,2 번 또는 2,3 번 다리에 + 선을 연결해주면된다. - 선은 그냥 LED 로 바로 보내면 된다. 어짜피 스위치가 꺼져 있으면 전기는 흐르지 않을 테니까.

 

어떻해.. 너무 예쁨. ㅋ

최종 테스트 중인 모습
달님 취침등 최종 테스트 중

벽에 부착전 최종 테스트 중. 너무 예쁘다.

 

 

자 벽에 걸어 보자.

 

낚시 줄을이용하여 천정과 벽 연결 부분에 둘러져 있는 몰딩에 못을 하나 박고 메달아 주었다.

아이방 벽에 부착된 취침등. 

 

아... 예쁘다.

0.25W LED 가 8개 들어갔으니 총 사용 전류량은 약 2W 정도가 되겠다. 생각보다 조금 밝아서 시간날때 저항을 좀 달아볼까 생각중임.

 

아이와 아빠가 함께 만든 달님 취침등

 

이렇게 해서 아이가 그린 그림으로 아빠가 만든 취침등이 완성되었다.

너무 예쁘고 아이와 줄곧 이야기 하며 행복한 시간을 가질 수 있었다.

 

"아빠. 달님이 자고 있자나.. 그래서 나도 잠이 잘 올것 같아.."

 

너무 예쁜 아이의 말에 나의 얼굴에는 웃음이 함박 번졌다.

 

뎃글, 공감 은 블로그 작성자에게 큰 힘이 된답니다. 
도움이 되었다 생각되시면 클릭!!  부탁드려요~

 

 

 

 

반응형
반응형
이번에는 트랙사스 UDR 의 라이트 셋을 만들어 볼 계획입니다. 무선으로 켜거나 끌수 있도록 할 예정이며 전면 헤드라이트 1쌍. 후면 브레이크등 1쌍. 운전석 내 실내등 및 주요 장비에 LED 등을 만들어볼 계획입니다. 그리고 이번 DIY 의 꽃은 운전석과 조수석에 디지털 디스플레이를 장착해볼 계획입니다. 그동안 어떤 트랙사스 UDR 에서도 볼수 없었던 튜닝이죠.

먼저 필요한 장비를 소개하겠습니다.
Arduino Nano x2
NRF24L01 x2
SSD1306 0.96inch OLED (i2c) x2
DC2DC voltage ragulater
Push 스위치
Toggle switch
LED (white SMD, 0.25w) x 28
LED (white DIP, 0.25w) x 8
LED (green DIP) x1
LED (RED DIP) x10
PCB (17x9, 0.25mm) x2

모든 부품은 알리익스프레스에서 구입하였으며 배터리는 버려진 무선 진공청소기에서 적출하였습니다.
먼저 가장 기본이 되는 하드웨어 부분 부터 만들어 보겠습니다.

헤드라이트 모듈 만들기
우선 디자인은 UDR 고유의 헤드라이트 모양을 살려서 만들기로 결심하였습니다.
시중에 판매하는 라이트 셋은 UDR 만의 특징을 살린 디자인이라고 보기는 어려웠기 때문에 이번 DIY 가 더 특별한것 같습니다.
먼저 도면을 만들어봤습니다. 그리고 LED 실장 위치도 배치해봤습니다.
배터리를 7.4v 2s 로 사용할 계획이기 때문에 LED 2개씩 직렬로 연결하였고 입력부는 5.5~6v 사이로 전압을 강하항 입력해 줄 계획입니다. 전원 입력은 알리에서 주문한 직류 전원 장치인데 입력 출력이 모두 DC 이며 중간에 가변저항을 돌리면 출력 전압이 변경됩니다. 저는 5.5v 에서 6v 정도로 맞출 계획입니다. 아무래도 방열을 하기 어려운 구조이기 때문에 정격 전압이 가해졌을때 열 때문에 문제가 될 수도 있겠다 싶었습니다.
중요한것은 LED 는 극성이 있기 때문에 부착하는 방향을 잘 맞추어 부착을 해야 합니다. SMD led 의 경우 위에서 봤을때 거무튀튀한 부분이 한쪽으로 쏠려 있는데요. 검은 점이 있는 쪽이 -극이 되겠습니다.

우선 만능기판에 LED 를 부착하여 보았습니다. 만능기판은 17x9 크기로 잘라 주었습니다.

SMD 부품의 경우 손으로 잡고 납땜을 하는 것이 불가능하기 때문에 연고처럼 짜서 사용할 수 있는 납을 이용하여 먼저 부착할 위치에 짜준후 LED 를 핀셋을 이용하여 살짝 얹어 놓으면 됩니다. 그런다음 열풍기를 200도 정도로 하여 가열해주면 납이 녹아 붙게 됩니다. 열풍기가 없으면 인두로 끝부분을 살짝 대고 있으면 납이 부글부글 끓으며 녹아 달라붙게 됩니다.
자 부착이 완료 되었고 배선도 끝냈습니다.

그럼 전원을 연걀하고 테스트를 해봐야겠습니다.

쨔잔

와 예쁘네요.
그런데 빛이 너무쎄서 주변까지 다 빛이 퍼지네요. 라이트 주변에 케이스를 만들어 빛이 옆으로 퍼지는것을 좀 막아 주어야 하겠습니다.
그리고 발열 테스트 하다가 문제가 발생되었습니다. 세번째 사진을 보면 유독 led 하나가 푸르고 밝게 빛나는게 보이시나요? LED 가 불량인지 해당 지점에서 열이 상당히 많이 나는지 시간이 지나면서 연기가 피어오르며 LED 가 사망하는 사건이 발생하였습니다. 아무래도 해당 LED 가 불량인것도 같고 직렬로 연결하면서 그라운드 선을 골고루 연결해주지 않아 전류가 과하게 인가된게 아닌가 추측을 해봅니다. LED를 교체하고 그라운드를 골고루 뿌려볼 예정입니다.

무선 송수신기 연결은 다음 포스트에서 

 

반응형

+ Recent posts