Primeiros passos com o ESP8266 NodeMCU – Ligando e desligando um led

Em nossos tutoriais anteriores você aprendeu a ler as informações provenientes tanto da porta de entrada analógica existente em nosso módulo ESP8266 NodeMCU quanto das portas de entrada digital presentes na estrutura do mesmo. Neste tutorial, nós vamos dar continuidade aos conteúdos voltados para o ensino dos conceitos básicos necessários para que você consiga começar a utilizar o seu NodeMCU e desenvolver os seus projetos de automação. Aqui, nós realizaremos o  procedimento inverso do que foi feito até aqui, ou seja, aqui você verá como devemos agir para que ao invés de lermos o estado de uma determinada porta, nós possamos atuar sobre ela determinando o nível de tensão que ela deve disponibilizar para que seja possível conectarmos (e manipularmos) um elemento externo na mesma.

Confira aqui o nossos tutoriais para iniciantes no mundo do ESP8266 NodeMCU:

  • O que é ESP8266 – A Família ESP e o NodeMCU 
  • Primeiros passos com o ESP8266 NodeMCU – Lendo um potenciômetro
  • Primeiros passos com o ESP8266 NodeMCU – Lendo o estado de um botão
  • Primeiros passos com o ESP8266 NodeMCU – Utilizando sinais PWM

[toc]

kit robotica educacional com Arduino ESP ou Microbit

Os sinais digitais de tensão

Antes de qualquer coisa, nós devemos ter em mente que quando falamos em acionamentos de dispositivos através das portas de saída digital do nosso módulo ESP8266 NodeMCU estamos falando basicamente na manipulação de dois níveis de tensão definidos, de modo que, o nosso sistema embarcado possa fornece-los em suas portas de saída digital No caso do NodeMCU, estes valores são:

  • 3,3V, correspondente a um nível lógico alto;
  • 0V, correspondente a um nível lógico baixo;

É importante ressaltar que na prática existem faixas de valores próximos a esses números, as quais, o nosso módulo ESP8266 NodeMCU entende como nível alto ou nível baixo. Além disso, existe também uma faixa intermediária não definida que pode gerar resultados inesperados e que, portanto, deve ser evitada.


Mãos à obra – Ligando e desligando um led

Componentes necessários

Montando o projeto

Figura 1 – Hardware utilizado.

Programando

Este é o código que utilizaremos no desenvolvimento deste tutorial

void setup() 
{ 
  pinMode(D1,OUTPUT);
  Serial.begin(115200);
  Serial.println("Estado do led");
}

void loop() 
{ 
   digitalWrite(D1,HIGH);
   Serial.println("Ligado");
   delay(1500);  
   digitalWrite(D1,LOW);
   Serial.println("Desligado");   
   delay(1500);
}

Colocando para funcionar

Após compilarmos o código apresentado, nós teremos este resultado:

Figura 2 – Resultado obtido.

Entendendo a fundo

Software

– Definindo as configurações iniciais

Dentro da função setup() nós vamos primeiramente definir o modo de operação do pino que nós vamos utilizar, de modo que, como nós queremos ligar ou desligar um led, devemos fazer com que o pino em questão seja uma saída digital, desta forma, nós vamos recorrer à função pinMode() para fazermos com que o pino D1 seja a saída digital desejada. Posteriormente, nós iniciaremos a conexão com o Serial Monitor através da função Serial.begin() (passando como parâmetro o valor da taxa de transmissão de dados (como sugestão, utilize este valor)). Além disso, nós vamos utilizar a sentença Serial.println() para escrevermos na tela um título para a nossa aplicação, de modo que, este será “Estado do led”.

void setup() 
{ 
  pinMode(D1,INPUT); 
  Serial.begin(115200); 
  Serial.println("Estado do led"); 
}  

– Ligando e desligando um led

O que nós vamos fazer aqui é algo que pode ser considerado o chamado “Hello World” no mundo da eletrônica. De uma maneira mais específica, nós vamos fazer com que o Led conectado na porta de saída digital D1 fique piscando em intervalos de 1,5 segundo.

Para atingirmos este objetivo, nós iremos necessitar apenas de três funções: a primeira delas será a função digitalWrite(), que por sua vez, será a responsável por disponibilizar o nível de tensão que queremos. Esta função aparecerá duas vezes no nosso código, entretanto, em cada uma destas, o segundo parâmetro presente em sua estrutura será diferente em virtude de em um determinado momento estarmos fazendo com que a porta em questão disponibilize nível alto (para isto utilizamos HIGH) e em outro, nível lógico baixo (neste momento, recorremos ao parâmetro LOW)).

A segunda função utilizada é justamente a função delay() cuja função será exatamente promover o intervalo entre o acionamento e o desligamento do led. Por fim, a terceira sentença que vamos ter em nosso código será a Serial.println(), que por sua vez, terá o propósito de mostrar na tela do Serial Monitor o estado do led, isto é, se ele estará aceso ou apagado.

void loop() 
{ 
   digitalWrite(D1,HIGH);
   Serial.println("Ligado");
   delay(1500);  
   digitalWrite(D1,LOW);
   Serial.println("Desligado");
   delay(1500);
}

 


Considerações finais

Neste tutorial, nós demonstramos como você pode fazer para ligar e desligar um led através de um módulo ESP8266 NodeMCU. Esperamos que continue nos acompanhando e sinta-se à vontade para nos dar sugestões. Lembre-se de deixar suas dúvidas nos comentários abaixo.

Privacy Preference Center