Input Pullup Serial

by JE posted Jan 16, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

Pull up.jpg

 

2번핀의 스위치를 연결하여 누르면 13번  LED가 점등하게 합니다.

2번핀이 눌러졌을 때는 1->0 으로 변하게 하기 위해

2번핀에 미리 High 전압을 걸어두는 이것을 Pull-up이라고 합니다.

보통은 저항을 연결해서 +5V에 걸어 두는데

아두이노 보드에서는 소프트웨어적으로 Pull-up을 걸수가 있습니다.

pinMode(2,INPUT_PULLUP); 와 같이 설정하면됩니다. 

 

 

void setup() {
  //start serial connection
  Serial.begin(9600);
  //configure pin2 as an input and enable the internal pull-up resistor
  pinMode(2, INPUT_PULLUP);
  pinMode(13, OUTPUT);

}

void loop() {
  //read the pushbutton value into a variable
  int sensorVal = digitalRead(2);
  //print out the value of the pushbutton
  Serial.println(sensorVal);

  // Keep in mind the pullup means the pushbutton's
  // logic is inverted. It goes HIGH when it's open,
  // and LOW when it's pressed. Turn on pin 13 when the
  // button's pressed, and off when it's not:

  if (sensorVal == HIGH) {
    digitalWrite(13, LOW);
  } else {
    digitalWrite(13, HIGH);
  }
}

 

위 프로그램에서 스위치가 눌려지지 않았을 때 Pull up되어 High라는 사실을 알고 있어야합니다.

스위치가 눌려지면 Low가 됩니다.

 

다음 : PWM을 통한 LED제어

        가변저항에 인가된 전압 읽기