powerpoint...

28
아날로그 명령어 3-1 아날로그 명령어 3-2 아날로그 부품 연결하기 3-3 조도 측정하기 3-4 어두워지면 저절로 켜지는 장치 3-5 거리 측정하기 3-6 동체 인식 장치 만들기 3-7 map 함수 3-8 PWM 활용하기 03

Upload: others

Post on 21-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그 명령어

3-1 아날로그명령어3-2 아날로그부품연결하기3-3 조도측정하기3-4 어두워지면저절로켜지는장치3-5 거리측정하기3-6 동체인식장치만들기3-7 map 함수3-8 PWM 활용하기

03

Page 2: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 1 아날로그명령어

1. 아두이노명령어 규칙

03

아두이노와 PLC를이용한 IoT 구현실습

2

Page 3: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 1 아날로그명령어

2. 아날로그센서 값의 처리

03

아두이노와 PLC를이용한 IoT 구현실습

3

아날로그 센서의 출력 또는 입력

5V

0V

아두이노 보드에서의아날로그 센서값 처리

1023

0

Page 4: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 2 아날로그부품 연결하기

1. 아날로그핀의 위치

03

아두이노와 PLC를이용한 IoT 구현실습

4

모터 2핀 x 2 아날로그 3핀

디지털 3핀I2C 4핀

시리얼 4핀

Page 5: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 2 아날로그부품 연결하기

1. 아날로그핀의 위치

03

아두이노와 PLC를이용한 IoT 구현실습

5

아날로그 부품은 아날로그핀에 연결합니다.

아날로그 핀에는0번 ~ 5번 까지번호가 표시되어 있습니다.(A0 ~ A5)

아날로그 핀에 부품을 연결할때에는 핀 번호를 확인해야합니다.

Page 6: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 2 아날로그부품 연결하기

2. 아날로그센서 연결하기

03

아두이노와 PLC를이용한 IoT 구현실습

6

0번(A0)

5번(A5)

Page 7: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 2 아날로그부품 연결하기

3. 아날로그센서 연결시 주의사항

03

아두이노와 PLC를이용한 IoT 구현실습

7

0번(A0)

아날로그 핀에 부품들을 연결할 때에는0번 핀부터 연결합니다.

Page 8: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 2 아날로그부품 연결하기

3. 아날로그센서 연결시 주의사항

03

아두이노와 PLC를이용한 IoT 구현실습

8

아날로그 4번과 5번 핀은 다른 부품(I2C 핀 사용)과충돌되므로, LCD나 LED 체인등 I2C 4핀에 부품이연결되어 있는 경우에는 사용할 수 없습니다.

4번

5번

Page 9: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 3 조도측정하기

1. 조도 센서 (광센서) 연결하기

03

아두이노와 PLC를이용한 IoT 구현실습

9

아날로그 0번핀에 조도센서를연결합니다.

Page 10: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 3 조도측정하기

2. 조도 센서값 측정하기

03

아두이노와 PLC를이용한 IoT 구현실습

10

void setup(){

}

void loop(){

a = AnalogRead(0)PrintLine(a)Delay(100)

}

Page 11: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 3 조도측정하기

2. 조도 센서값 측정하기

03

아두이노와 PLC를이용한 IoT 구현실습

11

가장 밝았을 때의 값

가장 어두웠을 때의 값

평균 값

Page 12: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 4 어두워지면저절로 켜지는장치

1. If 조건문추가

03

아두이노와 PLC를이용한 IoT 구현실습

12

void loop(){

a = AnalogRead(0)PrintLine(a)

if (){}else{}

Delay(100)}

Page 13: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 4 어두워지면저절로 켜지는장치

2. If 조건문수정

03

아두이노와 PLC를이용한 IoT 구현실습

13

void loop(){

a = AnalogRead(0)PrintLine(a)

if ( a < 500 ){}else{}

Delay(100)}

Page 14: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 4 어두워지면저절로 켜지는장치

3. LED 명령어추가

03

아두이노와 PLC를이용한 IoT 구현실습

14

void loop(){

a = AnalogRead(0)PrintLine(a)

if ( a < 500 ){

DigitalWite(13, HIGH)}else{

DigitalWite(13, LOW)}

Delay(100)}

Page 15: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 5 거리측정하기

1. PSD 거리 센서 연결하기

03

아두이노와 PLC를이용한 IoT 구현실습

15

PSD 거리센서

아날로그 0번에연결

Page 16: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 5 거리측정하기

2. PSD 거리 센서 값 출력하기

03

아두이노와 PLC를이용한 IoT 구현실습

16

void setup(){

}

void loop(){

a = AnalogRead(0)PrintLine(a)Delay(100)

}

Page 17: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 6 동체인식 장치만들기

1. 움직임이감지되면 3초간 LED 켜기

03

아두이노와 PLC를이용한 IoT 구현실습

17

void setup(){}

void loop(){

a = AnalogRead(0)

if (a > 200){

DigitalWrite(13, HIGH)Delay(3000)

}

Delay(100)}

Page 18: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 6 동체인식 장치만들기

2. 문제점 고찰

03

아두이노와 PLC를이용한 IoT 구현실습

18

• LED가 켜지고 나면 움직임을 감지하지 못함

• LED가 켜져 있는 동안에도 움직임을 계속 감지하려면?

Page 19: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 6 동체인식 장치만들기

3. 감지 기능이 개선된코드

03

아두이노와 PLC를이용한 IoT 구현실습

19

count = 0

void setup(){}

void loop(){

a = AnalogRead(0)

if (a > 200){

count = 30}

if (count > 0){

count = count - 1DigitalWrite(13, HIGH)

}

Delay(100)}

Page 20: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 7 map 함수

1. 값을 변환해 주는 map 함수

03

아두이노와 PLC를이용한 IoT 구현실습

20

• Map함수를 이용하여 측정된 센서값을 실제 거리와 유사하게 변환해 봅니다.

• 거리값 뒤에 "cm" 단위를 표시해 봅니다.

Page 21: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 7 map 함수

2. map 함수를 이용한디지털 거리계장치 구현하기

03

아두이노와 PLC를이용한 IoT 구현실습

21

void setup(){}

void loop(){

a = AnalogRead(0)

a = map(a, 0, 1023, 80, 10)

Print(a)PrintLine("cm")Delay(100)

}

Page 22: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 8 PWM 활용하기

1. PWM 이란?

03

아두이노와 PLC를이용한 IoT 구현실습

22

• PWM은 필요한 전압을 0과 1의 간격을 조절하여 생성합니다.

• 0 ~ 255 사이의 값을 입력하면 0V ~ 5V 사이의 가상 전압이 만들어 집니다.

Page 23: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 8 PWM 활용하기

2. PWM을 사용할수 있는 핀

03

아두이노와 PLC를이용한 IoT 구현실습

23

Page 24: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 8 PWM 활용하기

3. PWM을 사용하기위한 아두이노명령어

03

아두이노와 PLC를이용한 IoT 구현실습

24

• AnalogWrite 명령어는 아날로그 이름이 붙어있지만 디지털 핀에 적용합니다.

• 모든 디지털 핀에 사용할 수 있는 것은 아니고, PWM 핀에만 사용할 수

있습니다.

• 디지털 핀으로 가상으로 아날로그 처럼 값을 출력시킵니다.

• 0 ~ 255 사이의 값을 입력하면 0V ~ 5V 사이의 가상 전압이 만들어 집니다.

• 디지털 핀 중에서 3, 5, 6, 9, 10, 11핀에만 사용 가능합니다.

Page 25: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 8 PWM 활용하기

4. PWM으로 LED 밝기 제어하기

03

아두이노와 PLC를이용한 IoT 구현실습

25

• LED를 디지털 11번에 연결합니다.

Page 26: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 8 PWM 활용하기

4. PWM으로 LED 밝기 제어하기

03

아두이노와 PLC를이용한 IoT 구현실습

26

void setup(){}

void loop(){

for (i = 0; i < 256; i=i+1){

AnalogWrite(11, i) Delay(10)

}}

Page 27: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 8 PWM 활용하기

5. PWM으로 모터의 속도 제어하기

03

아두이노와 PLC를이용한 IoT 구현실습

27

왼쪽 모터를 MOTOR1 단자에연결합니다.

Page 28: PowerPoint 프레젠테이션vulkan.co.kr/doc_arduino_02/004/아두이노_PLC_활용_IoT_실습_03... · 1. pwm 이란? 03 아두이노와plc를이용한iot 구현실습 22 •pwm은필요한전압을0과1의간격을조절하여생성합니다

아날로그명령어

03 - 8 PWM 활용하기

5. PWM으로 모터의 속도 제어하기

03

아두이노와 PLC를이용한 IoT 구현실습

28

void setup(){}

void loop(){

for (i = 0; i < 256; i=i+1){

AnalogWrite(5, i) Delay(100)

}}