WLAN no Arduino - conecte o ESP8266-01 ao Arduino e controle o NodeMCU Amica remotamente com seu smartphone
O Arduino é uma das placas de desenvolvedor mais conhecidas. Infelizmente, os modelos padrão não têm um chip Wi-Fi instalado. Esta dica prática mostra como conectar um módulo WLAN ESP8266-01 ao Arduino e como você pode controlar remotamente o NodeMCU Amica com seu smartphone.
Controle o NodeMCU Amica com seu smartphone
O NodeMCU Amica possui uma variedade de pinos, além de um chip Wi-Fi ESP8266 integrado e um soquete microUSB. Portanto, faz sentido usar o dispositivo mais como um dispositivo autônomo. Como conectar uma placa ESP8266 "clássica" ao Arduino é descrito mais adiante neste artigo.
- Para poder programar chips ESP, você deve primeiro baixar e instalar os drivers de todos os chips CP210er da Silicon Labs. Felizmente, isso acontece relativamente rápido.
- Em seguida, abra o IDE do Arduino e vá para Configurações. Adicione o URL "//arduino.esp8266.com/stable/package_esp8266com_index.json" (sem as aspas) aos URLs adicionais de administrador da placa. Em seguida, inicie o administrador da placa, digite "ESP8266" e instale o pacote.
- Acesse também o gerenciador de bibliotecas, digite "Blynk" e instale a versão mais recente. Todos os componentes necessários estão agora instalados.
- Você precisa do aplicativo Blynk para controlar o NodeMCU com seu smartphone. Se ainda não o tiver feito, crie uma nova conta aqui ou faça login com uma existente. Em seguida, crie um novo projeto e selecione o NodeMCU como o quadro.
- Com os códigos de amostra no Arduino IDE, você também deve encontrar um código para o Blynk (→ "Boards_WiFi") no NodeMCU. Basta digitar o token Blynk do seu projeto aqui, que você foi automaticamente enviado por email. Digite também seu SSID e senha.
- Para carregar o código no quadro, é claro que você deve selecioná-lo na guia "Ferramentas". No nosso caso, "NodeMCU 1.0 (módulo ESP12E)" teve que ser selecionado, a frequência 80 MHz, o tamanho da memória "4M (3M SPIFFS)" e a taxa de transmissão 115200. No entanto, observe que as informações podem diferir dependendo do modelo.
- Você pode simplesmente carregar o código no quadro e controlá-lo com o aplicativo Blynk. Aqui você pode criar facilmente widgets diferentes e, por exemplo, controlar um LED com um botão.
Conecte o WiFi no Arduino - ESP8266-01 ao Arduino
Em seguida, queremos conectar e usar o módulo ESP8266-01 com o Arduino.
- Se você girar a placa para que ela aponte para baixo com a antena dourada, poderá encontrar o pino do VCC no canto superior esquerdo, que obviamente deve ser definido como ALTO. À direita está o pino RST, que você normalmente não precisa usar. O pino CH_PD ao lado dele também deve ser definido como HIGH novamente. No canto superior direito, temos o pino TXD que emite sinais e, no canto inferior esquerdo, temos um pino RXD que recebe os sinais, é claro. Também temos o GPIO0 e o GPIO2, bem como o pino de aterramento clássico, localizado no canto inferior direito.
- Para poder usar o módulo no Arduino, faz sentido usar o SoftwareSerial, já que o HardwareSerial é usado principalmente para comunicação entre o Arduino e o PC. No nosso caso, no entanto, o módulo usa 115200 como taxa de transmissão, o que significa que a comunicação entre o ESP e o Arduino via SoftwareSerial não é possível.
- Para alterar a taxa de transmissão, muitos usuários simplesmente exibem um novo firmware que fornece uma taxa de transmissão diferente. No entanto, isso não é absolutamente necessário, pois a taxa de transmissão também pode ser alterada usando um comando. Este comando é "AT + UART_DEF". Outros comandos como "AT + IPR" ou "AT + CIOBAUD" também podem ser encontrados na Internet, mas isso não é aconselhável, pois "AT + IPR" em particular também pode travar o módulo.
- Para enviar o comando ao módulo, é recomendável conectá-lo ao PC com um adaptador USB, que geralmente é fornecido gratuitamente ou pode ser encontrado na Internet por cerca de um euro. Se você não tiver um adaptador USB, poderá solicitar um on-line, o que é altamente recomendado, ou usar um adaptador FTDI universal, que é bastante complexo e geralmente não funciona corretamente. Como alternativa, há outra variante que será explicada mais adiante.
- Se você conectou o módulo com o adaptador ao PC, poderá enviar o comando "AT + UART_DEF = 9600, 8, 1, 0, 0" com a taxa de transmissão 115200 e CR + LF. Você pode reconectar o módulo e enviar comandos na taxa de transmissão 9600.
- Em seguida, você deve programar o Arduino. O código é relativamente simples. Primeiro, definimos uma string vazia com o comando »String s =" ";«, importamos SoftwareSerial (»#include«) e criamos um novo objeto SoftwareSerial (»SoftwareSerial Serial_ESP (2, 3);«). No método de configuração, a conexão com o ESP (»Serial_ESP.begin (9600);«) e a conexão com o PC (»Serial.begin (9600);«) é iniciada. Se o ESP enviar um sinal, ele será adicionado à sequência e a sequência será emitida no monitor serial (»while (Serial_ESP.available ()> 0) {s + = (char) Serial_ESP.read ();} if (s ! = "") {Serial.println (s); s = "";} «). Por outro lado, os sinais enviados pelo monitor serial, ou seja, o PC, também são transmitidos para o ESP ("while (Serial.available ()> 0) {Serial_ESP.write (Serial.read ());}"). No entanto, é muito importante que tudo seja convertido em um caractere, pois o ESP envia os números de volta. Você também pode encontrar o código novamente na galeria de imagens no final do artigo.
- Depois de carregar o código no Arduino, você precisa conectar o ESP. Cuidado! O ESP usa 3, 3 volts em vez de 5V. 5V quebram isso completamente. No entanto, como o Arduino trabalha com lógica de 5V, a tensão deve ser ajustada de acordo.
- Em teoria, você pode usar um divisor de tensão com resistores, mas, na prática, tudo é bastante impreciso e pode ser facilmente perturbado. Portanto, você precisa alternar um conversor de nível lógico entre o Arduino e o ESP.
- Conecte o pino de 5V do Arduino ao HV, ou seja, o pino de alta tensão no conversor e o pino LV do conversor ao pino VCC do ESP. Conecte também o pino LV em paralelo ao pino CH_PD do ESP, para que o chip também seja ligado. Além disso, para obter corrente suficiente, você deve conectar o pino de 3, 3V do Arduino ao pino de baixa tensão do conversor, consequentemente ao VCC e CH_PD do ESP. Agora conecte o pino TX da SoftwareSerial - no nosso caso, pino 3 no Arduino - com HV 1, 2, 3 ou 4 e o pino LV oposto ao pino RXD no ESP. Repita esta etapa também para o pino RX do Arduino.
- Finalmente, você tem que conectar o chão. Para fazer isso, conecte o aterramento do Arduino ao aterramento no lado HV do conversor. Em seguida, conecte o terra do lado LV ao solo do ESP. Finalmente, você deve conectar o aterramento de alta tensão e o aterramento de alta tensão.
- Agora você pode facilmente enviar comandos AT com seu PC para o ESP através do Arduino. Você pode conectar facilmente o Arduino ao seu WiFi, criar um servidor web e muito mais. Basta adicionar os respectivos comandos AT ao código do Arduino (no método de configuração) que deve ser enviado ao ESP, que você também pode encontrar no "AT Instruction Set".
- Se você não tiver um adaptador USB pronto, também poderá enviar o comando para alterar a taxa de transmissão via HardwareSerial usando o mesmo circuito, usando os pinos TX e RX do Arduino, ou seja, 0 e 1. No entanto, não se esqueça de ajustar a taxa de transmissão no código adequadamente.
Na próxima dica prática, forneceremos uma introdução à linguagem de programação Java.