Showing posts with label 매드프로젝트 제품. Show all posts
Showing posts with label 매드프로젝트 제품. Show all posts

Tuesday, April 14, 2015

[매드프로젝트 제품] 스마트폰으로 전등 끄기 - 07. 완료

마지막으로 회로도랑 펌웨어 그리고 안드로이드 앱을 공유해 본다.


최종 회로도는 요렇게 간단하게 생겼고~

/*******************************************************
This program was created by the
CodeWizardAVR V3.16 Evaluation
Automatic Program Generator
?Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 2015-03-31
Author  : 
Company : 
Comments: 


Chip type               : ATmega8A
Program type            : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*******************************************************/

#include <mega8.h>

// Declare your global variables here

// Standard Input/Output functions
#include <stdio.h>

void init_uart()
{
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 115200
  UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
  UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
  UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
  UBRRH=0x00;
  UBRRL=0x03;
}

void main(void)
{
  unsigned char c = 0;
  
  DDRB = 0xff;
  PORTB = 0x01;
  
  init_uart();
  
  printf("atn=PENTAS\r\n");  
  
  while (1)
  {  
    c = getchar();
    if(c == 'u')
    {
      PORTB = 0x01;
    }
    else if(c == 'd')
    { 
      PORTB = 0x00;
    }
  }
}

최종 펌웨어는 코드비젼으로 작성했으며 블루투스로 u가 날라오면 on 되고 d가 날라오면 off 되는 간단한 동작이다.

안드로이드 앱 다운로드는 >>> 다운

이번 프로젝트 진행하면서 큰 어려움은 없었지만 

아무래도 다른일 하면서 진행하다보니 부품수급이라던가 진행속도가 상당히 느릴 수 밖에 없었다. 그래도 최대한 마무리 할 수 있다는 것이 좋았으며 지속적인 업데이트를 통해 여기서 끝나지 않고 최대한 더 유용하게 만들 수 있도록 해봐야겠다. 

다음 버젼은 wifi 모델을 해야하나~?ㅋ

Smart Switch V1.0 

끝.

Saturday, April 11, 2015

[매드프로젝트 제품] 스마트폰으로 전등 끄기 - 06. 설치 - 1

드디어 누워서 자기전에 침대에서 불꺼볼려고 하다가 길고 길었던 '스마트폰으로 전등 끄기' 프로젝트를 완료하고자 한다.

우선 처음부터 리뷰해 보자면 

이 프로젝트는 침대에 누워서 스마트폰 or 미드 or 책 등 을 보다가 갑자기 졸린데 불끄러 일어나면 잠이 다시 깰것 같고 안끄고 자자니 자다가 중간에 일어날 것 같은 애매한 상황을 겪다가 답답하여 상용품이 조금 비싸 이까짓 것 내가 만들지 하고 시작하게된 프로젝트 이다. 

문제점 : 일어나서 불끄러 가기 귀찮아서
해결책 : 스마트폰으로 불끄기

시작은 지난 3월 15일 전체 시스템을 설계하고 정리하면서 부터 시작되었다. 
원래는 벽면 스위치 박스안에 넣으려고 했는데 공간 부족 및 노이즈 문제로 실패.

결국에는 천정 전등 밑에 설치하게 된다. 


최종 나온 제품은 짜잔! 


아... 길고 길었던 삽질의 여정이여.

지금부터 설치기를 작성해 본다.

우선 준비해야할 장비는 아래와 같다.


스마트 스위치, 3M 양면테이프, 무탈피 커넥터 4개, 니퍼, 천장 열기 위한 드라이버

이렇게 준비해 놓고 선작업을 먼저 한다.




무탈피 커넥터를 산 이유는 천장에 설치하는데 선까고 이러기 귀찮아서... 도 있지만 신기해서 사봤다. 좋은것 같기는 한데 생각보다 불편하다. 사람 손으로는 힘들고 반드시 장비로 '딸깍' 소리나도록 눌러줘야하는 불편함이 있다. 게다가 한번 사용하면 재사용이 거의 불가능에 가까우니 가격(거의 개당 500원 ㅡ.ㅡ)대비 좋은 것 같지는 않다.




선작업을 완료하면 위와 같이 4개를 각각 연결해 놓고(반대편이 닫히지 않게 조심해야함 ㅡ.ㅡ 닫히면 여는데 엄청난 삽질을...) 




설치하기전 안전을 위해 차단기를 전부!! 내려준다. 반드시 '안전이 최우선!!!'




제대로 전기가 다 나갔는지 스위치를 ON/OFF 여러번해보면서 확인한 후 




의자 갖다놓고 천장 형광등 케이스를 열어 확인하면 왼쪽과 같이 선이 연결되어 있는데 천장 벽에서 나온 노란선(AC 2개)가 검은색, 흰색 두개의 안정기에 연결되어 있는 것을 확인할 수 있다. 

이 선을 양쪽다 여유롭게 중간쯤(실제 스마트 스위치를 설치할 공간을 보고) 잘라준다.




그리고 왼쪽처럼 전원 입력쪽에 연결 해준다. 




AC는 극성이 없지만 스마트 스위치는 방향성이 있기 때문에 반드시 조심해서 설치해야 한다. 어떻게 망가질지는 알 수 없지만(ㅡ,ㅡ) 안전이 최우선!




한쪽 방향씩 설치하고 손으로 안되니 도구를 이용해서 선을 조심스럽게 딸깍 딸깍 연결 해준다. 연결하다가 알았는데 무탈피 커넥터 진짜 가격대비 너무 불편함 ㅡ.ㅡ 담부턴 안사야지. 



 
3M 테이프를 이용해서 적당한 곳에 적절하게 붙여준뒤 마무리까지 깔끔하게 완료!




다시 차단기를 올리고 벽면 스위치 ON/OFF 해보며 정상적으로 동작되는지 확인한다. 
(만약 정상동작 되지 않으면 무탈피 커넥터 연결된 양끝을 자른뒤 힘들게 복구시킨 후 처음부터 다시 해야함, 다신안쓴다 무탈피 커넥터!!! )

지금부터는 스마트폰으로 정상동작하는지 봐야하는데 사진은 스압이 있으므로 동영상으로 대체한다. 




이로서 기나긴 여정이 끝이 났다.

1주일 정도 사용하고 있는데 아직까지 '아! 정말 좋다' 라고 생각되진 않음 ㅡ.ㅡ;
이거 하면서 너무 고생해서 그런가 ㅋ 지금까지 느껴지는건 신기함?

다음 블로깅은 프로젝트 최종으로 회로, 펌웨어, 어플을 정리해서 올려보도록 하겠다.


Wednesday, April 8, 2015

[매드프로젝트 제품] 스마트폰으로 전등 끄기 - 06. 설치

드디어 PCB가 들어오고 납땜하여 이것저것 TEST를 시작했다.
머 예상대로 PCB 납땜해서 TEST 하니 잘 동작함.


PCB에 땜해보니 역시 그전에 멘탈 기스났던 것들이 돌아왔다.

당연히 검증된 보드니 동작은 문제 없이되는 줄.... 알았다.


이것저것 납땜한 후 벽면 스위치를 뜯어서 장착 했는데 ㅠ 

동작은 하는데 형광등이 깜빡이는 문제가 발생하는 것이다. ㅠㅠ
프로토타입 할 때 나오던 문제라 예상은 했지만 ㅎㅎ 이것저것 달아보니 증상은 많이 줄어드나 입력부분에 큰 노이즈 필터를 달아야지만 해결 될 것 같다. 
그렇게 되면 어짜피 벽면 스위치 안에 못넣으므로 빠른 포기!

일단 이유를 설명하자면 아래 그림으로 설명하겠다.


첫번째 처럼 벽면 스위치 안에 설치하게되면 전원 공급을 형광등 지나서 받게 되는데 여기서 문제가 생기는 것 같다. 공급받는 전원이 형광등을 거치면서 깨끗하게 받지 못하니까 노이즈가 많은 불안정한 전원이 회로에 공급되어 깜빡이는 문제가 발생하는 것.

그래서 오른쪽 그림처럼 천장에 형광등 바로 앞에서 회로를 연결하는 방식이 될 수 밖에 없는 거다. ㅠ



게다가 ㅠ 무탈피커넥터라는 신기한게 있길래 샀는데 벽면스위치는 선 규격이 2.5mm 이고 천장의 형광등 쪽은 1.5mm 여서 대실패함.

여자저차 설치해서 테스트 해봤는데 일단 잘되기는 함.

문제로는 불킬려고 벽면 스위치 키면 안켜진다는 것 ㅡ.,ㅡ;

초기 전원 들어오자마자 전원 스위치 켜지도록 펌웨어 수정해야겠다.

다음 부품 올때까지 이상태로 써야지 ㅠ

P.S. 속도는 느려도 안전이 최우선! 

Monday, March 23, 2015

[매드프로젝트 제품] 스마트폰으로 전등 끄기 - 05. 디버깅 - 1

현재까지 진행 상황...
테스트를 위해서 일단 벽면 스위치 3개짜리 뜯어보니. 뜨아 ㅠ 공간 거의 없음. 처음 설계시에 벽면스위치 한개짜리 뜯고 시작했는데 낭패 ㅠ

머리가 나쁘면 손발이 고생한다더니 ㅠ 퇴근 하고 나서랑 주말내내 작업해서 계속 새로운 설계 진행함.

변천사


일단 회로는 이걸로 굳어짐. 입력부분이 조금 변경되었는데 이게 아까말한 벽면 스위치에 안들어가서 발생한 문제로 2가지가 가능하도록 설계 변경.

1. 1개 벽면 스위치 안에 삽입 가능
2. 1개 벽면 스위치가 없을 경우 천장에 직접 설치!

다행이 시대가 좋아져서 천장 설치를 하더라도 선까고 이럴 필요 없음. 무탈피 선 연결 부품이 있음. 어쨋든.

아트웍은 처음에 3개 벽면 스위치에 어떻게든 삽입 해보려고 줄이고 줄여봄


가로 23mm x 세로 73mm 였으나 3개 벽면 스위치의 벽은 뚫을 수 없었음.

그래서 1개 벽면 스위치만 되게 하고 설계 추가 수정


크기는 30mm x 40mm 최대한 찔러 넣음.
AC 간격? 규격 지킬 수 없었음 (ㅠ). 하지만 최소한을 위한 간격은 띄울려고 노력함.

이상태로 PCB 나갈 생각임!! 일단 싸질르고 보자 ㅋㅋ; 이번달은 군것질 하지 말아야지 ㅠ

Friday, March 20, 2015

[매드프로젝트 제품] 스마트폰으로 전등 끄기 - 05. 디버깅

불빛 깜빡임 문제 해결을 위해 많은 고민을 함.
노이즈 제거를 위해서는 AC-DC를 12V 쓰고 5V용 레귤레이터와 3.3V용 레귤레이터 2개를 사용해야 하나라는 결론에 도달함.
이유는 SSR이 4V~ 동작전압이기 때문 ㅠ
일단 혹시 몰라서 SSR에 3.3V를 연결하여 구동하였더니 잘됨!!
그냥 이대로 사용할까 하다가 스펙 범위 벗어나면 먼일이 발생할지 모르기 때문에 다시 5V로 원복. 놔두고 다른문제부터 해결.

부하가 걸리지 않으면 전원공급이 되지 않는 문제로 전원 불안정을 야기하는 것 같아 항시 전원 공급해주는 회로로 변경함. (멀티탭 스위치 등이 슬금슬금 깜빡깜빡하는 이상한 문제도 있었음)



항상 5V를 공급하여 회로에 문제 없도록 함.
이후 아트웍 문제나 블루투스 문제로 회로를 조금씩 수정함.
1. 아트웍 문제로 Wifi, iOS용 BLE 모듈 제거
2. 블투 공장 초기화 스위치 장착

회로 수정 후 TEST 했는데!!!!

신기하게 불빛 깜빡임 문제도 같이 해결됨ㅋ. 일단 요문제는 스코프 찍어보면서 좀 더 자세히 진행하기로 하고 하드웨어는 거진다 완성.

블루투스를 뚫기 시작함.
AT 명령어들이랑 SPP가 먼지 이것저것 데이타 시트 살펴보면서 PC UART와 블루투스 UART를 연결하여 시리얼 통신을 통해 블루투스 각종 명령어들 확인


이것저것 확인해봤으나 잘안됨 ㅠ 왜 접속 안되는지는 모르겠음.
일단 요건 보류.
(추후 문제점 알아냈는데 ATD 항목에 특정 블루투스 어드레스만 접근하도록 한것이 문제였음)

불루투스 펌웨어 작성

간편한 코드비젼과 atmega8l 을 이용해서 펌웨어 작성하였고 핵심은 역시나 통신.
mcu에서 시리얼로 불루투스에 명령어를 보내나 했는데 아래와 같이 작성하면 잘됨

코드비젼이 편한 것 중 하나가 시리얼을 printf 처럼 사용할 수 있음.
printf("atn=PENTAS2\r\n");
printf("atd=123412123456\r\n");
printf("atp0\r\n");

이 문장에서 핵심은 바로 CR 문장인데 \r과 \n으로 명령어 인식. \n 하나만 써주면 동작 안됨.

일단 여기까지 확인하고 나머진 추후 디버깅

함께 개발 중인 안드로이드 어플쪽 개발 확인해보니 아래와 같이 진행됨
스마트폰끼리 서로 연결하여 한쪽에서 신호를 주면 그 신호를 받아 다른쪽에서 플래쉬LED를 키는 동작! ㅎㅎㅎ



일단 여기까지 대략 2주 진행.

다음주에는 큰 문제만 없다면 PCB 진행 예정.

Thursday, March 19, 2015

[매드프로젝트 제품] 스마트폰으로 전등 끄기 - 04. 테스트

모듈도 완성되었겠다. 바로 테스트 들어감.


멀티탭 잘라서 모듈 한쪽을 붙여서 납땜하고 


선 잘라서 1.5mm 이상 피복을 벗긴 다음 모듈에 삽입!!



멀티탭 연결을 완료한 뒤에 반드시 안전을 위해서 장갑!! 필수!! AC전원을 건드리는것이다 보니 안전에 안전!! 빠르게 만들다 인생 빨리가는 수가 있음.



처음에 멀티탭만 연결하고 전원을 넣었더니 아무것도 일어나지 않음.
회로를 다시 확인하고보니 부하가 있어야만 5V 전원이 공급되는 회로였음.
그래서 멀티탭에 스탠드 연결하고 다시 전원을 넣으니!!!
마이컴에서 2초마다 ON/OFF를 반복하는 동작을 했는데 잘 동작하는 것..... 인줄알았으나 스탠드 불빛이 깜빡깜빡함 ㅠ 아.. 망했다. 

이 실험으로 문제점 몇개를 발견함
1. 부하 없으면 5V 전원 공급 안됨
2. AC 전원 깜빡임 문제(노이즈??)



Wednesday, March 18, 2015

[매드프로젝트 제품] 스마트폰으로 전등 끄기 - 03. 모듈

일단 부품올때까지 2~3일 시간이 있어서 완벽하지 않은 회로지만 아트웍을 시작했다.
신청한 부품들을 Decal을 그리고 아트웍을 했는데 처음 해보는 AC 선들이 여간 신경쓰이는게 아녔다.

그래서 찾아봤는데
1. AC와 AC 사이 3mm 두고 패턴 설계
2. AC에서 브릿지 다이오드까지 3mm
3. TRANS 1차측과 2차측 8mm

.... ㅡ.ㅡ 마음은 저렇게 하고 싶지만 아무래도 작게 만들려고 하다보니 쉽지 않다. 게다가 AC와 AC 거리를 5mm로 권장하는 얘기까지 있으니 이를 어쩐다.

일단 되는대로 하고 보자 해서 나온게 아래같은게 티나옴


3mm 고 자시고 부품들이 커서 간격 띄우기 힘들었음. AC랑 AC 간격이 중요한건지 아니면 AC랑 DC 간격이 중요한건지는 모르겠지만 난 일단 AC랑 DC 간격을 더 우선순위로 두고 작업을 했음.


부품이 오자마자 바로 납땜 작업을 시작함


대충 40x40에 들어가나 한번 부품 세워봄. 들어가는게 없으니 당연히 작업도 쉽고 간편했음.


작업은 생각보다 쉽게 진행됐고 일단 모듈 완성!
나름 퇴근하고 피곤해서 일단 여기까지만 하고 슬립모드.


Tuesday, March 17, 2015

[매드프로젝트 제품] 스마트폰으로 전등 끄기 - 02. 준비

유명한 전자부품 쇼핑몰에서 비싸게 필요한 부품들 주문하고 일단 바로 설치하기에는 (불날까봐 무서움) 여러가지 테스트가 필요할 것 같아 테스트 환경부터 준비했다.


굴러다니는 멀티탭 하나랑 혹시모를 사태를 대비한 안전기를 결합시키는 것.
저 사이를 짤라서 내 모듈을 장착하면 되니 나름 심플한 테스트 장비 되시겠다.



AC 전원 케이블을 자르면 선이 3개가 있다. 왜 3개지? 라고 할 수도 있는데 저기보면 파란색이랑 고동색이 우리가 생각하는 AC선 (L,N)이고 초록색 선은 접지선이라고 할 수 있다. 접지선은 안전을 위해서 하는 것인데 안정기에 연결할만한 곳이 안보이므로 패스.



자른 선을 안정기에 연결하고 혹시모르니까 전기테이프로 ㅡ.ㅡ 똘똘 감아주면! 끝~

이제 부품들오면 조립해서 손땜하고 장착하면 되겠다.



Sunday, March 15, 2015

[매드프로젝트 제품] 스마트폰으로 전등 끄기 - 01. 시작

최근에 블로그에 이것저것 하던것들이 all stop 되었다. 왜 그런고 하니 여러가지 멘탈잡기 힘든 상황으로 인해서 심신이 지쳐 아무것도 하기 싫기에 잠시나마 쉬었는데 그동안 정말 아무것도 안하면 안될 것 같아 작은 프로젝트를 하나 시작했다. 이걸 시작한 이유는 여러가지 이유가 있지만 어찌되었건 시초는 '누워서 자기전에 안일어나고 불끄고 싶다' 라는 생각으로부터 출발했다.

일단 찾아보니 3만원대의 소리로 불끄는 제품부터 6~10만원대의 블루투스, Wi-Fi 기술이 들어간 최신 제품까지 많이 나와있었다. 다 좋기는 한데 좀 더 싸고 쉽게 설치하고 단순한거 없나? 라는 생각에 하나 만들어 봐야겠다 라고 생각했다.

그래서 작업을 하고 있는데.... 최근에 드는 생각은 '그냥 하나 살껄' 라는 생각... ㅡ.ㅡ;

역시나 모든 내맘대로 제품을 만들다 보면 결과적으로 돈, 시간이 하나 사는것보다 못하다는 것을 느낀다. 어찌되었건 해보냐 안해보냐 차이라고 생각하고 일단 끝까지 가볼려고 한다.

서론이 길었는데 처음에는 내가 생각하는 것에 대해서 정리하기 위한 mindmap을 만들었다.


먼가 장황하게 이것저것 많은 것 같은데 결론은 '스마트폰으로 AC 전원 스위칭'이 제품 목표이다.

일단 혼자서 앱개발까지 하려면 시간이 오래걸릴 것 같아 도움을 요청했다. 이 프로젝트는 두명이서 동시 진행하면서 하려고 한다.

바로 사전 조사해서 AC 스위칭 하는 방법을 찾아보고 각종 전자부품몰을 뒤져서 가장 적합한 부품들이 머가 있는지 조사했다.

생각보다 싸고 좋은 많은 부품들이 있었다. 이정도면 통으로 설계하는 것보다 그냥 모듈을 사다 끼는게 더 작고 가격도 싸지는 것!

그러면서 최종으로 부품들을 선정하고 일단 회로 작성!!해서 나온 첫번째 회로가 바로 아래 회로;



이것 저것 다 고려하고 블루투스에 Wi-Fi에 iOS 버젼까지 개발할려다 보니 회로에 이것저것 들어간다. 사실 저런거 다 필요 없고 그냥 mcu, 블투모듈, ssr, ac-dc 컨버터 만 들어가면 끝이다.


첫번째 목표가 바로 쉬운 설치 였기에 콘센트를 뜯어서 내부 공간을 확인 했다.
아마 조금씩 다 다르겠지만 가로30x세로40x높이30 정도면 들어갈 것 같았다. 이정도 작은 싸이즈로 충분히 설계 할 수 있을지는 모르겠지만 일단 선정한 부품으로는 충분할 것 같다는 생각!(내 손글씨 아랍어 수준 ㅠ 어째)

일단 준비는 된 것 같은데 얼른 부품들부터 싸질러야겠다.