아두이노 입출력 선택, pinMode () 사용법

아두이노의 선택된 디지털핀을 입력으로 할지 출력으로 설정할지 구성하는 함수인 pinMode()에 대해 알아보겠습니다.

 

 

정의

지정된 핀이 입력 또는 출력으로 작동하도록 구성합니다. 

Arduino 1.0.1부터는 모드로 내부 풀업 저항을 활성화할 수 있습니다 INPUT_PULLUP. 또한이 INPUT모드는 내부 풀업을 명시 적으로 비활성화합니다.

 

사용 예

pinMode(pin, mode)

 

매개변수

pin: Arduino 핀 번호로 모드를 설정합니다.
mode: INPUT, OUTPUT또는 INPUT_PULLUP.

 

예제

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(3,OUTPUT);
  pinMode(4,INPUT);
 
}
 
void loop() {
  // put your main code here, to run repeatedly:
  int val;
  digitalWrite(3,HIGH);
  val = digitalRead(4);
  Serial.print("입력 값:");
  Serial.println(val);
  delay(5000);
 
}
 

 

위의 예제 코드를 보시면 pinMode(3,OUTPUT); , pinMode(4,INPUT); 으로 각각 3번핀을 출력, 4번핀을 입력으로 설정한 것을 확인하실 수 있습니다.

 

당연히 결과는 HIGH로 출력하였으니 1(HIGH)가 나오게 됩니다

 

출력 결과

 

그런데 위에서 명시했듯 "Arduino 1.0.1부터는 모드로 내부 풀업 저항을 활성화할 수 있습니다 INPUT_PULLUP. 또한이 INPUT모드는 내부 풀업을 명시 적으로 비활성화합니다."라는 말이 있습니다.

 

입력 모드에서 저희가 풀업, 풀다운을 설정할 수 있다는 것이죠.  풀업 풀다운은 아래 그림을 참고하시면 됩니다.

 

풀업 풀다운 설정

 

쉽게 설명하자면 저항이 그라운드 위쪽이면 Pull - UP 아래면 Pull - Down 이라고 생각하시면 됩니다. 풀업의 경우 스위치가 off상태(이번 예제에서는 write(LOW))에서 1(HIGH)를 출력하며 풀다운의 경우 스위치가 off상태에서 0(LOW)를 출력합니다.

 

아두이노의 입력 모드에서는 기본적으로 풀다운이지만 pinMode설정을 통해 풀업을 설정할 수 있습니다. 

풀업은 pinMode(4,INPUT_PULLUP);를 통해 설정할 수 있습니다.

댓글()