#9Iniciante

Controle de LED com botão (momentâneo)

4.8(113)
229 concluído
Controle de LED com botão (momentâneo)
É como uma campainha: a luz fica acesa enquanto você pressiona o botão e apaga quando você solta. O Arduino monitora o botão continuamente; enquanto ele está pressionado, o LED fica aceso e apaga assim que você tira o dedo. Esse circuito simples mostra como a placa detecta um toque do mundo exterior.

Vídeo

Esquema do circuito

Controle de LED com botão (momentâneo) - Circuit

Código-fonte

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Controle de LED com botão (momentâneo)
4// ─────────────────────────────────────────
5// O LED fica aceso enquanto o botão é mantido pressionado e apaga quando
6// ele é solto (push). Mostra a leitura de um botão com digitalRead e
7// if-else.
8//
9// Pinos:
10//   D13 -> Botão, outra perna em 5V
11//   D13 -> Resistor de 10k para GND (pull-down)
12//   D7  -> LED (com resistor de 330 ohm)
13
14void setup() {
15  pinMode(13, INPUT);    // Entrada do botão (pull-down externo)
16  pinMode(7, OUTPUT);    // Saída do LED
17}
18
19void loop() {
20  if (digitalRead(13) == HIGH) {   // O botão está pressionado?
21    digitalWrite(7, HIGH);         // Pressionado: LED ligado
22  } else {
23    digitalWrite(7, LOW);          // Solto: LED desligado
24  }
25}
26

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.