Latch e a Internet das Coisas: Integração prática com Arduino (III)

ElevenPaths    19 octubre, 2015
No post anterior estava pendente conhecer os detalhes técnicos
da conexão entre o Arduino e módulo Wi-Fi. Neste artigo veremos como.
Conexão do módulo ESP8266 com Arduino
Uma característica importante do módulo ESP8266 que deve
ser  considerada é a tensão de
funcionamento de 3,3 volts (LVTTL), sem tolerância para tensões mais elevadas.
Se usarmos um Arduino tradicional, como UNO, que trabalha em 5V (TTL), é
necessário realizar uma adaptação das tensões, tanto para a alimentação do
módulo como para as linhas de comunicação entre ambos os dispositivos.

Diagrama do Módulo ESP-01

Existem outros modelos que trabalham em 3.3v como o MINI PRO 3v,
o DUE, ou o novo M0+, estes podem ser conectados diretamente ao módulo ESP8266 sem
qualquer adaptação. Mesmo estes dois últimos modelos podem alimentar o módulo
por sua saída de 3.3v, já que fornecem energia suficiente para isso.
Também é possível modificar o Arduino UNO para trabalhar internamente a 3,3 volts, mas será sempre melhor
optar por implementar uma adaptação de níveis lógicos entre os dispositivos de
tensão diferente.
É fácil quando dispositivos lógicos TTL 5V se conectam com
dispositivos lógicos LVTTL 3.3V, porque eles são compatíveis entre si e ao
estabelecem os mesmos valores para os níveis lógico HIGH e LOW.
Só é necessário implementar uma limitação ou redução da tensão
quando o dispositivo LVTTL 3.3V não é tolerante a 5V. Não acontece o mesmo com conexões
I2C ou SPI, que exigem conversores bidirecionais para elevar a tensão de 3.3v a
5V, quando a comunicação for nessa direção.

Níveis de tensão de diferentes famílias lógicas

 Existem várias formas de executar a limitação de tensão de 5v a 3.3v:
conversores de nível bidirecionais, limitadores de diodo zener e até mesmo um simples divisor de
tensão formadas por duas resistências.
Uma forma pouco usual, mas de excelente resultado, é utilizar um diodo Schottky de polarização
invertida com um resistor de pull-up
. Desta forma se consegue uma conversão
muito mais rápida e precisa, ideal para altas velocidades de transmissão.

Resposta de diferentes limitadores de tensão

Ao utilizar um Arduino UNO é necessário obrigatoriamente adaptar
duas linhas de comunicação com o módulo ESP8266:
   Linha de recepção (RX)
   Linha de seleção de chip (CH_PD) «Power Down», obtendo
melhores resultados unindo esta linha a linha de reset (RST).
A linha de transmissão (TX), em teoria, não necessitaria
qualquer ajuste por ser uma linha de saída, mas é aconselhável incorporar um
limitador de tensão. A razão é que esta linha irá ligar-se com o RX0 do Arduino
(ATMEGA328P), que por sua vez está conectada com a linha de transmissão do
conversor de série USB-série que trabalha em 5V, que são fornecidas quando o
conversor transmite, por exemplo, ao carregar um novo sketch.

Ligação interna do conversor USB-Series

Além de adaptar as linhas de comunicação, é necessários alimentar
o módulo ESP8266 a 3,3 volts com pelo menos 215mA de corrente. Nas especificações do Arduino UNO indicam
50mA como máxima na sua saída de 3,3 volts. No entanto, este é um valor não atualizado desde as primeiras versões do Arduino
USB
que utilizavam um conversor USB-Series FTDI com estas características.
Novos modelos de Arduino, como o UNO, incorporam como conversor
USB-Série um Atmega16U, juntamente com um regulador linear de 3,3 volts LP2985-33,
que é capaz de fornecer até 150mA de corrente.
É possível utilizar a saída de 3.3V do Arduino UNO para
alimentar o ESP8266 nas fases de teste, mas para utilização estável e ideal, é
aconselhável incorporar um regulador
linear com maior capacidade
.
Conexão de Arduino UNO e um módulo ESP-01 em operação

O uso de bibliotecas espduino exige a comunicação serial com o
módulo ESP8266 seja feita através do hardware UART do Arduino
«HardwareSerial» (TX0 e RX0).
Para receber e enviar a depuração através de um terminal
virtual, você deve usar um conversor USB-serial adicional como porta
SoftwareSerial.
Agora que sabemos como conectá-lo, veremos na próxima edição como
carregar o firmware para o ESP8266 para poder usar a biblioteca espduino do
Arduino e estabelecer a comunicação SLIP com o módulo de ESP8266.
Jorge
Rivera
jorge.rivera@11paths.com
traduzido
por Leandro Bennaton

v:* {behavior:url(#default#VML);}
o:* {behavior:url(#default#VML);}
w:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}

0
0
1
859
4902
Terra Networks Brasil
40
11
5750
14.0

Normal
0
false

false
false
false

PT-BR
JA
X-NONE

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:»Table Normal»;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:»»;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:Cambria;
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:minor-latin;}

leandro.bennaton@11paths.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada.