Conhecendo e programando o ESP8266 com a IDE do Arduino

Ao desenvolver projetos onde a necessidade de uma comunicação sem fio para transmissão e recepção de dados é extremamente relevante, o uso de placas Arduino mais simples geram uma dificuldade maior no projeto, uma vez que será necessária a adição de módulos extras para a comunicação sem fio. Agora imagine que exista um microcontrolador que por um preço um pouco maior que o de um Arduino, é capaz de te fornecer uma interface WiFi nativa, e além disso possui uma  maior quantidade de espaço para armazenar os seus programas ? Essa é a proposta do esp8266, um microcontrolador de baixo custo, já com interface WiFi nativa.

Seu uso vem se tornando cada vez mais difundido na construção de equipamentos voltados para a internet das coisas (IoT), uma vez que seu baixo custo e robustez permite a criação de projetos complexos, sem perder a praticidade de utilizar o mesmo ambiente de desenvolvimento das placas Arduino. Com base nisso, neste tutorial iremos aprender a como configurar o ambiente de programação com a IDE do Arduino para essa placa, e também iremos executar um exemplo básico para demonstrar o seu funcionamento. Porém antes iremos conhecer um pouco sobre sua configuração e módulos existentes.

 

Familia ESP8266

Começando o primeiro módulo da familia esp8266, o ESP-01 surgiu como um módulo a ser acoplado ao Arduino possibilitando assim com que o sistema fosse capaz de se conectar a internet. Porém, devido ao fato dele possuir um processador melhor, uma quantidade muito maior de memória RAM e além disso o WiFi nativo, ele passou rápidamente de um simples módulo, para ser usado diretamente com sensores e atuadores, dispensando assim o uso do Arduino. Entretanto, devido a pouca quantidade de pinos que a versão ESP-01 possui, seu uso acabou se restringindo a pequenos projetos.

Módulo ESP-01

Com isso, e com o aumento na popularidade do esp8266 novas versões foram surgindo no mercado, possibilitando com que projetos de maior complexidade pudessem ser projetados por desenvolvedores. Uma dessas plataformas que surgiram e que são constantemente utilizadas por projetistas e desenvolvedores no geral, é o NodeMCU, que consiste basicamente em um esp8266 com todos os seus GPIOs disponíveis para uso, e além disso todos os outros componentes necessários para gravação de código, reguladores de tensão e divisores de tensão para o circuito ADC interno. Permitindo que seja possível programar o microcontrolador apenas plugando o cabo usb.

 

NodeMCU

Montagem do projeto

Para montagem deste projeto, iremos utilizar basicamente um módulo Wifi esp8266 NodeMCU que irá rodar um programa para piscar o led interno da placa. Porém, para que isso seja possível, iremos preparar a IDE do Arduino para que ela consiga programar o esp8266.

Componentes utilizados:

 

Adicionando o ESP8266 a IDE do Arduino

  1. Abra a IDE do Arduino e selecione a opção Preferências dentro do menu Arquivo como mostra a figura abaixo:

    Opção Preferências
  2. Após selecionar a opção preferências, adicione ao campo  URLs Adicionais Para Gerenciadores de Placas o seginte link: http://arduino.esp8266.com/stable/package_esp8266com_index.json assim como mostra a figura abaixo
  3. Feito isso, clique em ok, e agora selecione a opção Gerenciador Placas, indo até o menu Ferramentas>Placa:””>Gerenciador Placas, como mostra a figura logo abaixo:
  4. Logo após clicar no botão Gerenciador de Placas, você será redirecionado para a tela onde pode incluir e adicionar novas placas para desenvolvimento. Para adicionar os arquivos necessários para o esp8266 basta você digitar no campo de busca esp8266 e realizar o download do pacote como mostra a figura abaixo:
  5. Feito o download, reinicie a IDE e selecione a placa  indo até a opção Ferramentas > Placa e marque a opção NodeMCU 1.0(ESP-12E Módule) .
  6. Após selecionar a placa como mostra a figura acima, configure a porta a ser utilizada pela IDE do Arduino para programar o microcontrolador.  Como estou utiizando o linux, a porta utilizada será a /dev/tty/USB0, já no windows a porta possívelmente terá o nome COM seguida por um número.
  7. Feito, isso a sua ide já está pronta para carregar códigos para o esp8266 :D.

Desenvolvimento do código

Agora que configuramos o ambiente de desenvolvimento, iremos rodar um exemplo para ver se tudo deu certo. O exemplo neste caso será o blink logo abaixo:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

Veja só o blink rodando em nosso NodeMCU 🙂

 

Hardware

esp8266

O ESP8266, consiste em um SoC ou (System on Chip) com as seguintes especificações

  • Processador: Tensilica’s L106 Diamond series 32-bit com clock de 80 Mhz ( permite overclock para até  160 Mhz)
  • WiFi: 802.11 b/g/n (HT20)
  • Memória Ram: 64 kB
  • Conexões: SPI, I2C, UART, I2S, SDIO
  • Tensão de funcionamento: 3 Volts

Curiosidade

Diferente de outros microcontroladores que já possuem em seu projeto uma memória voltada para o armazenamento dos programas a serem executados. O esp8266 necessita que uma memória flash seja acoplada para que assim ele seja capaz de executar os programas desenvolvidos.

Sobre Danilo Almeida 5 artigos
Bacharel em Ciência da computação, pela Universidade Federal de Viçosa - Campus Florestal, e atualmente mestrando em Ciência da computação na área de arquitetura de computadores, é um entusiasta na área de sistemas embarcados e robótica, buscando sempre aprimorar e compartilhar o conhecimento obtido através de bastante estudo e noites sem dormir :) .

1 Trackback / Pingback

  1. Automação residencial com ESP8266 e Alexa - Blog Arduino Ômega

Deixe uma resposta

O seu endereço de email não será publicado.


*