[한이음 ICT멘토링 공모전] 앱 인벤터_아두이노 블루투스 연결

김지민·2022년 11월 7일

Development Project

목록 보기
1/10
post-thumbnail

한이음 공모전 첫번째 이야기

첫 공모전을 준비하면서 많은 어려움을 겪었습니다.
이번 프로젝트는 주로 아두이노, 앱 인벤터, 파이어베이스를 사용하였는데, 아두이노만 전공시간에 다뤄봤을 뿐 앱인벤터도 파이어베이스도 처음 다뤄보았기에 어려움이 많았습니다. 그렇기에 앞으로 올리는 글들이 대단한 문제점을 해결한 것은 아니지만 나름 저희의 시행착오를 기록하려합니다. 그리고 저희처럼 처음 프로젝트를 시작하는 사람들에게도 저희가 다른 글들을 참고했던 것 처럼 도움이 되기를 바랍니다.🙂

처음으로 다뤄볼 주제는 앱 인벤터와 아두이노를 블루투스로 연결하는 것입니다.
저희 프로젝트의 구현을 위해서는 아두이노의 센서 값을 앱 인벤터로 받아와서 앱 인벤터 내에서 그 센서 값을 이용해야했습니다.

처음에는 아두이노의 센서 값을 파이어베이스에 저장하고, 파이어베이스에 저장된 값을 앱 인벤터로 받아와 사용하려 했으나, 앱 인벤터가 처음인 저희에게는 쉽지 않았습니다. 방법을 고려하던 중 앱 인벤터 내 팔레트-연결에서 블루투스 클라이언트(스마트폰에서 블루투스 통신과 관련된 작업을 하기 위한 컴포넌트)를 사용할 수 있다는 것을 알게 되었습니다. 저희는 마침 아두이노에 블루투스 모듈이 부착되어있었기에 이 방법을 이용하기로 했습니다. 블루투스 모듈은 HC-06 모듈을 사용하였습니다.

블루투스 클라이언트를 사용하기 위해서는 목록선택버튼(화면에서 블루투스 연결 버튼), 시계, 블루투스 클라이언트 컴포넌트를 넣어줍니다. 레이블1 컴포넌트는 아두이노의 센서 값을 표시하기 위해 넣어줍니다.
블루투스 연결이 되면 레이블1 컴포넌트에 아두이노의 센서 값이 표시됩니다.
(레이블1 컴포넌트의 위치는 블루투스 연결 버튼 아래 초록색 바 부분입니다.)

이제 블루투스 클라이언트를 이용하기 위해 블록코딩을 해줍니다.

: 블루투스 목록을 선택하기 전에, 블루투스 클라이언트에서 받는 서버의 주소와 이름을 블루투스 목록으로 지정해줍니다. 실행 시 블루투스 연결버튼을 클릭하면 블루투스를 연결할 수 있는 목록이 뜹니다.

: 블루투스 목록에서 블루투스를 선택하게 되면 선택된 항목의 주소로 안드로이드에서 블루투스 클라이언트로 연결합니다. 이때 블루투스 목록에서 ~HC-06을 선택해주면 아두이노 블루투스 모듈과 연결됩니다.

: 시계 컴포넌트로 1초 간격마다 블루투스 연결 상태를 확인합니다. 블루투스가 연결되어있다면, 블루투스를 통해 받는 데이터를 바이트 크기로 받게 됩니다. 바이트 크기가 0보다 크다면 데이터가 전송이 된 것이겠죠. 만약 바이트 크기가 0보다 크다면 블루투스 클라이언트를 통해 받은 바이트를 텍스트로 받아 레이블1에 입력하게 됩니다.

이렇게 아두이노와 앱인벤터를 아두이노의 블루투스 모듈과 앱인벤터의 블록코딩을 이용해서 연결시켜주었습니다. 저희는 블루투스로 연결한 아두이노와 앱인벤터를 사용해 아두이노의 센서 값을 앱인벤터안으로 가져오는데 성공했습니다. 다음 글에서는 아두이노의 센서 값을 앱인벤터 내에서 어떻게 사용했는지 다뤄보도록 하겠습니다.

profile
백엔드 개발자를 준비하는 삐약이 대학생에서 .. 취준생🐣

0개의 댓글