Algumas partes deste site ainda não estão disponíveis no seu idioma. Estamos trabalhando para corrigir isso e pedimos desculpas por qualquer inconveniente.
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 resistorBotão de pressão sem resistorBotão pressionar com resistorBotã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.
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.
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