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) ouINPUT_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
INPUTpuro, o pino fica "solto" (alta impedância) e pega ruído; se for ler um botão, prefiraINPUT_PULLUPou use um resistor externo. - Os pinos analógicos (
A0–A5) também servem como digitais: você pode passá-los para opinMode()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).