스위치는 두 개의 상태를 가진다.
ON(닫힘, LOW 또는 0V) : 전류가 흐름
OFF(열림, HIGH 또는 5V/3.3V) : 전류가 흐르지 않음
버튼을 누르지 않을 경우 : (a-a), (b-b) 연결
버튼을 누를 경우 : 4개의 다리가 모두 연결
아두이노에서 디지털 핀을 이용해 스위치 상태를 읽을 때, 스위치가 눌린 상태(ON)일 때는 GND(0V)나 VCC(5V)를 직접 연결해서 확실한 값을 읽을 수 있다.
하지만 스위치가 열려 있는 경우(OFF) 아래와 같이 문제가 생김
입력핀이 어떠한 값에도 확실하게 연결되지 않은 상태에서 발생한다.
아두이노의 디지털 입력핀이HIGH인지LOW인지 애매한 상태
HIGH 상태LOW가 된다. pinMode(pin, INPUT_PULLUP); 로 활성화 가능.내부 풀업을 쓰면 외부 저항 없이도 플로팅 문제를 해결할 수 있기 때문에 편리 하지만 만약 버튼을 눌렀을 때
HIGH가 되는 방식이 필요하면, 외부 풀다운 저항(10kΩ)을 추가해야한다.
플로팅 개념과 풀다운의 필요성에 대해 정리하면서 확실히 이해할 수 있었다. 플로팅 개념을 배우면서 아두이노에 대한 이해도가 훨씬 높아졌고, 예전에는 GND와 VCC에 단순히 외우듯이 선을 연결했었는데, 이제는 왜 이 선이 여기에 연결되어야 하는지, 저 선은 왜 저기에 연결되어야 하는지에 대해서도 명확히 알게 되었다.