FVM Learning

Nosso maior compromisso é compartilhar conhecimentos, somos simples, mas não simplórios, astuto, mas não pacóvio, nos posicionamos empenhados em mostrar o caminho para desmistificação do opróbrio em legítima defesa do conhecimento compartilhado. Eng. Jemerson Marques!

sexta-feira, 18 de outubro de 2019

Como utilizar o Botão Flash do NodeMCU ESP8266

Fig. 1 - Utilizando Botão Flash com NodeMCU

Olá a Todos!

Sabe aquele momento em que uma ótima ideia de repente veio em nossa mente, e dizemos, caramba😲! Vou testar 😃😃😃!

Só em pensarmos no trabalho que temos de colocar o NodeMCU em uma Protoboard, conectar os rabichos, fazer as conexões da chave tipo botão, conectar o Led, para testar a ideia que veio à cabeça.

É, muitas vezes deixamos para depois por falta de coragem mesmo, daí, terminamos por esquecer aquela boa e repentina ideia que nos sobreveio… 😞😞😞! 

No Post de hoje, aprenderemos a fazer um simples código no programa do NodeMCU ESP8266 utilizando a IDE Arduíno para podermos utilizar o botão que tem embarcado na placa do NodeMCU como mostrado na Figura 1 acima.

Pois imagine você que, para realizar um simples teste com um botão e um Led, precisaríamos de 4 rabichos, uma protoboard um Led e uma chave, um pequeno teste necessitaria de 8 componentes, como mostrado na Figura 2 abaixo.

Fig. 2 -  Utilizando o Botão Flash do NodeMCU ESP8266

A princípio o que precisamos saber é em qual porta está definida o botão Flash do NodeMCU, como fazemos com o led embarcado no módulo NodeMCU.

Seguindo o datasheet do próprio NodeMCU, vemos que a Botão Flash está conectado a GPIO0. De posse desse conhecimento, podemos definir no sketch do programa a atribuição da porta D3, que é associado a GPIO0.

Como podemos conferir no exemplo do código abaixo, definimos o BUTTON na porta D3, e da mesma forma, setamos o Led do próprio módulo NodeMCU, e chamamos de LedBoard, você pode utilizar qualquer tipo de nome para ele.

//------------------------------------------------------------------------------------
// Defining I/O Pins
//------------------------------------------------------------------------------------
#define       LedBoard   2                             // WIFI Module LED
#define       BUTTON     D3                            // NodeMCU Button

Logo abaixo temos o código completo, que é bastante simples só para seguirmos de exemplo, você pode acrescentar, alterar e utilizar em seu projeto sem problemas algum.

//==================================================================================//
// How to use NodeMCU ESP8266 Flash Button                                          //
// Created by: Engineer Jemerson Marques, On: 18.10.2019 - FVM Learning website     //
// Available at: https://www.fvml.com.br                                            //
//----------------------------------------------------------------------------------//

//------------------------------------------------------------------------------------
// Defining I/O Pins
//------------------------------------------------------------------------------------
#define       LedBoard   2                             // WIFI Module LED
#define       BUTTON     D3                            // NodeMCU Button

//====================================================================================
void setup() {
  Serial.begin(115200);                                // only for debug
  Serial.println("");                                  // only for debug
  pinMode(LedBoard, OUTPUT);                           // Initiate the Onboard Led Output
  pinMode(BUTTON, INPUT_PULLUP);                       // Initiate the ESP Pin: INPUT_PULLUP - Its mean that you no need put a resistor
  digitalWrite(LedBoard, HIGH);                        // Initiate the Onboard Off
  Serial.println("ESP Inicializado com sucesso");      // only for debug
}

void loop() {                 
  if(digitalRead(BUTTON) == LOW){
    digitalWrite(LedBoard, !digitalRead(LedBoard));
    delay(300);
    Serial.println("Botão Pressionado");
  }
}


E por hoje é só, espero que tenham gostado!

Qualquer dúvida, digita nos comentários que logos estaremos respondendo.

Se inscreva no nosso Blog! Clique aqui — FVM Learning!

Forte abraço.

Deus vos Abençoe!
Shalom!

Nenhum comentário:

Postar um comentário