Arduino Uno 로 HC-05 블루투스 마스터/슬레이브 모듈을 사용해 LED를 깜박이게 하는 프로젝트 입니다
HC-05 블루투스 슬레이브 모듈은 다양한 무선 블루투스 프로젝트를 가능하게 합니다
Arduino(아두이노) 나 PC, 안드로이드 폰과 연결하여 다양한 프로젝트를 수행할 수 있습니다
무선이라 편리하며 Google 안드로이드 앱으로 다양하게 응용이 가능 합니다
HC-05 는 HC-06 과는 다르게 마스터/슬레이브로 설정하여 블루투스 모듈간 통신이 가능합니다
<HC-05 블루투스 마스터/슬레이브 모듈 이미지>
최신 버전 제품부터 HC-05 모듈에 버튼이 장착되어 있는데 전원이 인가되기 전에
버튼을 누른 후 VCC에 전원을 인가해 주면 WAKEUP핀 제어 없이 AT 명령 모드로 진입 가능합니다
<HC-05 블루투스 마스터/슬레이브 모듈 상세사양>
HC-05은 블루투스 2.0 이므로 안드로이드 어플로 연결할때 페어링을 해줘야 하는데 페어링 기본 이름은 HC-05 이며 기본 코드는 1234 입니다
사용된 부품
Arduino Uno R3 (Italy)
블루 LED - 1개
1K Ohm 저항 - 1개
점퍼케이블(숫놈)
점퍼케이블(암놈)
구성 배선도 (HC-05 블루투스 모듈을 사용해 아두이노의 LED를 깜박이게 하기)
구성 배선도 (HC-05 블루투스 모듈을 사용해 브래드 보드의 LED를 깜박이게 하기)
사용된 예제소스
주의사항
첫번째 코드는 아두이노의 LED를 깜박이게 하는 코드이며
두번재 코드는 브래드 보드에 배선한 LED를 무선으로 깜박이게 하는 코드입니다
첨부된 예제 코드를 아두이노 우노에 업로드 할 때 HC-05 블루투스 모듈은 아두이노 우노와 연결이 안 되어 있는
상태에서 업로드를 마친 후 아두이노 우노와 연결 하도록 합니다, 에러나 업로드가 안되는 경우가 있습니다
이점 주의 하도록 합시다
기본적으로 HC-05 블루투스 모듈은 전원이 인가되면 빨간색 전원LED가 지속적으로 깜박입니다
하지만 어플과 연결해서 페어링에 성공하면 LED는 점등되어 멈추게 됩니다
(전원LED가 들어오지 않는다면 모듈의 문제이거나 모듈의 LED에 문제일수 있습니다)
또한 버튼을 누르고 VCC에 전원을 인가해서 AT모드로 진입하면 LED가 깜박이는 속도가 느리게 변합니다
아두이노의 LED 깜박이기 프로젝트 시 한쪽에서 데이터를 보낼때 한쪽에서는 데이터를 받아줘야 하기 때문에블루투스 모듈 RX -------- 아두이노 TX블루투스 모듈 TX -------- 아두이노 RX의 배선으로 연결 해 줘여 합니다
프로젝트를 위해서는 블루투스 안드로이드 어플이 필요합니다 (하단 링크를 클릭해 다운 받으세요)
아두이노 스마트카를 제어하려고 다운받은 어플이지만 간단하게 블루투스 터미널 통신도 가능하기에 하단 어플로 테스트 했습니다
블루투스 모듈을 제어하기 위해서 "Arduino Bluetooth Controller" 어플을 다운 받습니다
https://play.google.com/store/apps/details?id=eu.jahnestacado.arduinorc
구글계정 로그인을 하면 무선으로 본인소유의 안드로이드 폰을 검색해서 간편하게 핸드폰에 어플 설치를 해줍니다
안된다면 안드로이드폰 구글 플레이스토어 에서 '블루투스 컨트롤' 로 검색해서 설치 하도록 합니다
어플사용 방법
안드로이드 폰에서 어플을 설치하고 실행한 화면 입니다
아이콘을 눌러서 실행합니다
Proceed 버튼을 눌러서 진행합니다 (물론 이때 스마트폰 설정에서 블루투스 사용으로 설정되어 있어야 겠습니다)
사전에 테스트 하느냐고 이미 블루투스 검색이 되어 있지만, 첨음 페어링 하는분들이라면
Scan for device 버튼을 눌러서 블루투스 모듈을 검색해 줍니다 (페어링 할때 기본 비밀번호는 1234 입니다)
정상적으로 검색이 되면 HC-05 모듈을 클릭해 줍니다
위 화면처럼 HC-05 와 연결되었다고 메세지가 나옵니다
이제 4개의 메뉴중 Terminal Mode 터미널 모드를 선택해 클릭해 줍니다
버튼 입력창이 나오는데 여기에 알파벳을 입력해 주면 됩니다
위에 첨부된 예제코드 파일을 열어보면 확인할 수 있듯이
--------------------------------------------------------------------------------------------------------------------------------
void loop() {
byte data;
data = Serial.read();
if(data=='a'){
digitalWrite(13, HIGH); // set the LED on
//Serial.print("HIGH");
}
if(data=='b'){
digitalWrite(13, LOW); // set the LED off
//Serial.print("LOW");
}
}
--------------------------------------------------------------------------------------------------------------------------------
a 가 LED on 켜짐이고 , b 가 LED OFF 꺼짐입니다
a를 누르면 왼쪽 아두이노의 LED 가 켜집니다
b를 누르면 왼쪽 아두이노의 LED 가 꺼집니다
브래드보드에 배선한 LED를 제어하는것도 동일하게 진행하면 됩니다
위 첨부된 두번째 예제코드를 스케치 업로드 해주고 두번째 배선도를 참고해서 배선한 후 위 어플로 동일하게 테스트 하면 됩니다
프로젝트 동영상-HC-05 블루투스 모듈을 사용해 아두이노의 LED를 깜박이게 하기
프로젝트 동영상-HC-05 블루투스 모듈을 사용해 브래드 보드의 LED를 깜박이게 하기
'Arduino(아두이노) 활용 강좌' 카테고리의 다른 글
Arduino Uno 2개로 HC-05 블루투스 모듈 2개를 사용해 모듈끼리 마스터&슬레이브로 통신해 보기 (0) | 2018.03.12 |
---|---|
Arduino Uno 로 HC-05 블루투스 마스터/슬레이브 모듈을 사용해 AT커맨드 통신해 보기 (0) | 2018.03.12 |
Arduino Uno 로 (16X2) 1602 캐릭터 LCD를 사용해서 추억의 테트리스 Tetris 게임 만들어 보기 (0) | 2018.03.02 |
Arduino Uno 로 0.96 인치 I2C OLED SSD1306 을 사용해서 Arduino Pong 게임 만들어 보기 (0) | 2018.03.01 |
Arduino Uno 로 A4988 스테핑 모터 드라이버를 사용해서 2상 4선 바이폴라 스테핑모터 구동시켜 보기 (2) | 2018.02.26 |
댓글