본문 바로가기
아두이노

아두이노 푸쉬버튼 활용.( 플로팅, 풀업, 풀다운)

by SwMaker_Jun 2021. 11. 2.
728x90
반응형

 

 

1. 푸쉬버튼 알아보기.

     - 디지털 입력을 위한 부품.

     - 푸쉬버튼을 누르고 떼는 동안 디지털  1 (HIGH), 0 (LOW) 값을 갖는다.

     - 푸쉬버튼은 누르고 있는 동안 ON, 떼면 OFF로 되돌아가는 특징을 가지고 있음.

     ※ 코드를 통해 누를때 OFF, 뗄때 ON 으로 제어할 수 있음.

 

푸쉬버튼

 

 

 

2. 푸쉬버튼 Floating(플로팅)값 이란 ?

     - 아두이노는 입력되는 전압이 2.6V ~ 5V 까지는 1 (HIGH)로 인식하고

       입력되는 전압이 0V ~ 0.6V 까지는 0 (LOW)로 인식.

    ※ 아두이노 보드 종류에 따라 인식되는 HIGH, LOW  V(전압) 범위는 다름.

 

     -  Floating (플로팅) : 부유하는, 떠 있는, 유동적인

        - 0과 1 사이의 방황하는 값 (플로팅값)

        - 0.6V ~ 2.6V 사이의 값

 

     - 코드로 플로팅 값을 확인해 보자.  [ 푸쉬버튼 한쪽 핀을 GND, 디지털핀으로 연결 ]

푸쉬버튼 회로
// 아래 코드를 복사하여 업로드 하여보자.

void setup() {
  pinMode(4,INPUT);
  Serial.begin(9600);
}

void loop() {
  int push=digitalRead(4);
  Serial.print("push = ");
  Serial.println(push);
}



// swmaker_jun

 

 - 코드를 입력하고 업로드하여 시리얼 모니터를 띄우면 아래와 같이 플로팅 값을 확인할 수 있다.

시리얼모니터 플로팅값

 

 

 

3. Pull_UP (풀업)  Pull_Down(풀다운) 회로

     - 플로팅값을 해결하기 위해서는 아래와 같이 "풀업" 회로와 "풀다운" 회로를 사용

                   pull _ up (풀업)                                                                  pull _ down (풀다운)

   ■ 풀업 Pull_Up

     - 저항을 5V(전원) 쪽에 놓고 플로팅 현상을 해결 [ 풀업저항을 사용하면 핀에는 항상 5V 전압이 가해짐. ]

       푸쉬버튼을 누르지 않을때 : 디지털 HIGH (1)

       푸쉬버튼을 누를때 : 디지털 LOW (0)

 

     ■ 풀다운 Pull_Down

     - 저항을 GND(그라운드) 쪽에 놓고 플로팅 현상을 해결 [ 풀다운을 사용하면 핀에는 항상 0V 전압이 가해짐. ]

       푸쉬버튼을 누르지 않을때 : 디지털 LOW (0)

       푸쉬버튼을 누를때 : 디지털 HIGH (1)

 

       ※ 아두이노 보드 종류에 따라 인식되는 HIGH, LOW  V(전압) 범위는 다름.

 

 

4. 아두이노 pinMode에서 풀업모드 활용하기.

     - 아두이노 PCB에 있는 저항과 회로로 풀업모드 활용하기.

 

버튼을 누르지 않을때 풀업모드 [항상 HIGH 값]

  ■ 핀모드 INPUT_PULLUP

     - 위에 코드에서 INPUT  모드를   "  INPUT_PULL " 코드로만 바꿔주면 아두이노 하드웨어안에서 풀업회로를

       사용할 수 있다.

     - 푸쉬버튼을 누르지 않을때는 HIGH, 누를때는 LOW 값으로 출력

     ※ 풀업모드 업로드 후 시리얼 모니터로 확인하여 보자.

 

// 아두이노 풀업모드 코드

 

void setup() {
  pinMode(4,INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
  int push=digitalRead(4);
  Serial.print("push = ");
  Serial.println(push);
}

 

// swmaker_jun

 

728x90
반응형