디시인사이드 갤러리

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

갤러리 본문 영역

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

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


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


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 - -
17497 남극 여행 사진 몇 개(펭귄 위주) [185] 미됸갤로그로 이동합니다. 23.03.21 27445 225
17496 나의 피자 연대기 (초창기 삽질편) [스압] [264] 흙사자레오갤로그로 이동합니다. 23.03.20 42161 480
17495 한국에서 올드카를 수리하기. [461] 단양갤로그로 이동합니다. 23.03.20 46644 388
17494 2021년 전세계적인 멸종위기종 노랑배청개구리를 찾으러 간 여행 [329] 하지마갤로그로 이동합니다. 23.03.18 45119 547
17493 일본 교환학생 다녀온 만화.manhwa [완][스압] [340] 치즈 23.03.17 147272 398
17492 자랑))이틀 전에 산 내 첫차임 ㅎㅎ [707] 데마시아거주자갤로그로 이동합니다. 23.03.17 76364 663
17491 오사카 콘고잔 金剛山 바리에이션루트 등산 후기 [64] ㅇㅇ갤로그로 이동합니다. 23.03.16 16537 36
17490 몸 좋아지고 싶으면 애니 봐라(장문주의) [840] 호시미츠갤로그로 이동합니다. 23.03.16 92842 536
17489 서코에서 "천야차" 도-황 코스프레하고 왔습니다. [572] ㅎㄴㄹ(122.128) 23.03.15 57206 934
17488 군붕이 구조대미용실형 잘생긴 군붕이 머리 무료로 해주게 된 썰 [240] 미용실형갤로그로 이동합니다. 23.03.15 52421 419
17487 굴뚝새 탐조 [스압] [136] 백사투사고싶다갤로그로 이동합니다. 23.03.14 22351 268
17486 6현 베이스 기타(ㅋ) 제작기 [76] 도박사갤로그로 이동합니다. 23.03.14 20894 85
17485 데나노 외장그래픽 확장팩 제작기 겸 제작 설명서(스압) [213] MENYA갤로그로 이동합니다. 23.03.13 26879 93
17484 일본 교토 시의 산 속 폐건물 탐방 [221] アルティナ갤로그로 이동합니다. 23.03.13 44878 239
17483 북한산에서 바라본 아파트의 섬들 16장 [스압] [177] 12b갤로그로 이동합니다. 23.03.11 35738 220
17482 [다크투어] 대한민국 판문점 [스압][약혐] [91] 박기린갤로그로 이동합니다. 23.03.10 35529 109
17481 토텐코프 사단 전범맨 완성 [138] 제노죠아갤로그로 이동합니다. 23.03.10 23710 135
17480 차 사와다 [스압] [242] 단양갤로그로 이동합니다. 23.03.09 35744 316
17479 올해 첫 은하수 & 일출 출사 (30pics) [121] ㅃㄹㄹ갤로그로 이동합니다. 23.03.09 18776 131
17478 뇌와 벌 [완][스압] [459] 고랭순대갤로그로 이동합니다. 23.03.08 42087 849
17477 한복 입고 놀러갔다 온 사진. (수섬 나들이) [184] 아르군갤로그로 이동합니다. 23.03.08 29874 194
17476 [OMNIVUS] 지옥철 표류기 [스압] [111] ssv갤로그로 이동합니다. 23.03.07 26000 188
17475 주말에 또 상어 보러 다녀옴 [212] 똥오줌갤러리(68.205) 23.03.07 36150 187
17474 6개월간의 대림 택트 복원과정 올려봅니다 [266] 짭돌이.갤로그로 이동합니다. 23.03.06 30083 276
17473 정든 나의 외계인 친구 [339] 개구락찌갤로그로 이동합니다. 23.03.06 48474 629
17472 피자를 너무 좋아하는 피자 가게 사장님.manhwa [스압] [480] 만신창이(121.184) 23.03.04 111885 1244
17471 3000미터급 활화산 御嶽山온타케산 등반후기 [96] ㅇㅇ갤로그로 이동합니다. 23.03.03 20956 73
17470 대학 복학하고 한학기만에 런한 24세 김조운 (스압주의) [396] 김조운갤로그로 이동합니다. 23.03.03 69196 227
17469 A7m2 저잘쓰 ㅇㅈ? [스압] [127] 닉언갤로그로 이동합니다. 23.03.02 22766 86
17468 경운기 피규어 만들어왔습니다 [416] 6Dcreation갤로그로 이동합니다. 23.03.02 37557 888
17467 카이막 만들어봤다. [523] 김고기갤로그로 이동합니다. 23.03.01 67378 696
17466 본인이 약안먹고 우울증 고친법 [스압] [1412] 사천짜파게티갤로그로 이동합니다. 23.02.28 136341 1253
17465 무선조종 랜드레이더 만들어옴 [134] 샤전용갤로그로 이동합니다. 23.02.28 24214 203
17464 쾌걸춘향 촬영지 투어 다녀옴 (스압) [229] ㅇㅇ(211.52) 23.02.27 27498 172
17463 체인소맨- 완성 [161] 야스오리아나갤로그로 이동합니다. 23.02.27 42929 166
17462 Pop up Parade 광전사 리페인트 2 [122] 곰나으리(110.11) 23.02.25 24848 207
17461 넨도없음 주의,장문주의)세하와 호순이 전국노숙일주 [완][스압] [133/1] 세하와호순이갤로그로 이동합니다. 23.02.24 20504 48
17460 소꿉친구와 팔씨름 하는법 manhwa. (완) [226] 앞구르기갤로그로 이동합니다. 23.02.24 44467 508
17459 3D프린팅 그레이트 파이브 제작 [스압] [138] 빵떠기갤로그로 이동합니다. 23.02.23 22477 192
17458 만화가 최지룡님 만나뵙고 온 후기 [658] 쿠스리갤로그로 이동합니다. 23.02.23 59509 1076
17457 [나사루] 몬스터 모음 ㅎㅎ 몬스터 짱 재밌음 몬스터 그립시다 [257] 나사루(203.80) 23.02.22 23752 170
잠을 깨게 만드는 캬루 인형 알람 제작기 [263] 멜리사J갤로그로 이동합니다. 23.02.22 31584 367
17454 직접찍은 안주겸 풍경 사진 feat.해외 [214] 흰색족제비갤로그로 이동합니다. 23.02.21 20537 144
17453 장문?)아무도 안물어본 라이더슈트 제작기 [230] G-100갤로그로 이동합니다. 23.02.21 23317 116
17452 물붕이의 시속60키로 슈퍼스타 전국투어 [스압] [355] 완도폭격기갤로그로 이동합니다. 23.02.20 24416 100
17451 너는 이 게시물을 지나칠 수 없다(한복스냅) [497] 유스더유스갤로그로 이동합니다. 23.02.20 36108 357
17450 [스압] 에일린 레진킷 작업기(데이터주의) [78] cttgh갤로그로 이동합니다. 23.02.18 28261 149
17449 초밥이 땡겨서 급발진 홈마카세 [스압] [363] Cemi갤로그로 이동합니다. 23.02.17 63116 588
17448 나도 소장품들 자랑할래 [241] 류무갤로그로 이동합니다. 23.02.17 51783 354
17447 9개월간의 버스기사 생활을 Rewind 해보자 [403] 바합갤로그로 이동합니다. 23.02.16 62355 906
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2