택트 스위치(Tact Switch)
회로, 다른 전자부품을 제어하는데 사용되는 스위치입니다.
아두이노의 디지털핀에 연결하여 입력신호로 활용 가능합니다.
버튼 캡을 씌워 사용 가능합니다.
사용 방법
- [1번, 3번], [2번, 4번] 끼리 연결되어 있으며 버튼을 누를 시 모든 번호가 연결되는 구조입니다.
연결 및 사용 예시
- 스위치를 누를 경우 LED가 켜지는 회로 입니다. 별도의 코딩은 없습니다.
실행 결과
플로팅 현상과 풀업, 풀다운 저항
플로팅 현상
플로팅 현상은 스위치나 버튼과 같은 입력 핀이 어떠한 전압에도 정확하게 결합되지 않은 상태를 나타냅니다.
위 회로에서 스위치가 연결된 상태에서는 6번 디지털 핀으로 5V (HIGH) 신호가 연결됩니다.
하지만 스위치가 연결되지 않은 상태에서는 6번 디지털 핀 쪽에서 HIGH인지, LOW인지 알 수 없게 됩니다.
스위치를 누르지 않았음에도 불구하고 시리얼 모니터에 6번 핀 출력이 1(HIGH)로 표시되는 모습입니다.
이러한 플로팅 현상을 해결하기 위해 필요한 것이 풀업, 풀다운 저항입니다.
풀업 저항
입력 핀과 5V 사이에 저항이 추가된 모습입니다.
스위치가 열린 경우에는 1(HIGH)로 유지되고, 스위치가 닫힌 경우에는 GND로 단락되어 0(LOW)으로 유지됩니다.
풀다운 저항
입력핀과 GND 사이에 저항이 추가된 모습입니다.
스위치가 열린 경우에는 GND로 단락되어 0(LOW)로 유지되고, 스위치가 닫힌 경우에는 1(HIGH)으로 유지됩니다.
아두이노 내부 풀업 저항(INPUT_PULLUP)
아두이노에는 자체적으로 풀업 저항이 내장되어있습니다.
디지털 입력 핀 모드를 설정할 때 'INPUT_PULLUP'을 사용하면 외부에 저항을 추가하지 않아도 디지털 핀을 풀업 저항으로 사용할 수 있게 됩니다.
별도 저항을 추가하지 않고 pinMode를 INPUT_PULLUP으로 설정하면 풀업 저항을 사용한 것과 동일한 결과가 나오는 것을 확인할 수 있습니다.