택트 스위치(Tact Switch)

From Arduwiki

가운데|class=coders100

회로, 다른 전자부품을 제어하는데 사용되는 스위치입니다.

아두이노의 디지털핀에 연결하여 입력신호로 활용 가능합니다.

버튼 캡을 씌워 사용 가능합니다.

사용 방법

가운데|class=coders30

  • [1번, 3번], [2번, 4번] 끼리 연결되어 있으며 버튼을 누를 시 모든 번호가 연결되는 구조입니다.

연결 및 사용 예시

  • 스위치를 누를 경우 LED가 켜지는 회로 입니다. 별도의 코딩은 없습니다.

가운데|class=coders100

실행 결과

가운데|class=coders100


플로팅 현상과 풀업, 풀다운 저항

플로팅 현상

가운데|class=coders100

플로팅 현상은 스위치나 버튼과 같은 입력 핀이 어떠한 전압에도 정확하게 결합되지 않은 상태를 나타냅니다.

위 회로에서 스위치가 연결된 상태에서는 6번 디지털 핀으로 5V (HIGH) 신호가 연결됩니다.


가운데|class=coders100

하지만 스위치가 연결되지 않은 상태에서는 6번 디지털 핀 쪽에서 HIGH인지, LOW인지 알 수 없게 됩니다.

스위치를 누르지 않았음에도 불구하고 시리얼 모니터에 6번 핀 출력이 1(HIGH)로 표시되는 모습입니다.

이러한 플로팅 현상을 해결하기 위해 필요한 것이 풀업, 풀다운 저항입니다.


풀업 저항

가운데|class=coders100

입력 핀과 5V 사이에 저항이 추가된 모습입니다.

스위치가 열린 경우에는 1(HIGH)로 유지되고, 스위치가 닫힌 경우에는 GND로 단락되어 0(LOW)으로 유지됩니다.


풀다운 저항

가운데|class=coders100

입력핀과 GND 사이에 저항이 추가된 모습입니다.

스위치가 열린 경우에는 GND로 단락되어 0(LOW)로 유지되고, 스위치가 닫힌 경우에는 1(HIGH)으로 유지됩니다.


아두이노 내부 풀업 저항(INPUT_PULLUP)

아두이노에는 자체적으로 풀업 저항이 내장되어있습니다.

디지털 입력 핀 모드를 설정할 때 'INPUT_PULLUP'을 사용하면 외부에 저항을 추가하지 않아도 디지털 핀을 풀업 저항으로 사용할 수 있게 됩니다.

가운데|class=coders100

별도 저항을 추가하지 않고 pinMode를 INPUT_PULLUP으로 설정하면 풀업 저항을 사용한 것과 동일한 결과가 나오는 것을 확인할 수 있습니다.


구매 링크

공집사몰