Presentation is loading. Please wait.

Presentation is loading. Please wait.

신설공대 비교과과정(기초공|전자공|기계시스템)

Similar presentations


Presentation on theme: "신설공대 비교과과정(기초공|전자공|기계시스템)"— Presentation transcript:

1 신설공대 비교과과정(기초공|전자공|기계시스템)
Arduino-basic class 신설공대 비교과과정(기초공|전자공|기계시스템)

2 Contents 01/ 아두이노 02/ 아두이노의 종류와 특징 03/ 아두이노 UNO 보드 04/ 아두이노 개발 과정 002

3 01 아두이노 (Arduino) # Physical computing 개발환경
About Arduino # Physical computing 개발환경 - LED나 모터, 센서와 같은 외부 전자 장치들을 통제함으로써 환경과 상호작용이 가능한 물건을 만들어낼 수 있다 # 단일 보드 마이크로컨트롤러 (=PC와 유사) # 통합 개발환경을 제공 # 2005년 이탈리아에서 시작 # 쉬움, 오픈 하드웨어 # 방대한 참고자료, 라이브러리 003

4 01 아두이노의 종류와 특징 (1) 정식 아두이노 보드 004 About Arduino
아두이노 UNO 보드 : 표준 보드 (R3) 아두이노 Nano : UNO의 소형화 버전 아두이노 Mega2560 : UNO의 확장 버전 아두이노 Pro/Pro mini : UNO 초소형화 버전 (3.3v/5v 버전이 별도로 존재) 004

5 01 아두이노의 종류와 특징 (2) 정식 아두이노 보드
About Arduino 정식 아두이노 보드 아두이노 Duemilanoves : UNO의 구버전, 현재 단종 아두이노 Leonardo : UNO와 유사, 핀 배열과 개수가 약간 틀림 아두이노 MegaADK : 안드로이드 ADK 지원보드 (USB Host 기능) 아두이노 Micro : Leonardo 보드의 소형화 버전 아두이노 Pro micro : Nano와 유사하지만 3.3/5v 별도로 존재 아두이노 Zero : ARM core, 고성능 버전 아두이노 Tre, Yun : 아두이노 + 리눅스 특수 용도 아두이노 보드 Lily Pad : 웨어러블용(의류용) 특화 보드 아두이노 FIO (Funnel IO) : 무선통신 특화 보드 (Xbee, 배터리 소켓 포함) 005

6 01 아두이노의 종류와 특징 (3) 아두이노 호환 보드
About Arduino 아두이노 호환 보드 3rd Party 에서 제작한 호환성을 갖춘 Custom 보드들 아두이노 쉴드 아두이노 UNO 보드 혹은 기타 보드 위에 층층이 쌓아서 사용 가능한 기능 확장용 보드들을 지칭 (예. WiFi 쉴드, Ethernet 쉴드) 006

7 01 아두이노 UNO 보드 About Arduino 아두이노 UNO 보드

8 02 Contents 01/ 아두이노 개발환경 설치 02/ 아두이노 개발환경 기본 구조 03/ Blink 예제 테스트
Arduino IDE Contents 01/ 아두이노 개발환경 설치 02/ 아두이노 개발환경 기본 구조 03/ Blink 예제 테스트 04/ 아두이노 UNO 보드 05/ 아두이노 개발 과정 008

9 02 아두이노 개발환경 설치 아두이노 개발환경 009 Arduino IDE - 아두이노 소스 작성 - 컴파일, 업로드
- 디버깅 (Serial monitor) - 배포 : - 안정화 버전: ( ) - 최신 버전: BETA (최신 보드 지원, Yun, Due 등) - Windows installer, Windows ZIP - 중요!! : 설치폴더 확인 [C:\Program Files\Arduino] 009

10 02 아두이노 개발환경 기본 구조 0010 Arduino IDE 메뉴 컴파일, 업로드 버튼 시리얼 모니터 버튼 소스 수정 영역
메시지 영역 0010

11 02 Blink 예제 테스트 0011 Arduino IDE Blink 예제 불러오기 메뉴 -> 파일 ->
예제 -> 01. Basics -> Blink 0011

12 02 Blink 예제 테스트 0012 Arduino IDE 컴파일 컴파일 버튼 정상 컴파일 되면 아두이노를
USB 케이블로 연결 0012

13 02 Blink 예제 테스트 Arduino IDE 보드 선택 도구 -> 보드 -> 연결된 보드 선택 0013

14 02 Blink 예제 테스트 Arduino IDE COM 포트 선택 도구 -> 포트 -> 연결된 포트 선택 0014

15 02 Blink 예제 테스트 업로드 업로드 버튼 클릭 후 0015 Arduino IDE
업로드 업로드 버튼 클릭 후 보드 중앙의 TX/RX LED가 깜빡이고 메시지 영역에 ‘업로드 완료’ 메시지가 출력되면 정상 0015

16 03 아두이노 라이브러리 아두이노 라이브러리 라이브러리 폴더 0016 Arduino Library
- 다양한 센서, 모터, 모듈을 쉽게 사용할 수 있도록 지원 - 일반적으로 ZIP 압축 파일로 배포 - 헤더 파일 include 한 뒤, 초기화 해서 사용 - ex. #include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3) // Rx, Tx pin 라이브러리 폴더 - 외부 라이브러리 : [C:\Program Files\Arduino\libraries] - 내부 라이브러리 (기본 라이브러리) : [C:\Program Files\Arduino\hardware\arduino\avr\libraries] 0016

17 03 라이브러리 사용 방법 (메뉴) 0017 Arduino Library 스케치 라이브러리 가져오기… 원하는 라이브러리 선택
소스 코드에서 확인 #include <EEPROM.h> 0017

18 03 라이브러리 사용 방법 (직접 입력) 0018 Arduino Library
Include 구문을 직접 입력 #include <EEPROM.h> 컴파일해서 확인 0018

19 03 라이브러리 설치 방법 (메뉴) 0019 Arduino Library 스케치 라이브러리 가져오기… 라이브러리 추가…
다운로드 받은 아두이노 IDE 재실행 메뉴에서 확인 0019

20 03 라이브러리 설치 방법 (직접 설치) 설치 폴더로 이동 0020 Arduino Library
- [C:\Program Files\Arduino\libraries] - ZIP 파일 압축 해제 - 아두이노 IDE 재실행 - 메뉴에서 설치여부 확인 - 헤더 파일 include 한 뒤, 초기화 해서 사용 - ex. ArduinoTest 라이브러리 libraries\ArduinoTest (폴더) libraries\ArduinoTest\ArduinoTest.cpp libraries\ArduinoTest\ArduinoTest.h libraries\ArduinoTest\examples (폴더) - 사용 예 #include <ArduinoTest.h> 0020

21 04 Serial Monitor USB Serial 통신 Serial Monitor 0021
Arduino Debugging USB Serial 통신 - USB를 이용해서 PC와 아두이노 통신 - Serial 통신을 사용 (Hardware serial) - Serial 통신은 2개의 데이터 통신용 핀을 사용 (Tx, Rx) - 아두이노 UNO의 경우 digital 0번, 1번 핀이 이 용도로 예약되어 있음 Serial Monitor - 아두이노와 데이터를 주고 받기 위해 사용하는 툴 - 주로 아두이노 디버깅, 데이터 입력을 위해 사용 - Serial monitor를 이용한 디버깅 메시지를 보는 것이 거의 유일한 디버깅 방법이므로 중요 0021

22 04 Serial Monitor 사용방법 0022 Arduino Debugging 아두이노 연결된 상태
보드 종류, COM 포트 선택 도구 > 시리얼 모니터 0022

23 04 Serial Monitor 사용방법 0023 Arduino Debugging 메시지 입력창 수신 메시지 표시창
통신 속도 설정 Baud Rate 기본 9600 bps 0023

24 04 예제 실습 0024 Arduino Debugging 예제파일 : Part4_Serial_Monitor
void setup() { // initialize digital pin 13 as an output. pinMode(13, OUTPUT); // initialize serial communication at 9600 bits per second: Serial.begin(9600); } // the loop function runs over and over again forever void loop() { digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(13, LOW); // turn the LED off by making the voltage LOW Serial.println("LED on, off"); 예제파일 : Part4_Serial_Monitor Serial Monitor 출력 방법 초기화 메시지 출력 0024

25 05 스케치 (Sketch) 아두이노 스케치 0025 Arduino Sketch - 아두이노를 동작시키기 위한 소스코드
- C/C++ 문법에 기초 - 탭 지원 (파일 분할 가능) - ino 파일 형식으로 저장 (구버전 pde) - 작성한 파일을 저장할 때 폴더명, main 파일명이 일치해야 함. 0025

26 05 소스 기본구조 0026 Arduino Sketch 초기화 루틴 setup() 함수 최초 1회만 실행 반복 루틴
loop() 함수 setup 이후 무한반복 0026

27 05 Blink 예제 테스트 Blink 예제 목표 Arduino Sketch - 아두이노에 기본으로 내장된 LED를 제어한다
- 아두이노에 내장된 LED는 내부적으로 D13 핀에 연결되어 있음 목표 - 아두이노에 기본으로 내장된 LED를 1초간 on / 1초간 off 반복

28 05 Blink 예제 테스트 0028 Arduino Sketch Blink 예제 불러오기 메뉴 -> 파일 ->
예제 -> 01. Basics -> Blink 0028

29 05 Blink 예제 테스트 0029 Arduino Sketch Setup 13번 핀 초기화 pinMode 함수 Loop
digitalWrite 함수 delay 함수 0029

30 05 참고자료 아두이노 기본 함수보기 아두이노 공식 Tutorial 0030 Arduino Sketch
- 아두이노 공식 Tutorial - 0030

31 06 디지털 핀 제어 디지털 핀 디지털 핀 제어 방법 특별한 디지털 핀 0031 Digital IO
- 0~13번 핀 사용가능 (UNO 보드 기준) - 0V(off, LOW, 0), 5V(on, HIGH, 1) 출력/입력 가능 디지털 핀 제어 방법 - 디지털 핀 초기화 : pinMode(pinNumber, mode) - 디지털 핀 입력 체크 : digitalRead(pinNumber) on, off = 5V, 0V = HIGH, LOW 체크 - 디지털 핀 출력 : digitalWrite(pinNumber, state) on, off = 5V, 0V = HIGH, LOW 출력 특별한 디지털 핀 - 0, 1 번 핀은 Hardware serial 핀으로 예약 - 3, 5, 6, 9, 10, 11 핀은 PWM 핀 (UNO 보드의 경우 ~ 표시) - 10, 11, 12, 13 핀은 SPI 통신 핀으로 예약 (SS, MOSI, MISO, SCK) 0031

32 06 digitalRead 예제 버튼 예제 목표 준비물 0032 Digital IO
- 버튼을 누르면 버튼 상태를 Serial monitor로 출력 준비물 - 10 kOhm 저항, 버튼, 브레드 보드, 연결선 0032

33 06 digitalRead 예제 Digital IO 회로도 예제 파일 - Part6_digitalRead_button 0033

34 06 digitalRead 예제 0034 Digital IO 버튼 핀 설정 (2번 핀) Serial 통신 초기화
// digital pin 2 has a pushbutton attached to it. Give it a name: int pushButton = 2; // the setup routine runs once when you press reset: void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // make the pushbutton's pin an input: pinMode(pushButton, INPUT); } // the loop routine runs over and over again forever: void loop() { // read the input pin: int buttonState = digitalRead(pushButton); // print out the state of the button: Serial.println(buttonState); delay(1); // delay in between reads for stability 버튼 핀 설정 (2번 핀) Serial 통신 초기화 디지털 핀 모드 설정 버튼 상태 체크 시리얼 출력 0034

35 06 DigitalWrite 예제 반응형 LED 예제 목표 준비물 0035 Digital IO
- 버튼과 LED를 이용해서 digitalWrite() 사용법 학습 목표 - 버튼을 누르면 아두이노에 내장된 LED를 on 준비물 - digitalRead 예제와 동일 (10 kOhm 저항, 버튼, 브레드 보드, 연결선) 0035

36 06 DigitalWrite 예제 회로도 예제 파일 0036 Digital IO
- Part6_digitalWrite_button 0036

37 06 DigitalWrite 예제 0037 Digital IO 버튼 핀 설정 (2번 핀) 버튼 핀 모드 설정
// digital pin 2 has a pushbutton attached to it. Give it a name: int pushButton = 2; Int led = 13; // the setup routine runs once when you press reset: void setup() { // make the pushbutton's pin an input: pinMode(pushButton, INPUT); // set led pin as output: pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { // read the input pin: int buttonState = digitalRead(pushButton); // print out the state of the button: digitalWrite(led, buttonState); delay(1); // delay in between reads for stability 버튼 핀 설정 (2번 핀) 버튼 핀 모드 설정 LED 핀 모드 설정 버튼 상태 체크 LED on/off 0037

38 07 아날로그 핀 제어 아날로그 핀 아날로그 핀 제어 방법 아두이노 아날로그 핀 (input) 0038 Analog IO
- 아날로그 신호를 입력 받을 수 있음 - 0~5V 를 1024 단계로 구분된 값으로 변환(10bit resolution) - ADC (Analog to Digital Converter) 아날로그 핀 제어 방법 - 초기화가 필요 없음 : input 모드만 가능 - 아날로그 핀 입력 체크 : analogRead(pinNumber) 입력된 전압에 따라 0~1023 사이의 값 출력 A0 ~ A7 까지의 상수로 핀 지정 아두이노 아날로그 핀 (input) - A0~A7 까지 8개 핀 제공 (UNO 기준) - A4, A5 핀은 I2C 핀으로 예약 (SDA, SCL) 0038 38

39 07 analogRead 예제 포텐셔미터 목표 준비물 0039 Analog IO
- 손잡이를 돌릴 때 마다 내부 저항이 바뀌는 장치 - 출력핀으로 들어가는 전압이 변화됨 (0~5V) - 아날로그 핀으로 읽어서 입력 장치로 사용 목표 - 포텐셔미터를 돌리면 변화하는 analogRead 값을 PC에 출력 준비물 - 포텐셔미터, 연결선 0039

40 07 analogRead 예제 회로도 예제 파일 0040 Analog IO - 포텐셔미터 양 끝 핀 → 5V, GND
- Part7_analogRead_potentiometer 0040

41 07 analogRead 예제 0041 Analog IO Serial 통신 초기화 아날로그 값 읽기 값 출력
// the setup routine runs once when you press reset: void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } // the loop routine runs over and over again forever: void loop() { // read the input on analog pin 0: int sensorValue = analogRead(A0); // print out the value you read: Serial.println(sensorValue); delay(1); // delay in between reads for stability Serial 통신 초기화 아날로그 값 읽기 값 출력 0041

42 07 PWM 제어 PWM – 출력 전압 조절 PWM 0042 Analog IO
- LED 밝기를 조절하려면? --> 출력 전압을 조절 - 아두이노는 출력 전압 자체를 조절하는 능력이 없다 - 그래서 PWM 사용 (Pulse Width Modulation, 펄스 폭 변조) PWM - 5V 출력을 계속 유지하는 것이 아니라 on/off 를 빠르게 반복 - on/off 간격(pulse width)에 따라 평균전압이 낮아지는 효과 0042 42

43 07 PWM 제어 아두이노 PWM PWM 핀 0043 Analog IO
- 아두이노에서는 500Hz 주파수, 2ms 간격으로 이런 작업을 수행 - 256 단계로 구분해서 출력이 가능 (0~255, 8bit) - analogWrite() 함수 사용 (아날로그 출력) PWM 핀 - 아날로그 핀이 아니라 디지털 핀 사용!! (3, 5, 6, 9, 10, 11) 0043 43

44 07 AnalogWrite - PWM 예제 LED fade 목표 준비물 0044 Analog IO - LED의 밝기를 변화
- LED, 220 ohm 저항, 연결선 0044

45 07 AnalogWrite - PWM 예제 회로도 예제 파일 0045 Analog IO
- Part7_analogWrite_LED_fade 0045

46 07 AnalogWrite - PWM 예제 0046 Analog IO LED 핀 초기화 PWM 출력 밝기(PWM 출력) 변화
int led = 9; // the pin that the LED is attached to int brightness = 0; // how bright the LED is int fadeAmount = 5; // how many points to fade the LED by void setup() { // declare pin 9 to be an output: pinMode(led, OUTPUT); } void loop() { // set the brightness of pin 9: analogWrite(led, brightness); // change the brightness for next time through the loop: brightness = brightness + fadeAmount; // reverse the direction of the fading at the ends of the fade: if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; // wait for 30 milliseconds to see the dimming effect delay(30); LED 핀 초기화 PWM 출력 밝기(PWM 출력) 변화 0046

47 08 광센서 광센서 모듈 (LDR, Light Depedent Resistor) 0047 Basic Sensor
- 빛의 세기에 따라 저항값이 달라지는 소자 - 50 kOhm ~ 500 kOhm - 저항에 따라 변경되는 전압으로 바꿔서 analog 핀으로 측정 - 어디선가 본 듯한... 0047 47

48 08 광센서 예제 광센서 목표 준비물 0048 Basic Sensor - 빛의 밝기에 따라 OUT 핀의 전압이 변화
- 아날로그 핀으로 값을 읽음 목표 - 광센서를 이용해 밝기 측정해서 Serial 출력 준비물 - 광센서 모듈, 연결선 0048

49 08 광센서 예제 회로 연결 예제 파일 0049 Basic Sensor - 아두이노 → Photocell
- 5V → VCC (1) - OUT → A0 - GND → GND (4) 예제 파일 - 직접 작성 0049

50 08 광센서 예제 0050 Basic Sensor Serial 통신 초기화 센서 값 읽기 너무 빠르게 실행되므로 잠시 멈춤
void setup() { Serial.begin(9600); } void loop() { int brightness = analogRead(A0); Serial.print("brightness : "); Serial.println(brightness); delay(500); 0050

51 08 온습도 센서 온습도 센서 모듈 (DHT11) 0051 Basic Sensor
- 1개의 데이터 라인을 통해 온습도 값을 전송해주는 기본 센서 - 2가지 종류 (인터페이스 보드 유무에 따라) - 데이터 전송 포맷 [8bit integral RH data] + [8bit decimal RH data] + [8bit integral T data] + [8bit decimal T data] + [8bit check sum] - DHT11 라이브러리 사용 - 온도 측정 범위 : 0~50' (오차범위 2') - 습도 측정 범위 : 20~90% (오차범위 5%) 0051 51

52 08 DHT11 라이브러리 설치 DHT11 라이브러리 설치 0052 Basic Sensor
- [아두이노 설치 폴더 \ libraries] 에 DHT11 폴더 생성 - DHT11 폴더 안에 파일들이 들어갈 수 있도록 압축 해제 - 아두이노 개발 환경 재실행 - [스케치 – 라이브러리 가져오기...] 에서 설치한 DHT11 라이브러리가 보이는지 확인 0052

53 08 온습도 센서 예제 온습도 센서 목표 준비물 0053 Basic Sensor - 온도와 습도를 측정해서 데이터 핀으로 전송
- 센서에서 전송하는 값을 읽을 수 있도록 DHT11 라이브러리 사용 목표 - 온습도 센서를 통해 읽은 온도, 습도를 Serial Monitor로 출력 준비물 - 온습도 센서 모듈, 연결선 0053

54 08 온습도 센서 예제 회로 연결 (베이스보드 달린 모듈) 예제 파일 0054 Basic Sensor
- [+], [-] → 5V, GND - [S] → D2 예제 파일 - Part8_sensor_dht11 0054

55 08 온습도 센서 예제 0055 Basic Sensor 라이브러리 include 라이브러리 초기화 Serial 통신 초기화
#include <DHT11.h> int pin=2; // 연결한 아두이노 디지털 핀 번호 DHT11 dht11(pin); void setup() { Serial.begin(9600); } void loop() { int err; // result code float temp, humi; // temperature, humidity if((err=dht11.read(humi, temp))==0) { Serial.print("temperature:"); ... else delay(DHT11_RETRY_DELAY); //delay for reread 라이브러리 include 라이브러리 초기화 Serial 통신 초기화 센서 값 읽기 값 출력 0055

56 09 모터 종류 DC 모터 서보 모터 (Servo motor) 스텝 모터 (Stepper motor) 0056 Servo
- 가장 흔한 모터, 입력 전류 방향으로(+, -) 회전방향 제어 - 고회전에 유리, RC카, 쿼드콥터 등 광범위하게 사용 - 회전수와 방향 제어를 위해서는 드라이버 모듈이 필요 서보 모터 (Servo motor) - 보통 0~180 사이를 움직이며 위치를 정확히 제어가능 - RC카의 방향타, 로봇 관절 등 회전각 제어에 적합 - PWM 신호로 간단히 위치 제어 가능 스텝 모터 (Stepper motor) - 회전 방향 뿐 아니라 회전각을 정밀히 제어할 수 있음 - DC 모터와 서보 모터의 장점을 합친 모터 - 상대적으로 고회전이 요하지 않고 정밀한 제어가 필요한 경우 - 3D 프린터의 핵심 모터 - 제어가 복잡하므로 스텝모터 드라이버 모듈을 이용해서 제어 0056 56

57 09 마이크로 서보 모터 마이크로 서보 모터 (SG90) 고출력이 필요한 경우 0057 Servo Motor
- 작고, 싸고, 가볍고, 저전력으로 동작 - 아두이노의 전원 5V 로도 동작 가능 - PWM 핀 하나로 제어 가능 고출력이 필요한 경우 - MG-9XX 시리즈와 같은 고출력 모델 사용 (별도의 외부전원 필요) - 제어 방법은 동일 0057

58 09 서보 모터 제어 PWM 신호로 회전각 제어 0058 Servo Motor
- 0.5ms 에서 -90', 2.5ms 90' (총 20ms 주기) - 회전각 양 끝에는 여유를 둔다 0058

59 09 서보 모터 예제 Servo 라이브러리 목표 준비물 0059 Servo Motor
- Servo 라이브러리는 기본 라이브러리 (설치x) 목표 - 서보모터를 0'~180' 까지 1' 간격으로 이동 준비물 - 서보모터, 연결선 0059

60 09 서보 모터 예제 회로도 예제 파일 0060 Servo Motor 서보 모터 → 아두이노 GND(검정/갈색) → GND
PWR(적색) → 5V SIG (황색) → D9 예제 파일 - Part9_servo_motor 0060

61 09 서보 모터 예제 0061 Servo Motor 라이브러리 include 라이브러리 초기화 서보 모터 핀 설정
#include <Servo.h> Servo servo; int servoPin = 9; int angle = 0; // servo position in degrees void setup() { servo.attach(servoPin); } void loop() // rotate from 0 to 180 degrees for(angle = 0; angle < 180; angle++) servo.write(angle); delay(15); 라이브러리 include 라이브러리 초기화 서보 모터 핀 설정 서보 모터 회전 0061

62 10 블루투스 모듈 블루투스 (HC-06) 모듈 0062 Bluetooth - Serial 지원 블루투스 통신 모듈
- Slave/Master/Dual 모듈 - Bluetooth 2.0 지원, 2.4GHz 안테나 내장 - 인터페이스 보드 유무 - 인터페이스 보드가 없는 경우 3.3v 전원 사용 - 인터페이스 보드가 있는 경우 3.3v/5v 선택 가능 - 일반적으로 Software Serial 로 사용 - 아두이노와 TX-RX, RX-TX 크로스 해서 연결 - 모바일 폰과 연동하기위한 최선, 최적의 통신 모듈 - 전원만 넣어도 자체 동작이 가능 - FTDI (USB to UART) 모듈을 이용해서 PC와 연결 후 설정 및 사용가능 0062 62

63 10 블루투스 모듈 연결방법 아두이노와 연결 방법 0063 Bluetooth Bluetooth HC-06 Arduino VCC
GND TX D2 RX D3 0063 63

64 10 블루투스 모듈 설정 변경 아두이노에 소스코드 업로드 0064 Bluetooth - Part11_bt_echo
#include <SoftwareSerial.h> SoftwareSerial BTSerial(2, 3); //Connect HC-06. Use your (TX, RX) settings void setup() { Serial.begin(9600); Serial.println("Hello!"); BTSerial.begin(9600); // set the data rate for the BT port } void loop() { // BT –> Data –> Serial if (BTSerial.available()) { Serial.println(BTSerial.read()); // Serial –> Data –> BT if (Serial.available()) { BTSerial.write(Serial.read()); 라이브러리 include 라이브러리 초기화 BT에서 받은 데이터가 있으면 데이터를 읽어서 PC로 전달 PC에서 받은 데이터가 있으면 데이터를 읽어서 BT로 전달 0064 64

65 10 블루투스 모듈 설정 변경 AT command 사용 방법 0065 Bluetooth
- Serial Monitor 창에서 command 입력 후 응답을 확인하는 방식 - 블루투스 모듈 초기 설정 Name=????, Password=1234, BAUD RATE=9600 - 블루투스 응답 확인 AT → OK AT+VERSION → OKLinvorV1.8 - 장치명 변경 AT+NAMExxxx (mybt01 로 변경한다면... AT+NAMEmybt01) - 페어링 암호 변경 AT+PINxxxx (1234로 변경한다면... AT_PIN1234) 0065 65

66 11 블루투스 채팅 예제 아두이노 – 안드로이드 채팅 예제 목표 준비물 0066 Bluetooth
- 아두이노와 안드로이드 폰을 블루투스로 연결 - Serial Monitor ← 아두이노 → 안드로이드 폰 - 앞선 echo 예제를 응용 목표 - PC의 Serial Monitor와 안드로이드 폰이 채팅을 할 수 있도록 한다. 준비물 - 블루투스 모듈, 연결선 0066

67 11 블루투스 채팅 예제 아두이노와 연결 방법 0067 Bluetooth Bluetooth HC-06 Arduino VCC
GND TX D2 RX D3 0067

68 11 블루투스 채팅 예제 안드로이드용 실행파일 다운로드 테스트 순서 0068 Bluetooth
=tech_comm&wr_id=2 테스트 순서 1. 아두이노를 켜서 HC-06 슬레이브 모듈이 페어링 대기상태에 들어가도록 합니다. (LED 깜빡깜빡) 2. 링크에서 APK 파일을 받아서 폰에 설치합니다. 3. 폰의 설정 > 블루투스 에서 off 상태이면 BT on 으로 바꿉니다. 4. BluetoothChat 앱을 실행 - 메뉴키 - Connect a device 선택 5. Device List 에 HC-06 슬레이브 모듈이 보이는지 확인. 안보이면 Scan 버튼을 눌러서 찾아보고 그래도 안되면 1부터 다시합니다. 6. HC-06 모듈이 보이면 선택 - 연결이 정상적으로 완료되면 챗팅 가능 7.폰으로 글 적으면 PC의 Serial Monitor에서 보이는지 확인합니다. 반대도 확인. 0068

69 10 Remind Analog Thermometer 다시보는 아두이노 0069 69

70 수고하셨습니다!! 숙명 ICT테크 캠프 70


Download ppt "신설공대 비교과과정(기초공|전자공|기계시스템)"

Similar presentations


Ads by Google