Tutorial ESP32 9/55 - Usando o botão para alternar o LED, Pressionar LIGAR, Pressionar DESLIGAR - Kit IoT SunFounder ESP32

Tutorial ESP32 9/55 - Usando o botão para alternar o LED, Pressionar LIGAR, Pressionar DESLIGAR - Kit IoT SunFounder ESP32

Neste tutorial, iremos aprender como usar um botão de pressão para alternar um LED ligado e desligado com um microcontrolador ESP32. O projeto demonstrará como ler o estado do botão de pressão e controlar o LED de acordo. Quando o botão é pressionado, o LED acende, e ao ser solto, apaga. Este é um conceito fundamental para muitos projetos interativos usando o ESP32.

O ESP32 é um microcontrolador poderoso com capacidades de Wi-Fi e Bluetooth integradas, tornando-o adequado para várias aplicações de IoT. Nesta lição, usaremos o ESP32 do Kit de Início SunFounder ESP32, que inclui componentes essenciais como resistores e LEDs, para criar um circuito simples. Para uma explicação detalhada da fiação e do código, consulte o vídeo (no vídeo às 00:00).

Hardware Explicado

Os componentes principais deste projeto incluem o microcontrolador ESP32, um botão de pressão, um LED e resistores. O ESP32 atua como o cérebro do projeto, controlando o LED com base no estado do botão de pressão. O botão de pressão permite que os usuários interajam com o circuito, enquanto o LED fornece feedback visual quando o botão é pressionado.

O botão de pressão funciona fechando o circuito quando pressionado, permitindo que a corrente flua. Essa ação envia um sinal ALTO para o pino de entrada designado do ESP32, que pode então ser lido no código. O resistor conectado ao botão garante que o pino tenha um estado definido quando o botão não está pressionado, prevenindo comportamentos erráticos.

Botão de pressão com resistor

Instruções de Fiação

Para ligar o circuito, comece conectando o pino mais longo do LED (ânodo) a um resistor de 220 ohms. Conecte a outra extremidade do resistor ao pino GPIO 26 no ESP32. O pino mais curto do LED (cátodo) deve ser conectado ao terra. Em seguida, pegue o botão e conecte um lado à fonte de alimentação de 3,3V na placa. O outro lado do botão conecta-se ao pino GPIO 14.

Pressione o botão sem resistor
Botão de pressão sem resistor
Botão pressionar com resistor
Botão de pressão com resistor

Além disso, coloque um resistor de 10k-ohms do pino GPIO 14 ao terra para garantir que o pino leia LOW quando o botão não estiver pressionado. Por fim, conecte o fio de terra do ESP32 ao terra comum da placa de protótipo. Essa configuração permitirá que o ESP32 leia o estado do botão e controle o LED de acordo.

Exemplos de Código e Passo a Passo

O núcleo do programa começa definindo os números dos pinos para o botão e o LED usando constantes. Isso garante que as atribuições dos pinos permaneçam inalteradas durante a execução do programa.

// set pin numbers
const int buttonPin = 14;  // Button pin
const int ledPin = 26;     // LED pin

No textosetup()função, inicializamos o monitor serial e definimos o pino do botão como uma entrada enquanto configuramos o pino do LED como uma saída. Isso prepara o ESP32 para ler o botão e controlar o LED.

void setup() {
  Serial.begin(115200);
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

Dentro doloop()a função, o programa lê continuamente o estado do botão e o imprime no monitor serial. Se o botão for pressionado, o LED é aceso; caso contrário, é apagado. Essa lógica é essencial para alternar o LED com base no estado do botão.

void loop() {
  buttonState = digitalRead(buttonPin);
  Serial.println(buttonState);
  delay(100);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

Essa funcionalidade básica permite que o LED responda diretamente ao botão de pressão. Para mais detalhes sobre o projeto e o código completo, consulte o vídeo fornecido (no vídeo às 14:00).

Demonstração / O que Esperar

Uma vez que a fiação está completa e o código está carregado, pressionar o botão deve acender o LED, e soltá-lo desligará o LED. Esse comportamento confirma que o estado do botão está sendo lido corretamente. Se o LED não responder como esperado, verifique a fiação e assegure-se de que o botão está funcionando corretamente.

Durante os testes, certifique-se de observar o monitor serial para as leituras do estado do botão. Você deve ver um '1' quando o botão estiver pressionado e um '0' quando for solto. Se as leituras fluctuarem inesperadamente, isso pode indicar um problema de fiação ou a necessidade de uma lógica adicional de debouncing no código.

Marcadores de vídeo

  • 00:00 Início
  • 1:48 Introdução do projeto
  • 3:10 Explicação do botão de troca e pressão
  • 7:19 Fiação explicada
  • 12:25 Explicação do código Arduino para botão pressionado
  • 15:56 Selecionando a placa ESP32 e a porta COM
  • 17:38 Demonstração do projeto
  • 18:33 Projeto-2 Alternando e LED
  • 19:09 Código Arduino para acender LED
  • 21:16 Demonstração de alternância de um LED

Imagens

Push button with resistor
Push button with resistor
Push button with resistor
Push button with resistor
Push button without resistor
Push button without resistor
Push button without resistor
Push button without resistor
Push button with resistor
Push button with resistor
808-ESP32 Tutorial 9/55 - Arduino code push button
Idioma: C++
Copiado!

Recursos e referências

Ainda não há recursos.

Arquivos📁

Nenhum arquivo disponível.