
Vídeo
Esquema do circuito

Código-fonte
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// LED Control with a Push Button (Push)
4// ─────────────────────────────────────────
5// The LED stays on while the button is held and turns off when it is
6// released (push). Shows reading a button with digitalRead and if-else.
7//
8// Pins:
9// D13 -> Button, other leg to 5V
10// D13 -> 10k resistor to GND (pull-down)
11// D7 -> LED (with a 330 ohm resistor)
12
13void setup() {
14 pinMode(13, INPUT); // Button input (external pull-down)
15 pinMode(7, OUTPUT); // LED output
16}
17
18void loop() {
19 if (digitalRead(13) == HIGH) { // Is the button pressed?
20 digitalWrite(7, HIGH); // Pressed: LED on
21 } else {
22 digitalWrite(7, LOW); // Released: LED off
23 }
24}
25
Perguntas frequentes
Para que serve o resistor de 10 kΩ?▾
É um resistor pull-down: ele mantém o pino em GND quando o botão não está pressionado, garantindo uma leitura LOW estável. Sem esse resistor, o pino ficaria flutuante e leria HIGH ou LOW aleatoriamente, fazendo o LED piscar sozinho.
Posso conectar um botão sem usar resistor?▾
Sim, usar `pinMode(pin, INPUT_PULLUP)` ativa o resistor pull-up interno do Arduino. Nesse caso, o botão é conectado entre o pino e GND, e a lógica se inverte: a leitura é LOW ao pressionar e HIGH ao soltar.
Quais pinos do botão devo usar?▾
Nos botões de 4 pinos, dois pinos opostos já estão conectados internamente. Posicione o botão sobre o vão central da protoboard e use os pinos na diagonal; assim, você garante que está escolhendo os pinos corretos.
Qual é a diferença entre "momentâneo" e "liga/desliga"?▾
No modo momentâneo, o LED acende apenas enquanto você mantém o botão pressionado. No modo liga/desliga (toggle), cada toque muda o estado do LED, que continua aceso mesmo depois de você soltar o botão; para isso, é necessária uma variável de estado.
