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 진행 예정.

No comments :

Post a Comment