[Arduino] 아두이노 푸시 버튼 사용하기

아두이노 푸시 버튼(Push Button) 사용하기

푸시 버튼은 여러 이름으로 불린다. ex)버튼, 스위치

푸시 버튼을 제어하는 방법에는 두개가 있다.
1. INPUT : 푸시 버튼을 한번 누르면 0
2. INPUT_PULLUP : 푸시 버튼을 누르고 있으면 0, 떼면 1

INTPUT과 INPUT_PULLUP 의 회로도는 조금 다르다.


INPUT 회로도




INPUT 코드

푸시 버튼의 상태를 시리얼 모니터에 출력한다.
업로드를 하면 시리얼 모니터에 0, 1, 0, 0, 1 이런 식으로 값이 나온다. 이것은 플로팅 값이라고 하는데 0 과 1 중 정해지지 않은 값이 랜덤으로 나오는 것이다. 이 상태에서 버튼을 한번 누르면 0으로 고정 된 값이 나온다.
#define PUSH_PIN 9
void setup()
{
  pinMode( PUSH_PIN, INPUT );
  Serial.begin(9600);
}
void loop()
{
  int value = digitalRead( PUSH_PIN );
  Serial.println( value );
}




INPUT_PULLUP 회로도

저항은 220옴 사용해주면 된다.



INPUT_PULLUP

푸시 버튼의 상태를 시리얼 모니터에 출력한다.
업로드를 하면 (1,1,1,1,1) 쭉 1로 출력이 된다. 이 상태에서 버튼을 누르고 떼지 않으면 (0,0,0,0,0)으로 나온다. 버튼에서 손을 떼면 다시 0이된다.
#define PUSH_PIN 9
void setup()
{
  pinMode( PUSH_PIN, INPUT_PULLUP );
  Serial.begin(9600);
}
void loop()
{
  int value = digitalRead( PUSH_PIN );
  Serial.println( value );
}

댓글

이 블로그의 인기 게시물

[Arduino] 아두이노 초음파 센서(HC-SR04) 사용하기

[Arduino] 아두이노 조이스틱 사용하기

[자연 환경] 농약의 장단점 농약이 환경과 인간에게 미치는 영향