Recents in Beach


Receba o meu conteúdo GRATUITAMENTE


ESP8266 – Blink led com botão



Hoje vamos montar um programa que, ao pressionar um botão, vamos acender um LED que já vem embutido no nosso WiFi ESP8266 NodeMcu ESP12E. Mais uma vez vamos trabalhar com o ESP8266 e, se você nunca programou uma placa desta, recomendo que você assista ao vídeo: INTRODUÇÃO AO ESP8266, no qual ensino toda configuração deste modelo na IDE do Arduino.




WiFi ESP8266 NodeMcu ESP-12E


Este NodeMCU é um ESP que gosto muito porque tem a entrada USB que possibilita a alimentação automática. Mostro todos os pinos desta placa neste diagrama, mas, neste projeto, vamos conectar o botão especificamente ao pino D1.


Montagem



Código


Setup

Na função setup(), definiremos o modo de comportamento dos pinos que utilizaremos, no caso o LED e o BOTÃO.

void setup() 
{
    // Instrução para colocar o gpio que iremos utilizar como entrada,
    // podemos fazer a leitura nesse pino
    pinMode(D1, INPUT); // D1 é uma constante que indica o pino que ligamos nosso botão

    // Instrução para colocar o gpio que iremos utilizar como saída,
    // podemos alterar seu valor livremente para HIGH ou LOW
    pinMode(LED_BUILTIN, OUTPUT); // LED_BUILTIN é uma constante que indica o LED do ESP8266
} 



Loop

Na função loop(), faremos a lógica para ler o BOTÃO (se está pressionado ou não) e de acordo com o valor do botão, acenderemos ou apagaremos o LED.

void loop() 
{
    // faz a leitura do pino D1 (no nosso caso, o botão está ligado nesse pino)
´   byte valor = digitalRead(D1); 
    // checa se o botão está pressionado
    if(valor == HIGH) {         
       digitalWrite(LED_BUILTIN, LOW);  // Acende o LED   pino  16
    } 
   else {
       digitalWrite(LED_BUILTIN, HIGH);  // Apaga o LED
    }
}




Arquivos para download:



Postar um comentário

6 Comentários

  1. Primeiramente parabéns pelo seu trabalho estou maravilhado.
    verifiquei que o código fonte e o pdf estão com os arquivos da introdução ao esp.

    ResponderExcluir
  2. Amigo,
    Poste sua dúvida no www.forum.fernandok.com.
    Vamos formar uma comunidade e ajudar uns aos outros.

    ResponderExcluir
  3. Teria como fazer uma pulso no botão acender e outros pulso no botão apagar. estou a procura de um web serve com botão de pulso

    ResponderExcluir
  4. Sabe me explicar por que é necessário, colocar o GND e aquele resistor na saída do retorno do botão?

    ResponderExcluir