아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

아두이노 통신

아두이노 블루투스 프로젝트 모음 (HC-06) / 앱인벤터 만들기 / 앱제작 / 블루투스 프로젝트

 개요

이번 글에서는 아두이노 보드와 블루투스 모듈(HC-06)을 활용한 무선통신 프로젝트들에 대해

살펴보도록 하겠습니다. 아두이노와 블루투스, 그리고 앱 제작을 위한 앱인벤터까지 배워보고

프로젝트에 참고해보도록 합시다. (아주 기초적인 내용만 담고있습니다. 더 구체적인 내용은

블로그에 검색하여 찾아주세요.)

 아두이노란?

센서나 모터, 무선통신 모듈과 같은 전자부품들을 제어하기 위한 보드입니다. 즉 사람으로 치면 '두뇌'와 

같은 역할을 담당합니다.

센서 - 기울기, 거리, 밝기 등을 감지함 ('오감')

모터 - 전기에너지를 직선운동, 회전운동으로 만들어줌 ('관절')

무선 통신모듈 - 와이파이나 블루투스 같은 무선 통신을 가능하게 해줌 ('소통') 

일반 LED같은 전자부품은 전원만 넣어주면 작동하지만 센서나 일부 모터, 블루투스 통신모듈 등은

전원뿐만이아니라 전기적인 신호(데이터)를 주고받아야 사용할 수 있습니다. 그렇기 때문에 우리는

비교적 사용하기 쉬운 아두이노라는 마이크로컨트롤러보드를 사용하여 블루투스 모듈, 센서, 모터

등에 전기적인 신호를 보내어 이를 제어해보도록 하겠습니다. (팔, 다리, 관절, 오감 ↔ 두뇌)

Arduino Uno R3 Board

 블루투스란?

블루투스는 휴대폰, 노트북, 이어폰등의 휴대기기를 서로 연결해 정보를 교환하는 근거리 무선

통신 기술입니다. 이외에도 와이파이, Zigbee 등과 같은 통신방법이 있으며, 각각의 특징이 있습니다.

우선 블루투스에 대해 알아보자면.. 블루투스는 1.2버전부터 현재 4.0버전까지 나와있으며, 각 버전마다

속도, 소비전력, 보안성에 차이가 있습니다.

다른 무선 통신들과 비교해보면 블루투스는 근거리 통신에 적합하다는 것을 알 수 있습니다.

즉, 10m 안팍에서 저렴한 가격으로, 간단하게 무선통신 기술을 필요로한다면 블루투스를 사용해보시기기기.. 

 아두이노 x 블루투스 프로젝트

아두이노와 블루투스 2.0 모듈인 HC-06을 사용한 무선통신 프로젝트입니다. 아래의 프로젝트를 응용하면

구현하시고자하는 프로젝트에 도움이 되지않을까....싶습니다.

 아두이노로 센서 값 측정하고 제작한 앱으로 센서 값 받기 (안드로이드폰)

앱인벤터를 활용한 앱 제작과 아두이노 블루투스에 대한 기초적인 내용을 숙지할 수 있습니다.

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi


 아두이노로 먼지센서 값 측정하고 제작한 앱으로 센서 값 그래프로 표시받기 (안드로이드폰) 

센서 값을 제작한 앱에서 그래프로 받아보기 위한 예제입니다.  

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi


아두이노 x 미세먼지, 온도, 습도 측정 어플 제작하기 (안드로이드폰)

아두이노로 미세먼지, 온도, 습도 값을 구한 후 제작한 앱으로 센서 값을 출력하는 예제입니다.

앱을 디자인하는 과정도 나와있어 디자인하는 방법을 참고할 수 있지않을까..싶습니다.

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi


 아두이노 x 블루투스로 네오픽셀 LED 조명 제어하기

네오픽셀이라는 LED를 제어하지만 이를 응용하면 여러가지 조명을 무선으로 ON/OFF 할 수 있습니다.

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

아두이노에서 구한 데이터를 블루투스 통신을 통해 PC로 보내주는 예제입니다.

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

공지 목록

공지글

글 제목작성일

(8)

공지 아두이노를 하면서 실수하기 쉬운 6가지 알아보기 [아두이노 강좌]

2017. 4. 26.

(3)

공지 라즈베리파이를 이용한 스마트 미러 제작

2017. 5. 12.

스마트폰으로 어플만들고 아두이노 블루투스로 LED 제어하기 MIT 앱 인벤터

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi
오픈랩2021. 5. 18. 0:56

아두이노에 연결된 LED를 스마트폰 (안드로이드)에서 어플을 만들고 블루투스로 제어하기

스마트폰을 사용해서 LED를 원격으로 제어하기 위해서는 와이파이 혹은 블루투스와 같은 무선 통신을 사용해야 합니다.

오늘은 블루투스 통신 모듈을 활용해볼께요.

가장 널리 사용되는 블루투스 모듈은 HC-06입니다.

https://smartstore.naver.com/mechasolution_com/products/2879453502

아두이노 우노를 사용하였습니다. (가장 널리 사용되는 아두이노 보드죠)

아두이노에 LED를 다음과 같이 연결합니다.

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

브레드보드를 사용하고, 저항은 220옴 혹은 330옴을 사용해도 됩니다.

저항값이 높아지면 동일한 전압에 대해서 흐르는 전류가 작아지게 되죠.

불빛이 어두워집니다.

반대로 매우 낮은 저항을 사용하면 전류가 높아져서 LED 수명에 좋지 않죠.

그 다음에 아두이노 블루투스를 연결합니다.

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

★중요한 부분은 HC-06의 TXD와 RXD는 아두이노의 RX와 TX에 반대로 연결해야 한다는 것입니다.

즉, HC-06의 TXD는 아두이노의 RX인 디지털 0번핀,

HC-06의 RXD는 아두이노의 TX인 디지털 1번핀입니다.

void setup() { Serial.begin(9600); // 시리얼 통신을 시작한다. 속도는9600 pinMode(4, OUTPUT); // 디지털 4번 핀을 출력모드로 설정한다. pinMode(5, OUTPUT); // 디지털 5번 핀을 출력모드로 설정한다. pinMode(6, OUTPUT); // 디지털 6번 핀을 출력모드로 설정한다. } int message; // message라는 변수를 선언한다. void loop() { if(Serial.available()>0) { // 만약 시리얼 통신으로 데이터를 수신받으면 message = Serial.read(); // 변수 message에 수신받은 데이터를 저장 switch(message) { // switch(case)함수의 매개 변수에 사용한다.) case 0: digitalWrite(4, LOW); break; // 데이터 0을 수신받으면 4번을 끈다. case 1: digitalWrite(4, LOW); break; // 데이터 0을 수신받으면 4번을 끈다. case 2: digitalWrite(4, LOW); break; // 데이터 0을 수신받으면 4번을 끈다. case 3: digitalWrite(4, LOW); break; // 데이터 0을 수신받으면 4번을 끈다. case 4: digitalWrite(4, LOW); break; // 데이터 0을 수신받으면 4번을 끈다. case 5: digitalWrite(4, LOW); break; // 데이터 0을 수신받으면 4번을 끈다. } } }

위의 프로그램을 살펴보면 다음과 같습니다.

1) message라는 변수를 선언하고 수신받은 데이터를 저장합니다.

2) switch(case) 함수를 사용하여 각 데이터별 출력값ㅇ르 설정합니다.

이제, 아두이노에 데이터 0~5를 보내주기 위한 스마트폰의 어플을 제작하도록 하겠습니다.

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

왼쪽의 팔레트에서 버튼을 6개 추가합니다.

그러면 컴포넌트에 버튼 6개가 추가됩니다.

각 컴포넌트에 표시되는 목록을 클릭하고 속성을 보면 크기나 이름을 수정할 수 있습니다.

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

팔레트 - 사용자 인터페이스 - 목록 선택을 추가합니다.

팔레트 - 연결 - 블루투스 클라이언트1을 추가합니다.

추가한 '목록선택'의 텍스트를 '블루투스 연결'로 변경해줍니다.

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

이제 오른쪽 상단의 '블록'을 클릭하여 프로그래밍을 합니다.

MIT 앱인벤터는 스크래치처럼 블록을 이용하여 프로그래밍을 할 수 있습니다.

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi

QR코드로 앱을 다운로드 받기 위해서는 안드로이드 폰으로 QR코드를 읽고 앱을 다운로드 받습니다.

아직 끝난게 아니죠?

아두이노에 소스코드를 업로드 했다면, 스마트폰의 블루투스 기능을 ON합니다.

그리고, HC-06을 페어링합니다 (초기 PIN번호는 1234)

안드로이드앱을 실행하고 블루투스 연결을 누른 후 페어링한 블루투스 기기를 연결합니다.

이제 앱에서 버튼을 누르면서 LED의 변화를 봅니다. ^^

메카솔루션에서 직접 집필한 161페이지의 교재와 아두이노 키트가 인기가 많죠.

이미 수백개의 대학과 교육기관에서 선택한 교재와 키트!

부품들과 교재까지 합치면 3만원이 넘는 가격이지만, 특별한 가격으로 제공하고 있습니다.

https://smartstore.naver.com/mechasolution_com/products/2855891646

아두이노 블루투스 앱 만들기 - adu-ino beullutuseu aeb mandeulgi