디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

잠을 깨게 만드는 캬루 인형 알람 제작기

멜리사J갤로그로 이동합니다. 2023.02.22 10:12:01
조회 31577 추천 367 댓글 264


내용이 길어서 결과만 보고싶은 사람을 위한 결과물 미리보기


viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87e7b4a4c15c688e20b72e820



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4e08f1bf83e08a6ab7d780a50dd5d466733b387a6d112db


원래 목적인 던져서 알람 끄는 방법


viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4e08f1bf83e08a6ab7d780a06d70f1768635c190dbb62f6


충격 감지 스트레스 테스트 해본 결과.



반갑다.



지금은 권고사직 당했지만 출근하기위해 일어나는게 정말 짜증났던 일이 많았던거 같아.


알람이 울릴때 일어나기 너무 힘들고, 기분좋은 알람으로 설정해도 들으면 짜증만 나고


사실 지금도 알람울릴때 일어나려고하면 못일어나기도 하고..



그래서 생각난게 일어나기 위하여 몸을 격하게 움직이는 행동을 유도시켜서 일어나게 하는거야.


덤으로 짜증나는 알람듣고 화난 기분 푸는 것도 같이하는거고.


그러기 위해서 대충 눈앞에있는 친근한 무언가 + 때려도 기분좋을듯한 아이템을 찾았어.


이렇게 실직자 등록하는동안 심심해서 프로젝트를 진행하게 된게 캬루 알람 인형이야.



난 절대로 캬루를 싫어하지 않아! 우연히 캬루가 이 주제랑 어울려서 적용했을 뿐이야. 믿어줘!




만들어 지는 과정에 대한 목차는 다음과 같아.



1. 계획


2. 준비


3. 소프트웨어 제작


4. 하드웨어 제작


5. 실사용 후기





1. 계획


먼저, 처음 제작은 콧코로 인형으로 하려다가 캬루 인형으로 전환하게 된 이유를 하나 설명해줘야 할 듯 싶어.


캬루는 배신자니까. 모든게 납득 될 꺼야.



그러므로 캬루인형에 알람 시스템을 구축한다음에 시간맞춰 울리게되면 던져서 알람을 끄는거야. 이러면 잠깨기 좀 수월하겠지???





그런데 캬루 인형 하나로 무엇을 하기는 어렵다고 보는게 맞아. 좀더 구체적으로 어떻게 해야할지 정해볼거야.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87b2ecd4ddada92056bd8cdd7


캬루 인형은 생각보다 크지 않아.


무언가를 넣을 수 있는 공간은 100mm x 100mm x 100mm 정도로 되어 있었어.


여기에 인형 하나로 알람을 위한 모든걸 구현하기란 쉽지 않음을 짐작 할 수 있어.


그러므로 스마트폰을 이용한 무선 통신방식으로 진행할까 하고있어.



2. 준비


캬루인형과 무선통신 하기 위해서는 와이파이, 지그비, 블루투스, BLE 를 후보로 놔뒀는데 와이파이와 지그비는 예전 회사에서도 잘 다루지 않았던 물건이고 블루투스(클래식)은 써보면 배터리 소모량이 생각보다 큰편이야.


그래서 BLE (bluetooth low energy, 저전력 블루투스) 를 캬루에 심어야해.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2ddcf3e15969673675293a4fc213799484cd68ea9a8823eceae5


다행히 아두이노중에 나노 라인업에 33 BLE 라는 제품이 있어. 이 제품에는 BLE 외에 IMU, 기압, 온도, 습도 센서 등의 다양한 센서가 모여있고 크기도 40mm x 20mm로 적당해.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87e20d97a54fc1d94dbf6566d


인형 내부에서 보이스가 나오도록 해야하니까 음악 재생 모듈과 스피커도 필요해져.


여기서는 dplayer mini 를 사용할거야. sd 카드를 이용한 mp3재생 및 스피커 연결이 포인트야.


스피커는 1W 의 초소형 스피커를 사용하여 동작 시킬예정이야.


둘이 합해서 사이즈는 20mm x 20mm 정도로 작은 편이야.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2ddcf3e15969673675293a4fc2132ba38c15bc470c42795a99c5


알람이 울릴경우 던져서 멈추기로 했으니까 충격 감지 센서가 필요해.


SW-18010P 라는 진동 센서모듈을 이용할거야.


이 모듈은 안에 있는 스프링이 충격을 감지하는 방식을 사용하고 있어.


사이즈는 35mm x 15mm 로 괜찮은 것 같아.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2ddcf3e15969673675293a4fc2132c1de2d12814525da7617c1a


앗.. 지금은 3500mAh 배터리로 교체했어


안정성과 크기를 고려하여 리튬폴리머 배터리를 사용하기로 했어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2ddcf3e15969673675293a4fc2137ae34a1120534b7866ae7d53


그리고 5V 승압변환모듈도 같이 구매했어. 리튬폴리머 배터리는 3.7V 정도의 출력만 나오기 때문에 5V로 승압해서 출력해야 할 이유가 있어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2ddcf3e15969673675293a4fc213201d0b9c000abff0e88e05d1


계획에는 없던 물건인데 아두이노 배터리 측정에 문제가 생겨서 사게된 모듈이야. DM452 라는 모듈이고 배터리 전압을 아두이노로 표시해줘.



어플은 항상 해오던거니 준비과정에 크게 안적어도 될 듯 싶다.




3. 소프트웨어 제작.


1) 모듈 기능 구현



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba874205b1170cccc8af100c5d0


먼저 음악재생용 dplayer mini를 확인해볼거야.


rx / tx 연결시에는 크로스 연결해야 한다는 점 잊지마.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87c2f11c400c5a9cd5d39259e

코드는 제조 회사에서 기본적인 예제를 주긴하는데 33 BLE의 RX / TX 소켓에 꽃으니 동작이 잘 안되는 현상이 있어서 다른 라이브러리를 이용했어.


여기서는 음악재생, 음악중지, 저전력(버그로 안됨), 등의 기능을 이용 할 수 있어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87b7a766789568131b25a10a0

SD카드에 0001, 0002, 0003 ..... 의 형식으로 넣은다음에 play() 함수를 이용하여 재생 시킬 수 있어.




1W 초소형 스피커 치고는 성능이 매우 잘 나옴을 확인 할 수 있어.



캬루 보이스는 저번 외국인분에게 받은 프로그램을 바탕으로 구현했어. 캬루 말투를 상상하면서 만들긴했는데 전 혀 똑같지 않다는게 포인트야 ㅠㅠ



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2ddcf3e15969673675293a4fc2137cfc1d8ea02b451452138efb


충격 감지센서는 아날로그핀에 꽃아서 사용 할 수 있어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2ddcf3e15969673675293a4fc2132d2f1819fce8ad6a1497dbca


이 제품은 충격 값을 1023 - 0 수치로 보여주기 때문에 세부설정이 용이한 장점이 있어.




영상찍은 당일 패킷작업 도와주던 지인이 놀러와서 음악틀어놨던거 잊고 찍었나봐.. 음악들리는거 양해부탁할게.


충격 발생 시 LED 가 점등됨을 확인 할 수 있어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba82a7903047c113add869d778f


아두이노는 스마트폰과 BLE 통신을 하기 위해 패킷 통신 방법을 사용 할 예정이야.


그리고 회사에서 자주 사용하던 패킷 통신 양식을 사용 할 거야.


시작 / ID / 패킷값 / 패킷값 / 사이즈 / 끝 순으로 보낼거야.


이후 스마트폰 (혹은 아두이노) 에서 시작값과 끝값을 찾은뒤 사이즈가 보낸 패킷길이와 맞는지 점검하고 패킷값에 따른 설정 완료하고 답장 패킷 전송을 목표로 하고 있어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba82d2feb04204919414e61caf2


약속대로 지우진 않았다???

지인이 나랑 친해서 스프레드 시트에 장난 쳐 놓고 지우지 못하도록 해놨더라.. 아...



기능 구현을 위한 패킷은 지인을 동원해서 정리를 해놨어.


보답으로 일본여행 갔을때 원하던 물건 다 사줬으니 할 일 다해줬어.



패킷 전송의 분류는 기능상 다음과 같이 분류되어 있어.


1. 처음 연결 시 패킷

- 배터리와 현재 설정된 시간 정보를 공유한다.

2. 배터리 잔량 전송 패킷

- 배터리 잔량 정보를 정기적으로 공유한다.

3. 알람(타이머) 설정 패킷

- 설정된 시간 값과 동작해야할 타이머 카운트를 공유한다.

4. 알람(타이머) 중단 패킷

- 타이머를 중단 시킨다.

5, 설정 불러오기 패킷

- 설정 데이터(사운드, 알람 반복, 음악 리스트, 충격 감도)를 공유한다.

6. 설정 저장하기 패킷

- 설정 데이터(사운드, 알람 반복, 음악 리스트, 충격 감도)를 공유한다.

7. (알람이 울릴 때) 울리는 알람 전송 패킷

- 알람이 울리는 상태에서 스마트폰과 연결 시 알림이 울리고 있음을 공유한다.

8. (알람이 울릴 때) 알람 중지 패킷

- 스마트폰에서 알람 중지 패킷을 전송 할 경우 처리한다.

9. (알람이 울릴 때) 알람 충격 발생

- 알람이 울리는 상황에서 충격 발생 시 스마트폰에 중지됨을 공유한다.


패킷에 대한 상세 내용을 전부 적고 싶은데 너무 많은 내용이 적힐 듯 싶어서 패킷 정리해놨든 스프레드 시트를 공유할게.


여기에 정리 다 해놨어.


https://docs.google.com/spreadsheets/d/1zqOIscimEf2tIPX3FKa5HgBziu-IAGmjvsWRCMEdhH8/edit?usp=sharing


 



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87f2d4357f37053dcfe3e1157


마지막으로 알람 카운트를 위한 타이머 인터럽트 구현이야.


타이머 인터럽트를 간단하게 설명하자면, 소스코드로 돌고있는 부분이 아닌 내부 기능를 이용하여 일정 시간마다 태클 걸고 무엇을 하라고 지시 할 수 있어.


아두이노는 소스 사용시 딜레이를 자주 사용하게되어 시간 측정이 많이 꼬이는 편 인데 타이머 인터럽트를 이용하여 카운트를 정확하게 지시 할 수 있어.


(타이머 인터럽트 동작 사진)


이와 같이 1초마다 카운트가 잘 작동함을 알 수 있어.



이제 센서 동작을 위한 코드 작업은 끝났어. 이걸 하나로 합치는 작업을 하면 되는데 이 부분은 어플리케이션 개발과 같이 보여줄게.




2) 아두이노 소스코드 통합 및 어플리케이션 개발


이제부터 나오는 사진은 흰색바탕 : 아두이노, 검은바탕 : 어플리케이션 이야.


어플리케이션의 경우 컨트롤러의 기능만 필요하단 점을 강조할게.


그러므로 메인 액티비티 + 세팅 액티비티 + 블루투스 검색용 액티비티 + 알람 설정 액티비티 로 구현될 예정이야.



메인 액티비티에서는 블루투스 연결 진입, 알람 설정 진입, 세팅 메뉴 진입, 캬루 를 구현 할 거야.



블루투스 연결 과정은 이전 작업에서도 보여준 클래식 연결과 크게 다르지 않긴 한데 중요포인트 하나만 짚고 넘어갈게.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87529c1c7f2b65a44d0ca39b2


UUID 설정을 클래식에서는 하나만 대충 설정해도 알아서 연결 잡아주는 반면, BLE 는 아두이노 설정 UUID 와 앱 설정 UUID 가 일치해야하고 서비스, TX, RX, 클라이언트 UUID 까지 다 일치해야 연결된단점 참고 부탁할게.


여기서마저 아두이노 TX = 앱 RX 방식은 여전해.


추가로 블루투스 검색을 하게되면 해당 블루투스 리스트 + 수신감도를 확인 할 수 있도록 해놨어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba8282cc9a023ff19812d815b0e


아두이노 측에서는 블루투스가 연결 이벤트 발생 시 초기연결 패킷 전송을 하도록 해놨어.


초기 연결에서 가져오는 데이터는 알람동작여부, 알람시간 정도야.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba82f7df023808eabf0c3016be5


캬루만 갖다놓고 있기에는 심심하니까 저번처럼 gif 를 이용하여 눈깜빡이거나 말하는것처럼 꾸미기, 대화 자막등을 구현할거야.


viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2ddcf3e15969673675293a4fc2132c1ee2d2264d550aa7617c1a


캬루 대화 ui는 이렇게 구상하기로 했어


버튼은 세팅 진입 버튼을 제외하면 하나의 버튼을 이용하여 구현할거야.


viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba8282e87d175282ebed4365f3f


캬루 연결 버튼 -> 알람 설정 버튼 -> 알람 중지 버튼 -> 알람 종료 버튼 의 순서로 나타나게 할 거야.


viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba8292889457d15caa2ce3477a4


다음과 같이 하나의 버튼에서 구현할 수 있어.


알람과 세팅은 프래그먼트를 이용하여 이동하는 방식을 사용하기로 했어.


viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4e08f1bf83e08a6ab7d780a51d35e14653357b978b416c8


viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87a28e07bef5b8a1938303f4d


추가로 싸구려틱한 애니메이션도 넣어놨어. 난 디자인쪽 하나도몰라서 이게 최대한 잘 구현한거야 ㅠㅠ


viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2ddcf3e15969673675293a4fc2132c1ae18b7c135708a7617c1a


알람은 timepicker 를 이용하여 다이얼을 돌리는 방식을 이용할거야.

! 내용 수정 !

초로 단위변환 시도하니 카운트 들어갈때 배터리 소모량이 너무커져서 분단위로 변경.


원하는 시간을 설정하고나서 시, 분을 분으로 단위변환 한 다음에 다음 공식을 이용해서 카운트로 바꿀거야.


시간 계산식


설정된 시간이 현재 시간보다가 작을 경우

(설정된시간) + 24시간 - 현재시간 = 알람시간.


설정된 시간이 현재 시간보다가 클 경우

설정된시간 - 현재시간.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87c2c81cc3c01f688f135bba7


이렇게하면 카운트 해야할 변수가 나오고 이걸 아두이노에서 수신받아서 타이머 인터럽트 동작에 사용하면 끝이야.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87a2bb2d49d74b35461d3a286


세팅메뉴는 누르면 캬루 인형에 사전 설정된 세팅값을 먼저 불러오도록 되어 있어.


만약 캬루 인형에서 저장된 값이 없다면 기본값(자동 알람 X, 볼륨 15, 캬루보이스 알람, 센서 감도 2레벨) 을 전송하도록 할거야.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba82e28f36c915c48f91dd2dc34


자동 알람은 해당 알람이 꺼진 경우 1440분(24시간)을 다시 타이머 인터럽트에 적용시키는 방식을 이용 할 거야.


자동 알람을 취소 할 때 까지 이 기능은 계속해서 돌아갈거야.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba8752cc7d990b4703594f8fbf0


볼륨 설정의 경우 dfplayer mini 의 볼륨설정 부분에서 0 - 30 의 범위로 설정해달라는 정보가 있었어.


그러므로 seekbar 기능을 통하여 0 - 30 까지 드래그로 설정 할 수 있도록 해놨어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba8292888107c4398a3ce3477a4


알람 음악의 경우 spinner를 통해서 음악 리스트중 하나를 선택 할 수 있게 해놨어.


1. 캬루 보이스 사용한 알람

2. lost princess (karyl solo)

3. absolute secret


총 3가지의 알람 음악을 사용 할 거야.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87b28d04df01eadf5b81a6f99


충격 감지 센서는 위에서도 설명 했지만 1023 - 0 의 충격 범위를 감지하도록 되어 있어.


seekbar 의 감도 범위는 1 - 10 인데, 이 값이 아두이노로 넘어가서 x50 한 뒤 감도를 적용하도록 할 거야.


실 적용 감도는 50 - 500 란 이야기야. 기본 값은 2(100) 이고 10(500) 정도면 살짝 들기만해도 감지 될 수 있으니 엄청 민감한 수준이야.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba82f2f95e0cc9b92dec4dece16


자동 연결 관련은 어플리케이션 내부에서 처리되는 기능이야.


블루투스에 연결되면 현재 연결되었던 캬루 인형의 블루투스 데이터를 SharedPreferences로 저장하게 되는데, 자동연결까지 켜게 되면 어플 시작할때 과정을 생략하고 바로 연결 시도부터 하도록 해줘.


저장된 연결 초기화를 누르면 기존에 저장된 블루투스 연결 데이터는 삭제되도록 해놨어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba82a28dcdec5977672c313231c


기타 기능으로는 배터리 잔량 감지 기능을 넣어놨어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87a28b57dbc0c8f4b382a214d


과방전 주의!


리튬폴리머 배터리는 4.2v 상태가 완충, 3.2v 상태가 방전위험 상태니까 이 사이값을 이용하여 퍼센티지로 환산 시키면 될거야.


문제점은 배터리는 아두이노 33 BLE 기본 배터리 측정 기능 덕분에 아날로그A0에 다이렉트로 연결하면 되지만.. Vin 혹은 A0 에 배터리를 연결 할 경우 5V 핀이 출력 안되는 문제가 있어.


그리고 5V가 기본적으로 비활성화인데 하드웨어 제작 부분에서 활성화 방법을 적어놓을게.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba82f2cded25529e1e39980c24f


(전압 측정 센서가 fritzing에 없어서 아무거나 사용했음 양해 부탁해.)


그러므로 전압 측정 모듈을 배터리에 연결하고 배터리 입력은 5핀 USB 를 잘라서 넣도록 할거야. 여기는 5V 출력이 가능해. 배터리 측정 센서를 배터리 부분에 연결하는걸로 대체 하도록 할거야.




4. 하드웨어 제작



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87f28ccf9cc6aac81975dc1c3


모든 센서를 아두이노와 연결 할 거야.


dfplayer mini는 rx ->tx, tx->rx, gnd, 5V 에 연결할거야.


여기서 중요한점! 아두이노 나노 33 ble 는 기본 출력이 3.3v로 되어있어. dfplayer의 데이터시트를 보니 3.3v가 지원한다 되어있는데 실제로 써보니 3.3v사용시 전압부족으로 노이즈가 생기는 문제가 있어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2ddcf3e15969673675293a4fc213201a0acb515bb7f5e88e05d1


아두이노 뒷부분을 보면 vsub 부분에 납땜할수있는 부분이있어. 여기를 납땜해주면 5v 핀이 활성화 가능하니 연결하고 5v 핀으로 연결해주자.


잘못해서 나처럼 터트리지말고


충격 감지 센서는 gnd, 3.3v, 아날로그A2 핀에 연결하기로 했어.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87a2ce92e6254568a256d567d


최대한 공간을 덜 사용하도록 하다보니 합쳐놓은게 외형이 별로 안좋긴한데.. 3일테스트 해보니 별 문제 없더라.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba8292a1c7d940e17e1b8ee3d34

viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87a2abab30cd4fed9567f9705


이걸 (55mm x 35mm x 20mm) x2 의 엔클로저 박스에 넣고 하나로합친다음



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba82e2ffd74fcea955efc93e484



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87a7add7cc49024faae99f03b


중학교 기술가정시간에 익혀놨던 서툰 바느질로 마무리를 해놓으면



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba87b28d74da619a8a6b8007199


캬루 알람 인형은 완성이야.



viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4a64b2db19de85969663c702b3f4ba82d2c2460b1717eab9173fe8a


뒷부분에 흰색 5핀 usb 케이블은 충전용도고 검은색 케이블은 pc 연결 및 아두이노 연결용이라 생각하면 될거야.





이렇게 완성했으니 실제 사용이 잘 되나 확인해봐야지!




어플리케이션에서 캬루에게 명령을 내릴 수 있는 기능만 모아놓은 영상이야.




이건 계획대로 알람이 울릴때 던지면 꺼지는 영상이야.


던졌을때 그냥 알람이 꺼지면 심심하니까 캬루 비명소리를 첨가했어.




혹시 모르니 스트레스 테스트를 한번 해보는게 맞다고 생각했어.


야구배트같은 강력한 충격에도 정상적으로 동작하는지 확인 해본 영상이야.


배트의 충격에도 부품이 손상가지 않고 정상적으로 종료됨을 알 수 있어.




viewimage.php?id=3da8c22feedd36a351add3b11fc721&no=24b0d769e1d32ca73dea82fa11d028318d8d127b7d4f8c0d9764208696184aa09cdf1d21fb506484a84632da5c85f4e08f1bf83e08a6ab7d780a04d45b4032340fe39c1b6b89



a04f30666938fc2a924698b21fd70403dde77dc778bf83be3aa6f0

테스트 하다보니 이게 떠오르더라 




결론은 캬루 인형을 던져보니 생각보다 체력을 쓰게되어서 잠깨는데 문제가 없다고 판단했어.



심지어 던져서 알람 안멈추면 던진곳까지 가서 또 꺼야하거나 스마트폰 켜고 꺼야하니 아주 좋아.






해당 작업에 대한 소스코드는 이전에 작업했던 코드를 참고해서 제작했어. 깃허브를 이용해서 공유 해 놓을게. 혹시 관심있거나 다른 인형에 이식해보고싶다면 한번 참고해봐.






출처: 프린세스커넥트 리다이브 갤러리 [원본 보기]

추천 비추천

367

고정닉 163

21

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연인과 헤어지고 뒤끝 작렬할 것 같은 스타는? 운영자 24/04/22 - -
공지 HIT 갤러리 업데이트 중지 안내 [716] 운영자 23.09.18 25640 34
공지 힛갤 기념품 변경 안내 - 갤로그 배지, 갤러콘 [190] 운영자 21.06.14 113958 57
공지 힛갤에 등록된 게시물은 방송에 함께 노출될 수 있습니다. [629/1] 운영자 10.05.18 565294 251
17809 메피스토펠레스 완성 + 제작 과정 [540] 무지개별갤로그로 이동합니다. 23.10.05 55763 335
17808 야쿠르트 아줌마의 비밀병기 [409] 6D갤로그로 이동합니다. 23.10.05 62458 958
17807 첫 해외 여행, 일본 갔다온 망가 [186] 불효좌갤로그로 이동합니다. 23.10.04 41987 280
17806 그 시절, 우리가 사랑했던 디시인사이드...manhwa [859] 이재혁.갤로그로 이동합니다. 23.10.04 74209 1513
17805 7년간 존버한 수제 커피만들기.coffee [222] 끾뀪이갤로그로 이동합니다. 23.10.03 38946 588
17804 닌텐도 DS로 원시고대 Wii U 만들기 [223] 도박사갤로그로 이동합니다. 23.10.02 58170 546
17803 계류맨의 수산코너 조행기(스압,움짤) [58] 고정닉이라능갤로그로 이동합니다. 23.09.30 29431 46
17802 추석 .MANHWA [422] ..김지민갤로그로 이동합니다. 23.09.29 115361 1980
17801 대충 히로시마 갔다온 사진 [288] ㅇㅇ갤로그로 이동합니다. 23.09.28 59213 186
17800 쿨타임 찬거 같아서 오랜만에 달리는 sooc 모음집 [79] ㅃㄹㄹ갤로그로 이동합니다. 23.09.27 28019 45
17799 메이플 콜라보 기념 디맥콘 DIY 제작기 [143] 빚값(211.220) 23.09.27 32288 180
17798 깜짝상자-上 [135] 고랭순대갤로그로 이동합니다. 23.09.26 33379 230
17797 홈마카세) 올해 먹은 식사중에 최고였다 [238] 내가사보케갤로그로 이동합니다. 23.09.26 53590 295
17796 니끼끼 북한산 백운대까지2 [72] 설치는설치류갤로그로 이동합니다. 23.09.25 17080 62
17795 어휴 간만에 밤새 sff겜기 만들었네 ㅎㅎ [192] MENYA갤로그로 이동합니다. 23.09.25 31338 176
17794 GBA SP 수리 및 개조일기 [168] 서비갤로그로 이동합니다. 23.09.23 35320 194
17793 [스압] 첫글임. 여태 그린 낙서들 [295] Big_Brother갤로그로 이동합니다. 23.09.22 36075 304
17792 스압) 올해의 마지막 자전거여행 [74] 푸핑갤로그로 이동합니다. 23.09.22 19857 88
17791 유럽 한달여행 (50장 꽉) [106] 야루각갤로그로 이동합니다. 23.09.21 26600 106
17790 대충 조혈모세포 기증하고 온거 썰 풀어준다는 글 [251] 사팍은2차원갤로그로 이동합니다. 23.09.21 28019 487
17789 심심해서 올리는 니콘 9000ed 예토전생기 (스압) [88] 보초운전갤로그로 이동합니다. 23.09.20 19636 90
17788 이번에 새로만든 고스트 제작기 [168] PixelCat갤로그로 이동합니다. 23.09.20 32032 266
17787 더 작고 섬세하게 만드는 종이 땅꾸들 [183] Dikase갤로그로 이동합니다. 23.09.19 28113 378
17786 고시엔 직관.hugi [222] MERIDA갤로그로 이동합니다. 23.09.19 33353 189
17785 미니 브리프케이스 완성 (제작기+완성샷) [73] 카나가와No.1호스트갤로그로 이동합니다. 23.09.18 17202 105
17783 일본우동투어 7편 후쿠오카현 (완) [170/1] 모가밍갤로그로 이동합니다. 23.09.18 29303 165
17782 이광수 만난 manhwa [235] 그리마재갤로그로 이동합니다. 23.09.16 74600 283
17781 지리산 노고단 당일치기 후기 [74] 디붕이(222.106) 23.09.15 23064 50
17779 대보협 Mr.YMCA 대회 참가 후기 [375] 포천시민갤로그로 이동합니다. 23.09.14 42746 267
17778 (스압)장제사의 이틀 [192] ㅇㅇ(180.67) 23.09.14 33272 298
17777 일본일주 여행기 (完) [133] Oreoo갤로그로 이동합니다. 23.09.13 32342 169
17776 하와이안 미트 피자 [423] 고기왕레오갤로그로 이동합니다. 23.09.13 50874 467
17775 요도(妖刀)슬레이어 (1) [261] 호롱방뇽이(211.178) 23.09.12 44232 114
17774 [폰카] 카메라 없이 폰카만 있던 폰붕이 시절 [132] 여행자.갤로그로 이동합니다. 23.09.12 28859 74
17773 PBP 1200K 후기 - 完 누군가의 영웅 [79] 우치우갤로그로 이동합니다. 23.09.11 15170 78
17771 단편만화 / 시속 1000km 익스트림 다운힐 [120] 이이공오갤로그로 이동합니다. 23.09.11 20752 195
17769 KL - 델리 입국 후기 (으샤 인도 여행기) [79] 으샤갤로그로 이동합니다. 23.09.08 20594 65
17768 세트병) 프리큐어 20년 즈언통의 굿즈모음 [406] 신나천갤로그로 이동합니다. 23.09.08 28055 497
17767 적외선 사진 쪄옴 [96] D750갤로그로 이동합니다. 23.09.07 46739 108
17766 싱글벙글 내 작은 정원 [358] 이끼좌갤로그로 이동합니다. 23.09.07 34799 419
17765 일붕이 여름 철덕질 하고온거 핑까좀 [197] ㅇㅌㅊ갤로그로 이동합니다. 23.09.06 27489 226
17764 전 특수부대 저격수 예비군 갔다 온 만화 [451] 호공툰갤로그로 이동합니다. 23.09.06 60433 590
17763 전에 주워서 키웠던 응애참새 [758/2] 산타싸이클로크로스갤로그로 이동합니다. 23.09.05 74237 1727
17762 위증리) 혼자서 하는 스코틀랜드 증류소 여행 [73] 우왕(124.216) 23.09.05 22704 44
17761 세계 3대 게임 행사, 게임스컴을 가보다 (행사편 上) [142] Shikugi갤로그로 이동합니다. 23.09.04 39152 225
17759 굣코 1/5 스케일 피규어 만들었음 [164] 응응5갤로그로 이동합니다. 23.09.04 26559 330
17758 용사냥꾼 온슈타인 피규어 만들어옴 [159] 도색하는망령갤로그로 이동합니다. 23.09.02 33286 315
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2