B9 – Dùng điện trở nội (Pull up resistor)

Trong một số trường hợp, ta không cần gắn trở ngoài để treo trạng thái của một chân nào đó lên cao hoặc xuống thấp (như bài nút nhấn trước). Một số IC có sẵn điện trở nội (bên trong) cho phép ta sử dụng để treo trạng thái một chân nào đó.

Gắn nút nhấn vào chân 2 và chân còn lại nối đất GND.

  • Chương trình:
/*
 Dùng trở nội

 Sử dụng chức năng pinMode(INPUT_PULLUP). 

 Không giống như pinMode(INPUT). Trở nội 20K-ohm được nối lên
nguồn 5V. Điều này cho phép đọc giá trị cao (HIGH) khi
công tắc để hở và thấp (LOW) khi đóng.

 This example code is in the public domain
 */

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);
  }
}

Leave a Reply

Your email address will not be published. Required fields are marked *