Presentation is loading. Please wait.

Presentation is loading. Please wait.

7. 스마트 폰으로 아두이노 제어하기 기능을 확장하기 위한 다양한 종류의 쉴드 보드 적층형 구조 블루투스나 WiFi 쉴드

Similar presentations


Presentation on theme: "7. 스마트 폰으로 아두이노 제어하기 기능을 확장하기 위한 다양한 종류의 쉴드 보드 적층형 구조 블루투스나 WiFi 쉴드"— Presentation transcript:

1 7. 스마트 폰으로 아두이노 제어하기 기능을 확장하기 위한 다양한 종류의 쉴드 보드 적층형 구조 블루투스나 WiFi 쉴드
아두이노의 확장 핀을 통해 기본 제어 보드와 확장 쉴드를 위로 계속 쌓아 올려 사용 확장 연결이 편리 블루투스나 WiFi 쉴드 스마트 폰과 같은 모바일 기기를 통하여 무선으로 제어 대상을 제어 가능 블루투스 쉴드의 사용 방법과 쉴드를 사용한 응용예제 실습

2 7.1 스마트 폰을 이용한 제어 아두이노 보드를 스마트 폰으로 제어 하는 방법
아두이노 보드와 개발용PC가 시리얼 통신을 통하여 정보를 주고받는 것처럼 아두이노 보드와 스마트 폰 사이에 통신이 이루어지도록 해야 함. 아두이노 보드는 블루투스와 WiFi 등으로 스마트 폰과 통신 가능 아두이노 보드에 블루투스 쉴드나 WiFi 쉴드를 장착 시리얼 통신을 하여 스마트 폰으로 제어 가능

3 7.2 블루투스 쉴드 아두이노 보드는 블루투스 모듈을 통하여 블루투스 기능가진 다른 아두이노 보드, 스마트 폰과 같은 모바일 장치 또는 컴퓨터 등과 연결이 가능

4 7.2.1 블루투스 통신 개요 블루투스 통신 무선 통신 기기 간에 저전력으로 근거리(short range) 무선 통신을 위한 표준 1994년 에릭슨에 의해 시작 디지털 기기간의 일대일 무선연결에 사용 블루투스 기능이 있는 디지털 기기에서 블루투스 통신 기능을 가진 다른 주변기기와 일대일로 연결되어 정보를 제공하거나 받을 수 있음

5 블루투스의 구조 하드웨어 소프트웨어 블루투스 동글 형태로 구성되어 컴퓨터 등에 하드웨어적으로 연결되는 부분
컴퓨터 등에 장치 드라이버로써 설치되는 부분

6 7.2.2 아두이노 블루투스 쉴드 아두이노 보드는 블루투스 모듈을 장착할 수 있도록 설정할 수 있어, 블루투스 기능을 가진 모바일 기기 및 다른 아두이노 보드 등의 디지털 기기를 제어 가능 아두이노 용 블루투스 쉴드는 블루투스 모듈을 사용하여 UART 포트를 통하여 블루투스 통신이 가능 ITEAD BT Shield(Slave) IM Iteaduino, Arduino UNO 및 MEGA와 호환가능 약 10m 거리이내에서 사용 가능 UART 포트를 통하여 연결 전송 속도는 9600bps(data bits: 8, stop bit: 1, Parity: No parity) Default PINCODE : "1234"

7 7.2.3 아두이노 보드의 블루투스 쉴드 설치 BT Shield는 아두이노 UNO 보드에는 적층 구조용 소켓을 적용하여 장착
아두이노 보드의 UART 포트로 블루투스 통신 ITEAD BT Shield는 Slave 모드 지원 USB블루투스 동글이나 기타 블루투스 Master 모듈과 접속 가능 블루투스 기능이 있는 컴퓨터, 스마트 폰, 블루투스 쉴드가 장착된 다른 아두이노 보드 등과 통신 가능

8 블루투스 모듈: HC-06 시리얼 입출력을 활용하여 블루투스 입출력으로 사용한다. VCC와 GND는 각각 아두이노 보드에 연결
RXD  시리얼 출력 TXD  시리얼 입력 VCC와 GND는 각각 아두이노 보드에 연결

9 스마트폰용 APP다운 로드 및 연결 스마트폰으로 www.hansung.ac.kr/~kimsc접속 스마트폰의 블루투스 켜기
오픈소스HW실습 게시판에서 블루투스 통신용 APP 다운로드 각각 스마트폰에서 설치 스마트폰의 블루투스 켜기 블루투스를 켜서 디바이스 검색 실시 연결할 수 있는 기기에서 ‘HC-06’연결 Pin번호는 ‘1234’입력 스마트폰에서 각각의 APP실행 기기 연결에서 HC-06을 선택후 연결

10 7.3 블루투스 통신에 의한 제어 블루투스를 사용하여 스마트 폰으로 아두이노 보드 제어 필요한 절차
아두이노 보드에 블루투스 쉴드 모듈을 연결하고 안드로이드 스마트 폰과 블루투스 통신을 통하여 아두이노 보드를 제어하는 방법과 순서 구분 순서 작업 초기화 (아두이노 보드) 아두이노 보드에 BT Shield 장착 아두이노 보드에 설정 엡 설치(스마트 폰) 스마트 폰에 App 설치 스케치 작성과 설치 응용 스케치 작성 BT Shield를 아두이노 보드에서 분리한 후 스케치 업로드 실행 스마트 폰의 블루투스 활성화하고 아두이노 BT 찾기 스마트 폰에서 엡 실행

11 ① 아두이노 보드에 블루투스 쉴드 설치 아두이노 보드에 블루투스 쉴드를 장착
아두이노 보드에 블루투스 통신이 가능하도록 설정 프로그램을 개발용 PC를 통하여 설치

12 ② 안드로이드 스마트 폰에 제어를 위한 App 설치
예를 들면 3장의 2절에서 처럼 ON/OFF 스위치로 사용할 수 있는 엡(BT_ONOFFSW.apk)을 설치

13 ③ 아두이노 스케치 작성 개발용 PC에서 아두이노 개발환경을 통하여, 아두이노 보드가 블루투스를 통한 시리얼 통신으로 입력을 받아들여 제어되는 스케치를 작성

14 ④ 업로드와 블루투스 쉴드 결합 아두이노 보드에 블루투스 쉴드를 장작하지 않은 상태에서 USB 케이블을 통하여 작성된 스케치를 업로드 업로드 후, USB 케이블을 아두이노 보드에서 제거하고(전원 공급을 위한 연결을 하지 않은 상태) 블루투스 쉴드를 그림 7.4와 같이 적층형으로 연결 블루투스 쉴드가 결합된 아두이노 보드에 전원을 공급

15 ⑤ 실행 ⓐ 스마트 폰의 블루투스 기능 ON ⓑ 스마트폰의 화면에서‘블루투스 찾기’터치 ⓒ 검색된 아두이노 블루투스를 선택하여 등록(페어링) ⓓ 스마트폰에서 제어

16 예제 7.1 블루투스를 통한 LED의 ON/OFF 제어
스마트 폰에 ON/OFF제어를 할 수 있는 "BT_ONOFFSW.apk" 설치(3장에서 사용) BT 쉴드가 장착된 아두이노 보드에 연결된 LED ON/OFF 제어 주요개념 아두이노 보드에서 UART 포트로 블루투스 통신 시리얼 통신을 위한 설정 통신 속도 9600bps로 이루어지므로 "Serial.begin(9600);" 설정 BT Shield를 통한 정보는 "Serial.read()" 함수를 통하여 전달 시리얼 통신을 통하여 입력이 발생할 때 동작시키기 위하여 "Serial.available( )"함수 사용 "Serial.available()"는 시리얼 통신을 통하여 수신된 바이트 수를 알려주는 함수

17 예제 7.1의 스케치 int ledPin = 8; 아두이노 보드의 디지털입출력 핀 8번에 LED연결 void setup() {
Serial.begin(9600); pinMode(ledPin,OUTPUT); } BT쉴드의 통신 속도 9600bps 설정 void loop() { loop 시작 byte r_data; if (Serial.available()> 0) { BT 쉴드를 통한 시리얼 통신 입력 발생 검사 r_data = Serial.read(); BT 쉴드를 통한 입력 저장 if( r_data == 1) { digitalWrite(ledPin, HIGH); 스마트 폰의 앱 “BT_ONOFFSW.apk”의 ON 터치 LED ON if( r_data == 2) { digitalWrite(ledPin, LOW); 스마트 폰의 앱 “BT_ONOFFSW.apk” OFF 터치 LED OFF BT 쉴드를 통한 입력 발생에 의한 실행부분 끝 loop 끝

18 예제 7.2 블루투스를 통한 4개의 LED ON/OFF 제어
아두이노 보드에 4개의 LED를 연결하고, 스마트 폰과 블루투스 쉴드를 통하여 4개의 LED를 각각 ON을 시키고, OFF시켜 보자. 주요개념 “serialEvent()”사용 시리얼 통신에 의하여 발생한 입력을 switch-case문을 쉽게 사용하기 위한 시리얼 입력 발생에 대한 검사 함수 시리얼 입력이 발생하면, "Serial.read();"를 통하여 값을 읽어 변수 "phoneData"에 저장 void serialEvent( ) { phoneData = Serial.read(); }

19 디지털입출력 핀에 4개의 LED를 연결 6개의 기능 버튼 App "BT_SW3.apk"를 스마트 폰에 설치
엡 스위치 선택 스위치 값 LED 동작 SW1 1 1번째 LED ON SW2 2 2번째 LED ON SW3 3 3번째 LED ON SW4 4 4번째 LED ON SW_OFF 6 4개의 LED가 동시에 off

20 예제 7.2의 스케치1 int ledPin[4] = {8, 9, 10, 11}; int num=0;
void setup() { Serial.begin(9600); for(int i=0; i<4; i++){ pinMode(ledPin(i), OUTPUT); } BT쉴드의 통신 속도 9600bps 설정 void serialEvent() { phoneData = Serial.read(); num=phoneData-1; BT 쉴드를 통한 시리얼 통신 입력 발생 검사 BT 쉴드를 통한 입력 저장

21 예제 7.2의 스케치2 void loop() { loop 시작 switch (phoneData) { switch()문 시작
case 1: digitalWrite(ledPin[num], HIGH); break; case 2: case 3: case 4: 스마트 폰의 앱에 의하여 지정된 LED ON default: //case 6: for(int i=0; i<4; i++){ digitalWrite(ledPin[i], LOW); } 나머지 버튼에 의해서는 모두 OFF 스마트 폰의 앱에 의하여 4개의 LED OFF switch()문 끝 loop 끝

22 연습과제 5장의 다룬 연습과제에서 스위치 부분을 블루투스 기능을 이용한 제어로 변경하여 보자
예제 5.4의 스위치 부분을 불루투스 기능을 이용한 제어로 변경하여 보자. LED의 깜박이는 속도가 블루투스를 사용하여 4단계로 조정되는 스케치를 만들어 보자. LED의 밝기를 블루투스를 사용하여 4단계로 밝기가 조정되는 스케치를 만들어 보자. 4장의 연습과제에서 다룬 과제들을 블루투스를의 기능으로 제어 할 수 있도록 스케치를 구현하여 보자.

23 연습과제 8개의 블루투스 스위치에 값을 부여하고, 덧셈 스위치를 지정하여, 2개의 스위치 값을 더한 결과를 LED에 나타내 보자. 예제 5.2나 5.5에서 스위치의 우선순위를 정하여 두 개 이상의 스위치가 동시에 눌려졌을 때 우선순위가 높은 스위치의 제어가 이루어지도록 스케치를 만들어 보자.(예: 우선순위가 SW0>SW1>SW3>SW4일 때, SW1과 SW3이 동시에 눌려지면 SW1에 의하여 지정된 동작을 하도록 한다.)


Download ppt "7. 스마트 폰으로 아두이노 제어하기 기능을 확장하기 위한 다양한 종류의 쉴드 보드 적층형 구조 블루투스나 WiFi 쉴드"

Similar presentations


Ads by Google