Recents in Beach


Receba o meu conteúdo GRATUITAMENTE


Arduino Mega com WiFi Embutido ESP8266



No texto de hoje falamos de um Arduino que considero muito especial, pois ele tem um ESP8266 embutido na placa. Veja: ele não tem o ESP12 soldado na placa, mas, sim, o chip da Espressif. Então, na placa você tem embutido o chip da Tensilica com memória de 4MB junto com o ATmega2560, que é o Arduino Mega tradicional.


Hoje, então, vamos explicar como funciona esse arduino e vamos fazer uma montagem que mostra quando você deve selecionar o ESP ou o Mega para realizar uma automação residencial. Acendemos e apagamos lâmpadas, mecanismo que pode ser útil para você fazer outras melhorias na sua casa.


Características físicas da placa


Uma coisa que gostei muito é que esse arduino tem conector Pigtail para antena. Por que isso é bom? Se você conectar uma antena neste dispositivo você terá um ganho enorme, pois ele vai aumentar seu alcance, em linha reta, de 90 metros para 240 metros de distância. Cheguei a essa conclusão após um teste que fiz, isso para não ter que ficar confiando somente no manual do datasheet.
Essa placa também tem uma chave seletora que permite que o ESP intercale a conexão entre o TX0 e o TX3, lembrando que o ATmega tem quatro seriais. Uma segunda chave seletora se trata do DIP Switch e, temos ainda uma chave modo de gravação do ESP8266. Toda a pinagem é exatamente compatível com a pinagem do ATmega.

Acesso aos pinos do ESP8266

Aqui eu mostro a parte traseira da placa onde tem uma tabelinha com os acessos aos pinos do ESP.


Comparando os dois Arduinos


Aqui temos uma comparação entre o arduino mega com o ESP integrado (Arduino Mega RobotDyn) e o arduino mega tradicional (Arduino Mega 2560). Podemos perceber que eles são semelhantes, mas no 2560 temos a USB de impressora, ou seja, conector grande, enquanto no RobotDyn temos o mini-USB. Particularmente, gosto do mais compacto. A alimentação é igual.
Podemos perceber, então, que a intenção dos criadores do RobotDyn foi manter a arquitetura do ATmega.


Conforme vemos na tabela acima, o ATmega tem 32MB de memória, sem contar a memória do ESP. Isso é maravilhoso, já que o arduino mega tradicional tem apenas 256kb de memória. A alimentação no RobotDyn é de 7 a 12 volts e o ESP8266 já é alimentado, já tem redutor de tensão. Portanto, alimentando o arduino já está alimentando o ESP, já baixa para 3v3, sendo que internamente esse microcontrolador já é 3v3.
Os processadores são os mesmos, de 16MHz, e grande vantagens desses modelos é em relação a elevada quantidade de IOs.  

Switch status and mode selection

Temos aqui o DIP Switch e uma tabela com várias posições, que auxiliam nas conexões conforme o objetivo buscado. Um detalhe que você precisa prestar atenção é que, se você for gravar Flash no ESP tem que estar atento aos endereços que são um pouco diferentes.


Na imagem abaixo demos um zoom na chave que muda a porta serial do Arduino mega que se conecta ao ESP e também na chave Mode que devemos pressionar para gravar o ESP8266.


Instalação Firmware AT

Caso queira utilizar o ESP8266 em modo AT, faça o download do arquivo disponível o PDF. Agora você deve configurar a placa de modo que o ESP8266 fique conectado à USB e em modo de gravação. Para isso coloque os switches 5, 6 e 7 em ON (esquerda) e todos os outros em OFF (direita).


Caso queira utilizar o ESP8266 em modo AT, você deverá configurar o Flash Download Tool da seguinte maneira:
SPI Speed = 80MHz
SPI Mode = DIO
Flash Size = 32Mbit     4mb bytes x 8 bits=32m bits
Crystal Freq = 26M
Arquivo \bin\esp_init_data_default.bin no endereço 0x3fc000
Arquivo \bin\blank.bin no endereço 0x37e000
Arquivo \bin\boot_v1.4(b1).bin no endereço 0x00000
Arquivo \bin\at\512+512\user1.1024.new.2.bin no endereço 0x1000

Verificando Firmware AT

Nesta parte utilizei a esptool.exe, que é uma ferramenta de comando que acessa a Flash do ESP8266 e verifica algumas configurações, como, por exemplo, o tipo do chip e tamanho da memória.


Exemplo

Neste exemplo mostramos os endereços hexadecimais que utilizamos para gravar no Flash Download Tool.


Ainda, para quem não tem muita intimidade com o ESP8266 eu indico dois vídeos que fiz: Gravando no ESP01 e Introdução ao ESP8266.

Configurar Ambiente Arduino IDE

Para gravar o arduino não há mistério nenhum. Basta você configura a placa do Arduino mega 2560 como se fosse um Arduino tradicional.


Arduino Mega com relés usando Esp8266 placa separada

Temos aqui o esquema da montagem que faço no vídeo. Conectamos o Arduino Mega ao ESP01 e controlei dois relés por um aplicativo.


Arduino Mega com Esp8266 Embutido


Aqui fazemos a mesma coisa citada acima, mas usando o Arduino Mega com ESP integrado. Um dica é que você assista o vídeo Automação Residencial com Arduino Mega e ESP8266 para entender melhor o que estou falando.




Arquivos para download:




 DICA:
Não sabe onde adquirir seu Arduino Mega 2560 com WiFi embutido? 
Indico como parceiro a ARDUO ELETRO.

Postar um comentário

20 Comentários

  1. Sou iniciante, a primeira placa que comprei foi uma dessas por conta de seu video no youtube, mas até o momento só sei usar o modo arduino.

    Seria interessante criar uma video aula montando algum projeto com esta placa, mostrar passo a passo desde quando configurar esta placa, fazer upload tanto no modo ATmega quanto ao modo ESP, e fazer a comunicação ESP X Arduino e vice-versa.

    ResponderExcluir
    Respostas
    1. positivo, esse seria um vídeo ideal, pois nesse tutorial não tem informações completas

      Excluir
    2. Comprei uma dessa só por causa desse tutorial, seria legal ver uns projetos com ela, mas só de ver a estrutura da placa já gostei muito dela.

      Excluir
    3. Fato, da pra fazer coisas bem interessantes

      Excluir
    4. Se verem meus comentários abaixo, expliquei a situação e o avanço com essa falta de um vídeo tutorial mais detalhado.
      Até a resolução do problema e finalmente chegando ao resultado funcional.
      Resumindo consegui.

      Excluir
  2. OLa adquiri uma placa igual
    mas estou usando o blink para controlar
    e tendo poblemas para configurar u modulo esp8266
    teria bcomo me ajudar?

    ResponderExcluir
  3. BOA NOITE TAMBÉM ADQUIRIR UM ARDUINO MEGA WIFI MAS NÃO ESTOU CONSEGUINDO ACERTAR A CONFIGURAÇÃO NO IDE E TAMBEM VOU USAR COM O BLYNK
    NÃO TENHO IDEIA COMO CONFIGURAR...

    ResponderExcluir
  4. Estou com uma dúvida, eu tenho um projeto em que uso um NodeMCU8266 para se conectar com o wifi, e também um arruíno mega que recebe informações via ic2 do esp8266 para movimentar um motor de passo. Minha dúvida e com esse Arduino mega da RobotDyn como farei a programação: fica tudo no arduino mega ou terei ainda de usar comunicao ic2 entre os dois chips.

    ResponderExcluir
  5. Tenho um wemos mega também e não consigo conectar com Wi-Fi, e estou vendo que todos estão com o mesmo problema, os tutorias sobre esse tipo de placa são muito vago e sem uma explicação precisa, muito xato isso

    ResponderExcluir
  6. ola pode me ajudar com este erro. A placa é nova. O drive da COM3 está OK, instalei o CH341, selecionado o tipo de placa correto e na hora de compilar da essa mensagem:

    avrdude: Version 6.3-20171130
    Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
    Copyright (c) 2007-2014 Joerg Wunsch

    System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

    Using Port : COM3
    Using Programmer : wiring
    Overriding Baud Rate : 115200
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_getsync(): timeout communicating with programmer

    avrdude done. Thank you.

    Ocorreu um erro enquanto o sketch era carregado


    ResponderExcluir
  7. Comprei um arduino igual porém, não estou conseguindo configurar o ESP. Poderia gravar ou vídeo por favor? Desde já agradeço

    ResponderExcluir
  8. Olá Fernando!
    percebi que vc elogiou bastante o Microcontrolador, mais não explicou como funciona na pratica, uma ação simples, como por exemplo acionar uma saída usando Arduino Mega com WiFi Embutido ESP8266.
    Quero te agradecer pelo empenho, mais com as informações contidas neste bloog não conseguimos sincronizar o atmega2560 com o ESP8266.
    Perguntas:
    Como integrar esse microcontrolador MEGA com 8266?
    Quando e como utilizar o botão MODE?
    É nescessário usar os pinos do ESP8266? se sim como?

    ResponderExcluir
  9. Como proceder configurar o dip switch para enviar os comandos AT?

    ResponderExcluir
  10. boa tarde, gostaria de saber como faço para obter os codigos desse projeto.

    ResponderExcluir
  11. Boa tarde, estou conseguindo usar o arduíno mostrado no tutorial acima, o parte do ESP com o site está funcionando. E os códigos no Arduíno Mega wi-fi também.
    Só estou com dificuldade de adicionar mais botões no site da ativar mais saídas do arduíno.
    Obs: o código usado deve ser diferente do seu.

    ResponderExcluir
    Respostas
    1. Atualizando os status do projeto e as tentativas de add novos botões funcionais no código do site não estão dando resultado.
      Pois já modifiquei todos os locais do vídeo, adicionei novas variáveis, novas funções e nada.
      Se alguém tiver conseguido fazer funcionar de alguma forma responda a esse comentário. Ou me procure no face. Pra trocar idéias.

      Excluir
    2. CONSEGUI RESOLVER !!
      Avisando os leitores antigos e os futuros dessa página abandonada kkk
      Consegui resolver a questão dos novos botões do servidor usando o ESP do Arduino mega, estão funcionando perfeitamente, sem defeitos ou lag.
      Já criei 12 botões de teste todos eles direcionados pro meu site de us pessoal.
      Criei também uma Interface de Controle v1.0 com menus e os botões pra ficar mais apresentável.
      Espero evoluir mais com esse projeto.

      Excluir
    3. Olá Lucas, adquiri uma placa dessas e chegou hoje, tem algum esboço do seu projeto para compartilhar, todas a minhas automações até hoje eram feitas via serial.

      Excluir
  12. Fernando, Já existe o novo firmware do ESP8266. Como fazer para gravar o novo firmware no ESP8266 no WeMos mega2566 com Wifi ESP8266, esta placa que voce mostra e usado como exemplo?

    ResponderExcluir