• 검색 결과가 없습니다.

아두이노프로그래밍

N/A
N/A
Protected

Academic year: 2021

Share "아두이노프로그래밍"

Copied!
42
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

아두이노 프로그래밍

1

강사 : 김영준 목원대학교 겸임교수 헬로앱스 (www.helloapps.co.kr)

1 일차 – Part3 디지털 명령어

(2)

헬로앱스 (www.helloapps.co.kr) 2

아두이노 명령어

(3)

헬로앱스 (www.helloapps.co.kr)

아두이노 명령어

3

명령어 구조

명령어의 기본 규칙

(4)

헬로앱스 (www.helloapps.co.kr)

아두이노 명령어 구성

4

명령어 구조

디지털 명령어

0 (LOW) 또는 1 (HIGH) 값을 가지는 부품 제어

아날로그 명령어

0 ~ 1023 사이의 값을 가지는 센서 제어

소리 생성 명령어

소리를 발생시키는 명령어

모터 제어 명령어

서보모터 및 다양한 모터 제어

LCD 명령어

문자 출력 장치

통신 명령어

인터넷 , 블루투스 등의 통신

(5)

헬로앱스 (www.helloapps.co.kr)

아두이노에서의 센서값

5

디지털 센서

디지털 센서 값

전압 5V

0V

아두이노보드

HIGH 또는 1

LOW 또는 0

디지털 센서는 0V ~ 5V 사이의 전압값이 출력되며 , 아두이노에서는 이 전압값이 0 또는 1 로 처리됩니다 .

0V ~ 2.5V 사이는 0 으로 표시하고 2.5V ~ 5V 사이는 1 로 표시합니다 .

디지털센서

(6)

헬로앱스 (www.helloapps.co.kr)

아두이노에서의 센서값

6

디지털 센서

디지털 센서 값

디지털 센서의 출력 또는 입력

5V

0V

HIGH (1)

LOW (0)

아두이노 보드에서의 디지털 센서값 처리

(7)

헬로앱스 (www.helloapps.co.kr)

아두이노에서의 센서값

7

디지털 센서

디지털 센서 값

아두이노에서 특별히 디지털 센서 값은 다음과 같이 예약어로 사용됩니다 .

5V

0V

HIGH 라는 단어를 사용합니다 .

LOW 라는 단어를 사용합니다 . 예 ) DigitalWrite(13, HIGH)

예 ) DigitalWrite(13, LOW)

(8)

헬로앱스 (www.helloapps.co.kr)

아두이노에서의 센서값

8

아날로그 센서

아날로그 센서 값

전압 5V

0V

아두이노보드

1023

0

아날로그 센서는 0V ~ 5V 사이의 전압값이 출력되며 , 아두이노에서는 이 전압값이 0 ~ 1023 사이의 숫자로 변환됩니다 .

아날로그센서

(9)

헬로앱스 (www.helloapps.co.kr)

아두이노에서의 센서값

9

아날로그 센서

아날로그 센서 값

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

5V

0V

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

1023

0

(10)

헬로앱스 (www.helloapps.co.kr) 10

디지털 센서의 연결

(11)

헬로앱스 (www.helloapps.co.kr)

아두이노 올인원 센서 쉴드

11

디지털 센서

초보자용 아두이노 올인원 센서 쉴드

모터 2 핀 x 2 아날로그 3 핀 디지털 3 핀 I2C 4

시리얼 4 핀

브래드 보드가 필요없는 초보자용 아두이노 보드

(12)

헬로앱스 (www.helloapps.co.kr)

디지털 센서 연결하기

12

디지털 센서

디지털 핀 디지털 부품은 디지털

핀에 연결합니다 . 디지털 핀에는 2 번 ~ 13 번 까지

번호가 표시되어 있습니다 . (D2 ~ D13)

디지털 핀에 부품을 연결할 때에는 핀 번호를 확인해야 합니다 .

(13)

헬로앱스 (www.helloapps.co.kr)

디지털 센서 핀

13

디지털 센서

디지털 3 핀 센서 핀의 구조

측정된센서값

0V 디지털 5V

센서 (V: Voltage, 또는 Vcc 로 표기 ) (S: Sensor 또는 D 로 표기 )

(G: Ground, 또는 GND 로 표기 )

(14)

헬로앱스 (www.helloapps.co.kr) 디지털센서

디지털 센서 핀

14

디지털 센서

디지털 3 핀 센서를 아두이노 보드에 연결하는 방법

G

S V

아두이노보드의 디지털 핀 G

S V

아두이노 보드에는 총 14 개의 디지털 핀 (0 번 핀 ~ 13 번 핀 ) 이 있으나 이중에서 0 번과 1번은 통신용으로 사용되고

실제는 2 번 핀 부터 13 번 핀까지 총 12 개의 핀을 사용할 수 있습니다 .

12 개의 핀을 사용할 수 있습니다 .

(15)

헬로앱스 (www.helloapps.co.kr)

디지털 센서 연결하기

15

디지털 센서

디지털 센서 케이블

디지털 센서는

케이블이 녹색선으로 표시되어 있습니다 .

GND

VCC 또는 5V

디지털 데이터 선

(16)

헬로앱스 (www.helloapps.co.kr) 16

LED 소자 연결 실습

(17)

헬로앱스 (www.helloapps.co.kr)

LED 소자 연결 실습

17

실습

실습 ) 아래의 LED 소자를 디지털 13 번 핀에 연결해 봅니다 .

LED 소자

(18)

헬로앱스 (www.helloapps.co.kr)

LED 소자 연결 실습

18

실습

실습 ) 디지털 13 번 핀을 찾아 보세요 . 13 번

(D13)

(19)

헬로앱스 (www.helloapps.co.kr)

LED 소자 연결 실습

19

실습

디지털 부품의 연결

디지털 부품을 연결할 때에는 선의 색상

( 검정 , 빨강 , 초록 )

순서 및 핀 위치를

확인하여 연결합니다 .

왼쪽은 LED 소자를

디지털 13 번 핀에 연결한 예입니다 .

(20)

헬로앱스 (www.helloapps.co.kr) 20

디지털 명령어

(21)

헬로앱스 (www.helloapps.co.kr)

디지털 명령어

디지털 핀에 값을 쓸 때 사용하는 명령어

DigitalWrite

디지털 핀에서 값을 읽어 올 때 사용하는 명령어

DigitalRead

21

디지털 명령어

(22)

헬로앱스 (www.helloapps.co.kr)

디지털 명령어

디지털 핀에 값을 쓸 때에는 핀번호와 값이 필요함

DigitalWrite ( 핀번호 , 값 )

디지털 핀에서 값을 읽어 올 때에는 핀번호와 값을 저장할 변수가 필요함

a = DigitalRead ( 핀번호 )

22

디지털 명령어

(23)

헬로앱스 (www.helloapps.co.kr)

Delay 명령어

Delay 명령어는 주어진 시간 ( 밀리초 ) 동안 실행을 멈추는 명령어 입니다 .

Delay ( 밀리초 )

23

디지털 명령어

1000 밀리초는 1 초를 의미합니다 . 100 밀리초는 몇초일까요 ?

3500 밀리초는 몇초일까요 ?

(24)

헬로앱스 (www.helloapps.co.kr) 24

LED 소자 제어 실습

(25)

헬로앱스 (www.helloapps.co.kr)

실습 ) 13 번 핀의 LED 점멸시키기

디지털 13 번 핀에 연결된 LED 를 1 초 간격으로 점멸시키는 프로그램을 작성해 보세요 .

25

실습

(26)

헬로앱스 (www.helloapps.co.kr)

실습 ) 13 번 핀의 LED 점멸시키기

블록으로 작성한 프로그램 예 )

26

실습

(27)

헬로앱스 (www.helloapps.co.kr)

실습 ) 13 번 핀의 LED 점멸시키기

스크립트로 작성한 프로그램 예 )

27

실습

void setup() {

}

void loop() {

DigitalWrite(13, HIGH) Delay(1000)

DigitalWrite(13, LOW) Delay(1000)

}

(28)

헬로앱스 (www.helloapps.co.kr)

실습 ) 13 번 핀의 LED 점멸시키기

C 언어 문법 ( 스케치 코드 ) 으로 작성한 프로그램 예

28

실습

void setup() {

pinMode(13, OUTPUT);

}

void loop() {

digitalWrite(13, HIGH);

delay(1000);

digitalWrite(13, LOW);

delay(1000);

}

(29)

헬로앱스 (www.helloapps.co.kr)

프로그램 실행하기

29

실습

상단 메뉴의 가운데 있는 실행 버튼을 클릭하여 프로그램을 아두이노에 업로드 시 킵니다 .

(30)

헬로앱스 (www.helloapps.co.kr) 30

응용 실습

(31)

헬로앱스 (www.helloapps.co.kr)

LED 제어 응용 실습

31

응용실습

아래의 실습 주제를 수행해 봅니다 .

(32)

헬로앱스 (www.helloapps.co.kr)

LED 제어 응용 실습

32

블록 코드

LED 의 점멸주기를 수정하여면 아래 코드에서 어느 부분을 수정해 주어야 할까요

?

(33)

헬로앱스 (www.helloapps.co.kr)

LED 제어 응용 실습

33

스케치 코드

LED 의 점멸주기를 수정하여면 아래 코드에서 어느 부분을 수정해 주어야 할까요

?

void setup() {

pinMode(13, OUTPUT);

}

void loop() {

digitalWrite(13, HIGH);

delay(1000);

digitalWrite(13, LOW);

delay(1000);

}

(34)

헬로앱스 (www.helloapps.co.kr) 34

아두이노 프로그램의

구조

(35)

헬로앱스 (www.helloapps.co.kr)

아두이노 프로그램의 구조

35

프로그램 구조

아두이노 프로그램은 기본적으로 아래의 구조를 가집니다 .

void setup() {

}

void loop() {

}

블록 코드 스케치 코드

(36)

헬로앱스 (www.helloapps.co.kr)

아두이노 프로그램의 구조

36

프로그램 구조

Setup 함수는 가장 먼저 실행되며 한번만 실행됩니다 .

void setup() {

}

void loop() {

}

블록 코드 스케치 코드

(37)

헬로앱스 (www.helloapps.co.kr)

아두이노 프로그램의 구조

37

프로그램 구조

(38)

헬로앱스 (www.helloapps.co.kr)

아두이노 프로그램의 구조

38

프로그램 구조

Loop 함수는 Setup 함수 실행이 끝난 후 실행되며 , 아두이노 보드에 전원이 공

급되는 한 무한히 반복하여 실행됩니다 .

void setup() {

}

void loop() {

}

블록 코드 스케치 코드

(39)

헬로앱스 (www.helloapps.co.kr)

아두이노 프로그램의 구조

39

프로그램 구조

(40)

헬로앱스 (www.helloapps.co.kr) 40

응용 실습

(41)

헬로앱스 (www.helloapps.co.kr)

아두이노 프로그램의 구조

41

블록 코드

디지털 13 번 핀에 연결된 LED 소자를 0.5 초간 3 번 점멸 한 후 , 항상 꺼져 있 도록 기존 프로그램을 수정해 봅니다 .

?

(42)

헬로앱스 (www.helloapps.co.kr)

아두이노 프로그램의 구조

42

스크립트 코드

디지털 13 번 핀에 연결된 LED 소자를 0.5 초간 3 번 점멸 한 후 , 항상 꺼져 있 도록 기존 프로그램을 수정해 봅니다 .

void setup() {

}

void loop() {

DigitalWrite(13, HIGH) Delay(1000)

DigitalWrite(13, LOW) Delay(1000)

}

?

참조

관련 문서

13)

삭제 버튼을 클릭하여 수강신청을 삭제(수강삭제가 가능한 경우에만 버튼이 활성화 됩니다.) 오류 없이 삭제 성공 메시지가 나오면

음악분수는 학문적으로 새로운 것이 아니라 기존 기술들을 융합한 것이 고, 예술성을 더 추가한 것으로 학문적 연구 대상으로 분류되지 않아 연구 논문들이 거의

경제교육 홈페이지에 로그인되어 있는 상태에서 현장 경제교육 메뉴의

② 마우스 오른쪽 버튼을 클릭하여 [이름 바꾸기]를 선택하고 워크시트 이름을 입력하고 엔터를

- 자료제출 프로그램 설치가 되지 않거나, 자료 제출이 되지 않을 경우 구버전의 프로그램을 직접 설치하여 전자신고파일

키질 천불동 제38굴 입구 상단 팀파눔 미륵설법도... 키질 천불동 제17굴 입구

▌ (AI 활용 인프라의 조성 ) AI 기술개발의 활성화와 서비스 영역 확장을 위하여 정부는 기 업이 자체 기술개발 인수 합병 , ․ , Open source 기반의 플랫폼 활용 등을 할