산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치

부품 및 소모품

점퍼 와이어1세트
아두이노 윤 (Arduino Yun)1개
220Ω 저항1개
스파크펀 12mm 푸시버튼 스위치1개
브레드보드1개

앱 및 온라인 서비스

프로젝트 소개

개요

친구 집에 폰 두고 온 적 있나요? 누가 폰 가져갈까 불안한 적 있나요? 누구나 폰 분실/망각 경험이 있을 겁니다. PhoneLocator는 버튼 한 번으로 폰의 GPS 좌표를 이메일로 전송해 기기 회수를 돕습니다. Blynk 덕분에 복잡한 설정 없이 버튼만 누르면 됩니다. (Blynk 계정 필요, 계정 생성 가이드 본문 하단 참조)

PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치

작동 원리

PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
  1. if(button pressed): D2 버튼 눌림 감지
  2. getLocation: Blynk 통해 폰 GPS 좌표 요청
  3. Process Data: 수신된 좌표로 이메일 본문 구성
  4. Send email: 사용자 이메일로 전송

버튼 누름 ~ 이메일 수신 약 8초. 폰이 슬립 상태여도 Blynk 앱이 백그라운드 실행 허용되어 있으면 작동. Blynk 프로젝트가 폰에서 '실행 중' 상태여야 함 (상세 설정 아래 참조).

장점

프로젝트 제작하기

1단계: 준비물

PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치

2단계: 회로 연결

PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치

버튼 한 쪽 → 220Ω 저항 → GND, 같은 쪽 → D2, 다른 쪽 → 5V (풀다운 구성)

3단계: 코드 이해

세 파트로 구성: getLocation, Process Location Data, Send Email

getLocation (Blynk 가상 핀 V0 읽기)
BLYNK_WRITE(V0) {
  latitude  = param[0].asDouble();
  longitude = param[1].asDouble();
  altitude  = param[2].asDouble();
  speed     = param[3].asDouble();
}

Blynk는 데이터를 가상 핀에 저장. BLYNK_WRITE(V0)로 위도/경도/고도/속도 수신. 위도/경도만 사용. 업로드 전 Blynk 프로젝트 설정이 올바른지 확인 필수.

Process Location Data (이메일 본문 구성)
if (latitude != 0.00 && longitude != 0.00) {
  String toSend = "Phone Located! \n received co-ordinates \n LAT ";
  toSend += latitude;
  toSend += " LNG ";
  toSend += longitude;
  toSend += ". View location on Maps: ";
  toSend += "www.google.com/maps/?q=";
  toSend += latitude;
  toSend += ",";
  toSend += longitude;
  delay(500);
}

유효 좌표(0이 아님)일 때만 실행. 구글 맵 링크 포함. 아두이노는 최대 10회까지 유효 좌표 받을 때까지 반복 요청.

Send Email (Blynk 이메일 위젯 사용)
Blynk.email(userEmail, "PhoneLocator | Notification", toSend);
if (proDebug == 1) {
  Serial.println("Success");
  Serial.println("Email Sent");
  Serial.println("Restarting Protocol");
  Serial.println("");
}

proDebug는 디버깅용. 기본값 1(시리얼 모니터 열려 있어야 작동). 실제 사용 시 0으로 설정해야 독립 실행 가능.

변수 설정 (TODO 표시된 것 필수 수정)

라이브러리: Bridge (아두이노 LLC, 퍼블릭 도메인), Blynk (MIT 라이선스)

Blynk 설정 가이드

  1. Blynk 앱 다운로드 (iOS/Android)
  2. 계정 생성: 이메일 인증 → 새 프로젝트 생성 → 하드웨어 'Arduino Yun' 선택 → 인증 토큰 이메일로 수신
  3. 위젯 추가: GPS 위젯 (가상 핀 V0 할당), 이메일 위젯 (수신자 이메일 설정)
  4. 앱 '실행' 모드로 전환 (우상단 플레이 버튼). 백그라운드 실행 권한 허용 필수.
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치
PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치

최종 설정 및 업로드

PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치

TODO 변수 모두 수정 완료 후 아두이노 윤을 PC에 연결해 코드 업로드. 버튼 누르면 폰 위치 이메일로 전송됩니다.

배경

잃어버린 폰을 쉽게 찾는 방법 고민 중 Blynk가 앱 백그라운드/슬립 상태에서도 GPS 전송 가능함을 발견. 버튼 하나로 해결. 아이폰(iOS 11)에서 테스트 완료.

코드

전체 코드는 프로젝트 페이지 참조 (용량상 생략). 핵심 함수 위주로 본문에 포함됨.

회로도

PhoneLocator: 분실한 스마트폰 어디서든 찾아주는 아두이노 장치

Fritzing 파일: schematics_UhOTpO8N1Z.fzz

제조공정

  1. 아두이노 디지털 주사위: LCD 기반 랜덤 넘버 제너레이터 만들기
  2. 아두이노 아이언맨 제작: 부품, 센서, 단계별 가이드
  3. 아두이노와 블루투스로 만드는 스마트 물건 찾기 'Find Me'
  4. 아두이노 구동 3D 프린팅 로봇 팔 만들기: 단계별 가이드
  5. 아두이노 릴레이 제어 가습기 자동화 – 고전압 안전 설계
  6. 비접촉 체온 측정 게이트: 아두이노 MKR1000으로 구현하는 자동 발열 검사 시스템
  7. 피봇(PiBot): 아두이노 기반 88건반 피아노 연주 로봇
  8. 아두이노 나노와 네오픽셀 매트릭스로 만드는 네온 퐁 게임
  9. 아두이노 & ThingSpeak로 실시간 날씨 모니터링 IoT 구축
  10. 게이밍용 커스텀 아두이노 조이스틱 스티어링 휠 만들기