pinMode()

pinMode(pino, modo)

Antes de ler um botão ou acender um LED, você precisa avisar o Arduino qual vai ser o "papel" daquele pino. O pinMode() faz exatamente isso: define se o pino vai mandar sinal (saída) ou escutar sinal (entrada). Costuma morar dentro do setup(), já que normalmente você configura o pino uma vez só.

Sintaxe

pinMode(pino, modo);

Parâmetros

  • pino: o número do pino que você quer configurar (ex.: 13, A0, 2).
  • modo: INPUT (entrada), OUTPUT (saída) ou INPUT_PULLUP (entrada com resistor de pull-up interno ligado).

Retorno

Nada (void).

Exemplo

void setup() {
  pinMode(13, OUTPUT);       // LED como saída
  pinMode(2, INPUT_PULLUP);  // botão como entrada, sem resistor externo
}

void loop() {
  bool apertado = (digitalRead(2) == LOW); // com pull-up, apertado = LOW
  digitalWrite(13, apertado ? HIGH : LOW);
}

Notas e cuidados

  • No modo INPUT puro, o pino fica "solto" (alta impedância) e pega ruído; se for ler um botão, prefira INPUT_PULLUP ou use um resistor externo.
  • Os pinos analógicos (A0A5) também servem como digitais: você pode passá-los para o pinMode() normalmente.
  • No ESP32 nem todo pino aceita todos os modos (alguns são só entrada, como GPIO 34–39, que não têm pull-up interno).

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker