Piscando Led com nodeMCU


Olá, hoje me chegou mais uma plaquinha, a nodeMCU devkit 1.0, que basicamente é uma placa com um ESP8266, porém facilita sua programação por fornecer uma entrada USB.

    Então o que melhor para familiarizar com a placa do que um blink led? Então vamos de mão na massa. Aahh sim, eu não utilizo a IDE do Arduino, e sim o Visual Code Studio para desenvolver meus códigos, então da mesma forma irei aproveitar para testar os recursos desta IDE para essa ferramente.



    Uma breve pesquisada eu descobri que o termo nodeMCU se refere ao firmware da placa, enquanto o devkit 1.0 é referencia a placa propriamente dita.

    O ESP-12E é o cara da vez, é uma placa criada pela AI-THINKER, e dentro da capa de metal tem um ESP8266X. Essa capa protege contra ruídos e é aterrada. Confesso que durante muito tempo não dei muita importância para esse cara ai da foto, mas acho que apartir de hoje meus olhos irão se abrir para infinitas possibilidades que ele vai me proporcionar.

ESP-12E

    Esse controlador foi desenvolvido pela Espressif, possui wifi integrado e baixo consumo de energia. Além de um processador RISC Tensilica L 106 32bit com clock máximo de 160MHz, é bastante coisa para um cara desse tamanho.

                              

PINAGEM     

    Como o ESP-12E e o nodeMCU não são as mesmas coisas suas pinagens também divergem, quando fui programar foi um pouco confuso pois não sabia se utilizado os pinos do ESP-12E ou do nodeMCU, porém pode ser utilizado os números que estão na frente da GPIO (GPIO1 usar o “1”) ou as constantes D0,D1,D2, e etc. No exemplo aqui eu utilizei tanto 0 (GPIO0) e D3.

 

MONTAGEM

    Quanto a montagem não existe nenhum segredo, consiste apenas em alimentar a placa com um cabo USB e conectar um led ao pino D3 da placa, no exemplo ai eu utilizei um resistor de 220 Ohms para aterrar o led. Porém na minha protoboard eu não coloquei resistor, uma vez que a tensão de alimentação é bem baixa, de 3.3V. OS: no fritzing não tem a nodeMCU, então utilizei outra placa, a Wemos, porém a ligação é a mesma.



     mais legal de tudo, é que descobri que nem é preciso pagar pelo Fritzing quando se faz o cadastro no site.

CÓDIGO

    O código também ficou bastante simples, a única confusão que pode ser gerada é a nomeação dos pinos, mas disso já tratei anteriormente, também não é complicado. Como disse anteriormente eu gosto de utilizar o Visual Code Studio, deixa o código com uma cara mais profissional, e claro, ajuda bastante na otimização do mesmo, além de ganhar tempo no desenvolvimento.

 

    Da pra ver que é o mesmo código que seria usado em um Arduino, essa IDE já tem plugins para a nodeMCU, o que facilita bastante, porém, alguns pinos não são compatíveis com algumas funções do Arduino, e isso se dá devido as funções que esse pino exerce, como SPI por exemplo.

    Então é isso, minha referência foi o site do professor Fernando K, e vou deixar o link da página desse gênio para futuras consultas.

//Blink Led V1.0
//Autor: Guilherme Lopes
//Data: 16/10/2020

#include <Arduino.h>

#define LED_RED D2 //definir o pino D3 como LED_RED - pode utilizar D3 ou 0 (GPIO0)

void setup() 
{
  pinMode(LED_RED, OUTPUT); //LED_RED setado como saída digital
  digitalWrite(LED_RED, LOW); //LED_RED setado como nível lógico baixo
}

void loop() 
{
  //aqui o led ficará ligado por 1 segundo e em seguida irá apagar e assim se manter por mais um segundo
 digitalWrite(LED_RED, HIGH);
 delay(1000);
 digitalWrite(LED_RED, LOW);
 delay(1000);
}

Referências

K, F. (16 de Outubro de 2020). NodeMCU ESP8266: Detalhes e Pinagem. Fonte: Fernando K Tecnologia - Tutoriais, Tecnologia, Tendências: https://www.fernandok.com/2018/05/nodemcu-esp8266-detalhes-e-pinagem.html

 SITE AQUI


Comentários