반응형

아두이노나 Atmega128을 이용해 스위치를 이용한 입력회로를 구성할 때 Pull-up과 Pull-down 스위치 원리를 알고 구성해야 한다.

 

풀업, 풀다운을 하는 이유는? 

 

만약 스위치를 아래와 같이 구성했다. 입력핀에서 바로 Load를 거쳐서 GND로 흐른다고 할 때, 디지털 신호에서 가장 중요한 High인가 Low인가에 대한 신호구분을 알 수 없다. 이 상태를 Floating (플로팅) 상태라고 한다.

 

ON/OFF스위치는 1 일때 ON 켜지고, 0일때 OFF 꺼진다. 중간 상태가 없다.

따라서 이 플로팅상태를 막기 위해서 High인지 Low인지 신호를 명확히 하기 위해 Pull up과 Pull down을 한다.

 

결론부터 말하자면 스위치에 Pull up, Pull down을 위한 회로를 구성한다고 보면 아래와 같이 하면 된다.

빨간색으로 표시한 곳은 아두이노, Atmega등등과 같은 MCU 입력핀이라고 보면 된다.

좌측: Pull Up 스위치   /   우측 Pull Down 스위치

풀업 (Pull up) :  해당 핀의 기본 High 로 두고 스위치가 연결될 때 Low가 된다.

풀다운(Pull down) :  해당 핀의 기본 Low 로 두고 스위치가 연결될 때 High가 된다. 

 

 

아래 시뮬레이션을 보면 Pull up과 Pull down을 직관적으로 이해할 수 있다.

 

 

<Pull-up 시뮬레이션>

  스위치를 누르지 않은 상태 (기본상태)에는 입력핀에 항상 5V (HIGH)가 인가되어있다. 그러나 스위치를 누르면 해당 입력핀의 전압은 0V로 변한다.

평소 5V 유지, 스위치를 누르면 입력핀은 0V로 바뀜

<Pull-down 시뮬레이션>

  스위치를 누르지 않은 상태 (기본상태)에는 입력핀에 항상 0V (LOW)가 인가되어있다. 그러나 스위치를 누르면 해당 입력핀의 전압은 5V로 변한다.

평소 0V 유지, 스위치를 누르면 입력핀은 5V로 바뀜

 

 

자 이제 위 원리를 응용해서 회로에 Pull up 스위치를 달면?

예를들어 Atmega128의 PB0핀을 입력핀으로 설정했다고 가정하여 Pull up 스위치를 달아본다.

이제 스위치로써 제대로 동작할 것이다.

 

(Pull down은 스위치와 저항 위치만 바꿔주면 된다.)

 

반응형

+ Recent posts