Skip to main content

Pull-up e Pull-down Resistors

Pull-up e Pull-down Resistors

Para garantir uma leitura precisa das entradas digitais, é importante usar resistores pull-up ou pull-down. Esses resistores "puxam" o valor da entrada para HIGH ou LOW quando o botão não está sendo pressionado, evitando leituras incorretas causadas por ruído elétrico.

  • Resistor Pull-down: Mantém o valor LOW até que o botão seja pressionado (quando o valor passa para HIGH).
  • Resistor Pull-up: Mantém o valor HIGH até que o botão seja pressionado, o que faz com que o valor caia para LOW. O Arduino tem resistores pull-up internos, que podem ser ativados com pinMode(pino, INPUT_PULLUP).

Exemplo: Usar o resistor pull-up interno.

int buttonPin = 7;

void setup() {
  pinMode(buttonPin, INPUT_PULLUP);  // Ativa o resistor pull-up interno
  pinMode(13, OUTPUT);
}

void loop() {
  int buttonState = digitalRead(buttonPin);
  if (buttonState == LOW) {  // O botão está pressionado (LOW por causa do pull-up)
    digitalWrite(13, HIGH);  // Liga o LED
  } else {
    digitalWrite(13, LOW);   // Desliga o LED
  }
}