아두이노 핀 개수 - adu-ino pin gaesu

아두이노

[아두이노-초급] 4강. 아두이노(Arduino) 디지털 입력과 출력(Digital Input Output)

아두이노(Arduino) 보드를 통해 제어하는 방법으로 디지털 입력과 출력을 사용합니다.

디지털(Digital) 이란 무엇인가? 아날로그와 대응되는 의미로, 임의의 시간에서 값이 최소값의 정수배로 되어 있고, 그 이외의 중간값을 취하지 않는 양을 가리킨다. 디지털은 01로 이루어지는 이진법 논리를 사용해서 01의 각종 조합을 만든 후 그것의 조작과 처리를 통해 여러 가지 정보를 생산·유통·전달할 수 있도록 만든다. (출처-네이버 지식백과)

(사진출처 - https://pixabay.com/ko/)

쉽게 말씀 드리면, “ 디지털이란, 어떠한 정보, 자료, 물체, 지표 등을 01로 표기하는 것이다. 라고 생각 하시면 될 듯 합니다.

아두이노의 하드웨어를 공부하시면 이해 하시는 데 도움이 될 듯 합니다.

참고링크1 : [전기-전자] 아두이노를 파헤치다. - 하드웨어 편

http://blog.naver.com/no1_devicemart/220833715527

1) 아두이노 UNO 에서 어떠한 하드웨어 등이 있는지?

2) 아두이노 UNOPIN(사용 핀) 은 어떠한 것 등이 있는지?

등 확인 하시면 됩니다.

아두이노UNO14개의 디지털 입-출력 핀이 있습니다. ( 0~ 13, 14)

디지털 핀에서 6개의 (~표시) PWM 핀이 있습니다.

예제를 통해 디지털 입력과 출력에 대해 이해하도록 합시다.

#1. 아두이노(Arduino) 출력을 통해 LED를 키고 꺼보자. (디지털 출력 이해 하기)

준비물 : 아두이노 UNO, LED, 220[] 저항, 브레드보드, 도선 등

참고링크2 : [전기-전자] LED 회로설계 하는 방법

http://blog.naver.com/no1_devicemart/220856838955

1) 회로도(브레드보드에 구현하기)

다음과 같이 LED와 저항을 통해 회로도를 구성 합니다.

!주의사항1 : LED는 방향성을 가지고 있습니다. anode(+), cathode(-)의 방향을 주의 깊게 생각하여 연결하셔야 합니다.

!주의사항2 : LED에 많은 전류가 흐를 시에 수명, 파손의 우려가 있습니다. 따라서 저항과 같이 직렬로 연결 하셔야 합니다.

2) 아두이노 코드 넣기

2-1) LED 켜기

void setup(){

pinMode(10, OUTPUT); // 출력 모드 10 설정

}

void loop(){

digitalWrite(10, HIGH); // LED ON

}

2-2) LED 끄기

void setup(){

pinMode(10, OUTPUT); // 출력 모드 10 설정

}

void loop(){

digitalWrite(10, LOW); // LED OFF

}

#2. pinMode / digitalWrite 함수에 대해 이해하자.

1) pinMode

아두이노 우노(UNO)에는 14개의 디지털(Digital) 핀을 가지고 있다. 해당 핀을 사용에 따라 입력과 출력으로 사용 할 수 있다. 핀을 사용하기 전에 핀을 입력으로 쓸지 출력으로 쓸지 설정을 해줘야 한다.

따라서, pinMode는 사용 핀에 대한 입력과 출력을 설정하기 위한 함수이다.

pinMode(pin, mode)

pin: 디지털 핀 숫자, 아날로그 핀 숫자

mode : INPUT, OUTPUT, INPUT_PULLUP

다음과 같이 함수를 통해 핀의 입력 및 출력 설정을 해야 한다.

예를 들어 10번의 핀을 입력으로 사용하겠다고 한다면,

pinMode(10, INPUT);

반대로 출력으로 사용하겠다면,

pinMode(10, OUTPUT); 으로 설정해야 한다.

2) digitalWrite

아두이노 우노(UNO)의 디지털 핀을 출력으로 사용 할 시에 (pinMode(.. , OUTPUT)) 0 or 1이라는 값을 출력 할 수 있다. , 5[V] or 0[V], HIGH or LOW 등을 출력 한다.

따라서, digitalWrite는 디지털 0 또는 1을 출력하는 함수 이다.

pinMode(pin, value)

pin : 디지털 핀 숫자

value : HIGH, LOW

10번의 디지털 핀에 5[V]를 인가하고 싶다면,

digitalWrite(10, HIGH); 로 설정하면 된다.

#3. 아두이노(Arduino) 입력을 통해 스위치 상태를 파악하여 LED를 켜보자. (디지털 입력 이해 하기)

준비물 : 아두이노 UNO, LED, 220[] 저항, 브레드보드, 도선, 스위치 등

스위치를 눌렸을 때, LED의 불이 들어 올 수 있도록 만들어 보자.

1) 회로도(브레드보드에 구현하기)

다음과 같이 LED와 저항, 스위치와 저항을 잘 연결 하도록 하자.

!주의사항1 : LED 방향 및 저항 등을 잘 연결 하자.

!주의사항2 : 스위치의 양 단을 잘 보고 연결 하자.

현재 회로도는 스위치를 눌렸을 때 ‘0’, LOW, 0[V]를 갖게 되도록 하였다.

2) 아두이노 코드 넣기

void setup(){

pinMode(7, INPUT); // 입력 모드 7 설정

pinMode(10, OUTPUT); // 출력 모드 10 설정

}

void loop(){

if(digitalRead(7) == LOW){ // 버튼을 눌렸을 때,

digitalWrite(10, HIGH); // LED ON

}

else {digitalWrite(10, LOW); // LED OFF

}

}

 

#4. digitalRead 함수에 대해 이해하자.

1) digitalRead

아두이노의 디지털 핀에서 INPUT(입력)으로 사용하는 핀에 대한 정보를 얻기 위한 함수이다. 0 or 1이라는 값을 읽을 수 있다. (HIGH or LOW)

따라서, digitalRead는 디지털 0 or 1값을 입력 받는 함수 이다.

digitalRead(pin)

pin : 디지털 핀 숫자, 아날로그 핀 숫자

예를 들어, 7번의 디지털 값을 입력 받고 싶다면

digitalRead(7) 이라고 지칭 하면 됩니다.

#5. 정리하기

1) 아두이노UNO에는 14개의 디지털 핀이 있다.

2) 디지털 핀을 사용하기 전에 pinMode를 통해 입력 or 출력을 설정해야 한다.

3) 디지털 출력을 사용하려면, digitalWrite 함수를 사용한다.

4) 디지털 입력을 사용하려면, digitalInput 함수를 사용한다.

5) 디지털에 대한 이해 - 0 or 1로 표기, 0[V] or 5[V], LOW or HIGH 표기

아두이노를 통해 설계(만들기) 위해 디지털 핀을 다루는 것을 기초입니다. 복습하시면서 이해하는 데 노력하시길 바랍니다.

추가 생각 과제>

1) LED 3개를 키고 끌 수는 없을까?

2) LED 3(RED, GREEN, BLUE)를 통해 신호등을 만들어 보자.

3) LED를 통해 1초 마다 키고 끌 수 없을까?

4) 스위치 2개를 동시에 눌려야 LED가 켜지게 하는 방법은 없을까?

기재된 코드는 첨부파일에서 확인 가능합니다.