728x90


버튼은 위와같이 생겼다. 위처럼 생기지 않은것도 있지만 기본적으로 4개의 다리를 쓰는건 동일하다.



뒤집어보면 두개는 다리가 붙어있고 이게 양쪽으로 갈라져있다.


출처


버튼의 원리는 누르지 않으면 전기가 통하지않으므로 전압이 통과하지 않으므로 input값이 1이된다.

버튼을 누르면 전기가 통하므로 전압이 통과해서 input값이 0이 되게된다.



버튼을 위와같이 연결하자. 한쪽에 몰아서 연결하고 디지털핀과 연결시켜준다.

도면을 보면 아래와 같다.



연결방법은 매우 간단하다.

코드역시 간단하다. 코드를 보자.


const int pinBTN = 4;

int val;

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

void loop() {
val = digitalRead(pinBTN);
Serial.println(val);
}

여기서 중요한건 pinMode를 INPUT_PULLUP모드로 해줘야한다.

버튼을 연결한 핀은 무조건 풀업을 해줘야하는데 그 이유는 버튼의 특성때문에 그렇다.

자세한 내용은 여기서 다루지 않겠다. 검색하며 나오므로 검색하면봐라.

원래 옛날버전에서는 풀업용으로 회로를 구성해야했으나 지금은 그럴필요가 없다.

따라서 그걸 여기서 언급하진 않겠다.



기존에는 1이 출력되다가 버튼이 누르면 0이 출력되는 것을 볼 수있다.



+ Recent posts