- Descrição: O Sensor (Detector) Óptico Fototransistor QRD1114 é um componente eletrônico…
Alternativas de conexão Serial para o Shield WiFi ESP8266 com o Arduino
A comunicação entre o Shield WiFi ESP8266 com o Arduino pode ser feita através da Serial Nativa (hardware serial do Arduino), contudo, várias bibliotecas de comunicação entre o ESP8266 e o Arduino utilizam a SoftwareSerial para comunicação entre as plataformas e o usuário pode optar por usar outros pinos digitais que não sejam D0 e D1. Portanto, nesta postagem você vai ver algumas alternativas para comunicar o Shield WiFi ESP8266 com o Arduino utilizando outros pinos digitais da placa junto com a SoftwareSerial.
Na postagem Conhecendo o Shield WiFi ESP8266 para Arduino foi feito um apanhado geral sobre a placa. Logo, recomendo que você leia a postagem caso ainda não tenha lido. Além disso, é extremamente importante que você leia também a postagem Shiald e Shield WiFi ESP8266? Será que tem diferença?, pois se tratando do Shield WiFi ESP8266 (também conhecido como ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter), é possível encontrar no mercado pelo menos três placas que aparentemente são iguais, mas na verdade estas placas possuem alguns pontos que as diferem, até mesmo na questão de funcionamento com o Arduino através de comunicação pela serial nativa.
Recomendo também que leia a postagem Upgrade de Firmware no Shield WiFi ESP8266 para Arduino. Nesta postagem foi ensinado a instalar no Shield WiFi ESP8266 o firmware de comandos AT que é um requisito essencial para a maioria das bibliotecas de comunicação entre o ESP8266 e o Arduino utilizando a SoftwareSerial.
IMPORTANTE: AS FORMAS APRESENTADAS ABAIXO SÃO ALTERNATIVAS! VOCÊ PODE UTILIZAR A COMUNICAÇÃO PADRÃO DO SHIELD WIFI ESP8266 COM O ARDUINO ATRAVÉS DA SERIAL NATIVA (PINOS D0 E D1).
Para utilizar o Shield WiFi ESP8266 com o Arduino através da serial nativa (pinos D0 e D1), é necessário que um código seja carregado no shield e que no Arduino seja carregado um outro código para enviar, receber e interpretar os dados tráfegados através da serial nativa.
Conforme já mencionado anteriormente, várias bibliotecas de comunicação entre o ESP8266 e o Arduino utilizam a SoftwareSerial para comunicação entre as plataformas e além disso, o usuário pode precisar de imprimir informações na serial para debugar o código. Logo, torna-se necessário o uso de outros pinos digitais para emular uma conexão serial entre o ESP8266 e o Arduino.
Nesta postagem vou apresentar algumas formas de conexão entre o Shield WiFi ESP8266 e o Arduino (Uno, Mega 2560, Leonardo e outros modelos que aceitem o acoplamento do shield). Em ambas as formas o shield vai estar acoplado ao Arduino e o que será feito é a conexão entre o TX e RX do shield com dois pinos digitais do Arduino que vão fazer o papel de RX e TX na biblioteca SoftwareSerial.
Para maiores informações sobre a biblioteca SoftwareSerial clique AQUI.
OBS: a título de demonstração, em algumas das formas utilizei os pinos digitais D8 e D7. O pino D8 fazendo o papel de RX e o pino D7 sendo o TX.
– Conexão utilizando os pinos da Debug Port:
O Shield WiFi ESP8266 possui uma sequência de pinos que podem ser utilizados para debug. Esta sequência é composta pelos pinos TXD / RXD / 5V / GND / 3V3. Como o shield vai estar acoplado ao Arduino, será necessário utilizar apenas os pinos TXD e RXD:
Nesta forma de conexão os dois cabos jumper vão passar por cima do shield para que seja feito a conexão nos pinos D8 e D7 do próprio shield. Você pode passar os dois jumpers por baixo do shield:
Ao acoplar o shield no Arduino é feita a conexão do RX do shield ao TX do Arduino e do TX do shield ao RX do Arduino.
– Conexão utilizando os pinos diretos do ESP8266:
Na parte superior do Shield WiFi ESP8266 há os pinos para conexão direta ao ESP8266. Dentre estes pinos temos o RXD e o TXD que serão utilizados para conectar aos pinos D8 e D7 do próprio shield:
Nesta forma de conexão os dois cabos jumper também vão passar por cima do shield, contudo, você pode utilizar cabos jumper menores:
Ao acoplar o shield no Arduino é feita a conexão do RX do shield ao TX do Arduino e do TX do shield ao RX do Arduino.
– Conexão utilizando os contatos inferiores do shield e DIP switch:
Na parte inferior do Shield WiFi ESP8266 há os contatos (soldas) dos pinos para conexão direta ao ESP8266 e estes contatos já estão identificados. Utilizando o RXD e o TXD, podemos soldar um fio em cada um deles, passar cada um dos fios nos terminais de uma chave DIP switch de duas vias e do outro lado da chave soldar mais dois fios e por fim soldar cada um destes fios aos pinos D8 e D7 do próprio shield, se atentando a conectar o TXD do ESP8266 ao pino D8(RX) e o RXD do ESP8266 ao pino D7(TX):
Com as duas vias da DIP switch na posição ON, ao acoplar o shield no Arduino é feita a conexão do RX do shield ao TX do Arduino e do TX do shield ao RX do Arduino.
Note que, nas duas primeiras formas basta remover os jumpers dos pinos caso você não queira usar a serial emulada nos pinos digitais. Na terceira forma, caso não queira utilizar a serial emulada nos pinos digitais D8 e D7, basta colocar as duas vias da DIP switch na posição OFF.
Em qualquer uma das formas acima, basta que o usuário informe no código os pinos de conexão para a SoftwareSerial, que no caso são os pinos 8 (RX) e o 7 (TX).
– Conexão com Arduino Mega 2560 ou outras placas que possuam mais de uma hardware serial:
Todas três formas de conexão apresentadas acima são compatíveis com o Arduino Mega 2560 ou outras placas que possuam mais de uma hardware serial (HWSERIAL), contudo, quando a plataforma possuir mais de uma hardware serial, o usuário poderá usar conexão direta a estes pinos.
No Arduino Mega 2560, por exemplo, há três hadware serial disponíveis além da serial nativa (Serial (pino 0 RX0 e pino 1 TX0)), sendo elas: Serial1 (pino 19 RX1 e pino 18 TX1), Serial2 (pino 17 RX2 e pino 16 TX2) e Serial3 (pino 15 RX3 e pino 14 TX3).
Utilizando os os pinos para conexão direta ao RXD e o TXD do ESP8266, podemos, por exemplo, conectar aos pinos da hardware serial 3 (Serial3):
Desta forma, no código basta informar para a SoftwareSerial os pinos de conexão, que no caso são os pinos 15 (RX) e o 14 (TX), e definir o parâmetro como Serial3 (SoftwareSerial Serial3(15, 14);).
No caso do Arduino Leonardo, a serial para conexão com o computador é virtual e não está ligada a serial nativa (pinos D0 e D1). Logo, basta acoplar o shield ao Arduino Leonardo, carregar o código na placa definindo o parâmetro como Serial1 (SoftwareSerial Serial1(0, 1);), colocar na posição ON as vias P1 e P2 da DIP switch, e a conexão entre o shield e o Arduino Leonardo será estabelecida.
É importante ressaltar que ao utilizar umas destas formas de conexão alternativa (exceto com o Arduino Leonardo), as vias da DIP switch sempre deverão permanacer desligadas.
Dependendo do projeto ou prática que pretenda montar, os pinos D8 e D7 vão ser utilizados para conectar outros componentes e não o shield. Portanto, verifique quais pinos digitais vão sobrar para que possa usá-los na conexão entre o shield e o Arduino.
Gostou desta postagem? Então deixa seu comentário, dúvida ou sugestão aí embaixo!
Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop
Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.
Obrigado e até a próxima!
Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.
Postagem anterior: Como usar com Arduino – Sensor (Detector) de Álcool / Etanol – MQ-3
Próxima postagem: Como usar com Arduino – Interruptor Pulsador
Por acaso existe o esquemático desta placa para arduino, pois pesquisei na web e não achei.
Olá Marcel.
Agradeço pelo comentário!
Não há.