0. Introdução ao módulo tutorial Arduino ESP12E NodeMcu ESP8266 e WeMos D1 mini

Nesta aula você encontrará informações sobre os usos básicos do módulo ESP8266 com o conversor CP2102 (NodeMcu) ou CH340 (WeMos) - o módulo wireless baseado na linguagem Lua, que tanto funciona com o IDE Arduino (e todas as instruções nesta aula estarão em Arduino IDE). A cada exercício apresentaremos duas placas - versão do módulo NodeMcu (sempre à esquerda) e WeMos D1 Mini (sempre à direita) - a única diferença está na fiação, a programação Arduino não @3Y7S9 alterada.

As tarefas básicas que vamos resolver em aula incluem:

- Instalação do driver ESP12E NodeMcu (plugin ESP8266 no IDE Arduino - funciona com WeMos D1 mini)
- Função de piscar um LED vermelho de 3 mm com o módulo ESP12E

- Leitura analógica usando um potenciômetro linear de 10 kΩ

- controle do servo motor SG90 9g por módulo

- Criação de um servidor web com o módulo ESP12E e um LED vermelho de 3mm

Componentes necessários:

I. Como instalar o driver NodeMcu (plugin ESP8266 no IDE Arduino - funciona com o WeMos D1 mini)

Precisamos baixar o pluggin ESP8266 para poder programar nosso módulo de desenvolvimento ESP12E Wireless NodeMcu Lua CP2102 WiFi por meio da interface Arduino .
Primeiro no IDE Arduino clique em Arquivo / Preferências da seguinte maneira:

Imagem% 2B1.jpg


Na janela de preferências, preencha o campo Gerenciador de URLs de cartão adicionais, colocando o seguinte endereço da web:

http: // arduino .esp8266.com / stable / package_esp8266com_index.json

Valide com o botão OK para sair da tela mantendo as alterações.


Imagem% 2B2.jpg
Em seguida, no IDE Arduino clique em Tools / Board / Card Manager :


Imagem% 2B3.jpg
A seguinte janela se abre e com ela poderemos baixar o Pacote associado ao módulo wireless ESP12E:

Imagem% 2B4.jpg
Na barra de pesquisa digite ESP8266 e clique na resposta e, por fim, escolha instalar para iniciar a instalação do pacote:



Imagem% 2B5.jpg

Depois de instalar o Pacote, selecione no IDE Arduino em Ferramentas / Placa a placa NodeMCU 1.0 (Módulo ESP-12E) que você vai programar e a porta serial associada.
Imagem% 2B6.jpg

II. Como conectar o Arduino ESP12E NodeMcu ESP8266 e o mini módulo WeMos D1 ao computador

Basta conectar o cabo USB para micro USB na placa de desenvolvimento de um lado e o computador do outro para começar e programar.
A pinagem GPIO no NodeMCU da placa de desenvolvimento ESP12E é a seguinte:


Distribuição% 25C3% 25B3n% 2Bde% 2Bpines% 2BESP12E.png

III. Como conectar um LED com Arduino ESP12E NodeMcu ESP8266 e mini módulo WeMos D1

Usando a placa protótipo MB-102 sem solda, execute a seguinte fiação:
Fiação% 2Bm% 25C3% 25B3dulo% 2BESP12E% 2Bcon% 2BLED.jpg9_next_WEMOS.jpg
Vamos implementar um primeiro programa que consiste em piscar um LED através do módulo WiFi ESP12E.
Em um novo arquivo, vamos escrever o seguinte programa na interface do programa Arduino .
Imagem% 2B7.jpg
Depois de copiar o código para a interface, clique em Programa / Verificar / Compilar .
Imagem% 2B8.jpg
Abaixo de sua tela na interface Arduino , há uma área de mensagem do compilador na qual você pode ver se o código foi bem escrito ou se contém erros.


Se o código for compilado com sucesso, a seguinte mensagem aparecerá:




Imagem% 2B9.jpg


Uma vez compilado, carregue o programa no microcontrolador ATMEGA328P-PU do módulo Uno R3, clicando em Programa / Upload.


Imagem% 2B10.jpg
O LED começa a piscar, permanecendo aceso por 1s e apagado por 1s conforme programamos.

Clique para baixar o programa Arduino .


IV. Como programar o Arduino ESP12E NodeMcu ESP8266 e o mini módulo WeMos D1 para ler valores do potenciômetro analógico

O processador ESP8266 integrado no módulo ESP12E possui uma única entrada analógica trabalhando de forma idêntica à do módulo UNO com uma resolução de 10 bits, mas sua voltagem de referência interna é de 1V.
Na estrutura interna do processador, a entrada A0 possui um divisor de tensão para adaptar a faixa de até 3,3V.
Usando a placa protótipo MB-102 sem solda, execute a seguinte fiação:
Fiação% 2Bm% 25C3% 25B3dulo% 2BESP12E% 2Bcon% 2BADC.jpg14_next_WEMOS.jpg

Em um novo arquivo, vamos escrever o seguinte programa na interface do programa Arduino .

Imagem% 2B11.jpg



Depois de copiar o código para a interface, clique em Programa / Verificar / Compilar .


Imagem% 2B12.jpg
Abaixo de sua tela na interface Arduino , há uma área de mensagem do compilador na qual você pode ver se o código foi bem escrito ou se contém erros.


Se o código for compilado com sucesso, a seguinte mensagem aparecerá:


Imagem% 2B13.jpg


Uma vez compilado, carregue o programa no microcontrolador ATMEGA328P-PU do módulo Uno R3, clicando em Programa / Upload .


Imagem% 2B14.jpg
Descubra a operação do conversor analógico / digital abrindo o Arduino serial de interface @5I4Q5 e girando o potenciômetro para ver se a tensão está mudando.

Imagem% 2B15.jpg

Para obter um resultado ótimo e poder observar todos os valores convertidos, é importante definir com precisão o valor da variável de tensão flutuante em nosso programa.

É um conversor de 10 bits, portanto, existem 1024 valores digitais, dando a equação da tensão flutuante variável = valor do sensor * (3,3 / 1023,0).

V. Como conectar e controlar o motor com o Arduino ESP12E NodeMcu ESP8266 e mini módulo WeMos D1

Todos os pinos GPIO do processador ESP8266 integrado no módulo ESP12E têm saídas PWM, sua resolução é de 10 bits, embora a do Arduino seja de 8 bits.
Você também pode modificar a frequência PWM, por padrão é 1kHz.
Usando a placa protótipo MB-102 sem solda, execute a seguinte fiação:

Fiação% 2Bm% 25C3% 25B3dulo% 2BESP12E% 2Bcon% 2Bservo% 2B9g.jpg20_next_WEMOS.jpg

Em um novo arquivo, vamos escrever o seguinte programa na interface do programa Arduino .


Imagem% 2B16.jpg
Depois de copiar o código para a interface, clique em Programa / Verificar / Compilar .
Imagem% 2B17.jpg


Abaixo de sua tela na interface Arduino , há uma área de mensagem do compilador na qual você pode ver se o código foi bem escrito ou se contém erros.

Se o código for compilado com sucesso, a seguinte mensagem aparecerá:

Imagem% 2B18.jpg
Uma vez compilado, carregue o programa no microcontrolador ATMEGA328P-PU do módulo Uno R3, clicando em Programa / Upload .
Imagem% 2B19.jpg
Propomos outro código que permite fazer rotações de 180º, aumentando e diminuindo um ângulo variável:


Imagem% 2B20.jpg

Clique para baixar o programa Arduino .


SERRA. Crie um servidor web com o módulo ESP12E
O objetivo desta parte é aprender como conectar o módulo ESP12E à sua própria rede WiFi no seu modem e permitir que você tenha uma conexão com a Internet.
Para que os testes funcionem, é essencial ter o nome SSID da sua rede, bem como a senha WiFi associada, então observe a etiqueta anexada ao seu modem que indica esses dados.
Nosso servidor da web conectará o módulo ESP12E a um determinado endereço IP que nos indicará e criará uma página da web com dois botões LED ON e LED OFF permitindo ligar e desligar um LED conectado ao nosso módulo da seguinte maneira:
Fiação% 2Bm% 25C3% 25B3dulo% 2BESP12E% 2Bcon% 2BLED.jpg
Em um novo arquivo, vamos escrever o seguinte programa na interface do programa Arduino .


Imagem% 2B21.jpg


Imagem% 2B22.jpg
Depois de copiar o código para a interface, clique em Programa / Verificar / Compilar .

Imagem% 2B23.jpg
Abaixo de sua tela na interface Arduino , há uma área de mensagem do compilador na qual você pode ver se o código foi bem escrito ou se contém erros.

Se o código for compilado com sucesso, a seguinte mensagem aparecerá:

Imagem% 2B24.jpg
Uma vez compilado, carregue o programa no microcontrolador ATMEGA328P-PU do módulo Uno R3, clicando em Programa / Upload .

Imagem% 2B25.jpg
Abra imediatamente o monitor serial para ter tempo de ver o endereço IP atribuído pelo seu modem ao módulo ESP12E aparecer.


Caso não veja nenhum parâmetro de conexão enviado pelo nosso programa aparecer, aumente o valor condicionando a variável i no momento (i <10).


Você deve ver o seguinte aparecer no monitor serial:


Imagem% 2B26.jpg


Abra uma página da web e na barra http de seu navegador digite o endereço IP indicado pelo programa em seu monitor serial. É muito provável que seja diferente do nosso, no nosso caso é 192.168.0.101 .

O seguinte deve aparecer na página da web:

Imagem% 2B27.jpg

Agora, pressionando o botão LED ON o LED deve acender e pressionando o botão LED OFF o LED deve desligar.


As ações solicitadas com os botões ON e OFF no site são afetadas pelo monitor serial:




Imagem% 2B28.jpg

Clique para baixar o programa Arduino .