ESP8266 e Arduino, conexão, pinagem
Oi geektimes . O tema do ESP8266, como IoT (Internet das Coisas) , está ganhando cada vez mais popularidade, e o Arduino já está tomando a iniciativa, adicionando esses módulos Wi-Fi à lista de placas suportadas.Mas como conectá-lo ao arduino? E é possível, de alguma forma, ficar sem o arduino? Hoje, é exatamente isso que será discutido neste artigo.Olhando para o futuro, direi que haverá um segundo artigo, já mais prático, sobre o tópico de piscar e programar o módulo ESP8266 no ambiente de desenvolvimento do Arduino IDE . Mas, primeiro as primeiras coisas.
Este vídeo duplica completamente o material apresentado no artigo.No momento, existem muitas variedades deste módulo, eis algumas delas:
Mas a pinagem ESP01, ESP03, ESP12:
* Esta imagem pode ser visualizada em boa qualidade em off. site pighixxx.com .Pessoalmente, eu gosto mais da versão ESP07. Pelo menos pelo fato de haver uma tela de metal (protege o microcircuito contra interferências externas, garantindo assim uma operação mais estável), sua própria antena de cerâmica, um conector para uma antena externa. Acontece que, ao conectar uma antena externa, como um biquadrat , é possível obter um bom alcance. Além disso, existem muitas portas de entrada / saída, as chamadas GPIO (General Purpose Input Output - portas de entrada e saída de uso geral), por analogia com os pinos do arduino.Vamos voltar aos módulos Wi-Fi de ram e ao Arduino. Neste artigo, considerarei conectar o ESP8266 (modelo ESP01) ao Arduino Nano V3.Porém, essas informações serão relevantes para a maioria dos módulos ESP8266 e várias placas Arduino, por exemplo, a mais popular UNO do Arduino.Algumas palavras nas pernas do ESP01:
Vcc e GND (na foto acima são 8 e 1) - poder , a julgar pela documentação , de 3 a 3,6 V , e GND , de acordo com a documentação , pode ser fornecido à perna do Vcc- terra (menos fornecimento). Vi como uma pessoa conectou este módulo a duas pilhas AA (a tensão de alimentação neste caso era de aproximadamente 2,7 V) e o módulo estava funcional. Mas, ainda assim, os desenvolvedores indicaram a faixa de tensão na qual o módulo deve garantir o funcionamento, se você usar outro, seus problemas.Atenção! Este módulo é baseado na lógica de 3,3 V e o Arduino é principalmente na lógica de 5 V. 5 Eles podem desabilitar facilmente o ESP8266; portanto, você precisa fornecer energia separadamente do arduino ."Existe uma perna no meu arduino onde diz 3,3 V, por que não usá-lo?"Você provavelmente pensa. O fato é que o ESP8266 é um módulo bastante glutão e, em picos, pode consumir correntes de até 200 mA, e quase nenhum arduino por padrão pode produzir essa corrente, a menos que a exceção seja o Arduino Due , no qual a corrente através da linha de 3,3 V pode atingir 800 mA com uma margem que é suficiente, em outros casos, sugerem a utilização de um estabilizador adicional de 3,3 V, por exemplo AMS1117 3,3 em . Tal eixo, tanto na China e aqui.
Perna RST 6 - destina-se a ser "ferro" para reinicializar o módulo, alimentando brevemente um baixo nível lógico, o módulo será reinicializado. Embora eu tenha negligenciado isso no vídeo, ainda aconselho que você "pressione" essa perna com um resistor de 10 kOhm ao poder mais, a fim de obter melhor estabilidade no módulo, caso contrário, reiniciei com a menor interferência.A perna CP_PD 4 (ou em outras palavras, EN ) - serve novamente para a transferência "de ferro" do módulo para o modo de economia de energia, no qual consome uma corrente muito pequena. Bem, novamente - não será supérfluo "apertar" esta perna com um resistor de 10 kOhm ao valor de Pitalov. No vídeo, estupidamente coloquei essa perna em Vcc, porque não havia esse resistor em mãos.Pés RXD0 7 TXD0 2 - UART de hardware, usado para piscar, mas ninguém proíbe o uso dessas portas como GPIO (GPIO3 e GPIO1, respectivamente). Por alguma razão, GPIO3 na imagem não está rotulado, mas está na folha de dados:
A propósito, o LED “Connect” está conectado à perna TXD0 2 e acende em um nível lógico baixo no GPIO1, bem, ou quando o módulo envia algo via UART.GPIO0 5 - pode ser não apenas uma porta de entrada / saída, mas também colocar o módulo no modo de programação. Isso é feito conectando esta porta a um nível lógico baixo ("pressionado" para GND) e aplicando energia ao módulo. No vídeo, faço isso com o botão usual. Depois de piscar, não se esqueça de remover o jumper / pressionar o botão (não é necessário segurar o botão durante o piscar, o módulo muda para o modo de programação quando está ligado e permanece nele até a reinicialização).GPIO2 3 - Porta de E / S.E outro ponto importante, cada módulo Wi-Fi GPIO pode fornecer com segurança corrente de até 6 mApara não queimar, certifique-se de colocar os resistores em série com as portas de entrada / saída ligadas ... Lembramos a lei de Ohm R = U / I = 3.3V / 0.006 A = 550 Ohms, ou seja, 560 Ohms . Ou negligencie-a e depois pergunte-se por que não funciona.No ESP01, todos os GPIOs oferecem suporte ao PWM, para que você possa conectar um driver de motor aos nossos quatro GPIOs, ou seja, GPIO0-3, ala L293 / L298 e dirigir com dois motores, por exemplo, barcos, ou desviar o Wi-Fi RGB. Sim, sim, este módulo tem muito a bordo e, para projetos simples, o violinistaO Arduino não é necessário, apenas para piscar. E se você usa o ESP07, geralmente há portas quase como o Uno, o que torna possível o uso sem o arduino com confiança. É verdade que há um momento desagradável: o ESP01 não possui portas analógicas, mas o ESP07 possui apenas um, o ADC é chamado. Isso obviamente agrava o trabalho com sensores analógicos. Nesse caso, um multiplexador analógico arduino para ajudar.Tudo parecia ser explicado pela pinagem, e aqui está o diagrama de conexão do ESP8266 ao Arduino Nano:
Veja o jumper nas pernas do RST e o GND no Arduino Nano? Isso é necessário para que o arduinka não interfira no firmware do módulo; no caso de conectar o ESP8266 usando o Arduino, é um pré-requisito.Além disso, se você se conectar ao Arduino - o módulo RX deve ir para o RX arduino, TX - TX. Isso ocorre porque o chip conversor já está conectado às pernas do arduino em uma ordem cruzada.Também é importante um divisor resistivo composto por resistores de 1 kOhm e 2 kOhm (pode ser feito de dois resistores de 1 kOhm em série conectando-os) ao longo da linha RX do módulo. Porque o arduino é lógico de 5 V e o módulo 3.3. Acontece que um conversor de nível primitivo. Deve ser porque as pernas do módulo RXD TXD não são tolerantes a 5 V.
Bem, você pode ficar sem o arduino conectando o ESP8266 através de um conversor USB-UART comum. No caso de conexão com o arduino, de fato, usamos um conversor padrão de interface usb e uart, ignorando os cérebros. Então, por que gastar dinheiro mais uma vez, se você pode ficar sem o arduino? Somente neste caso, conectamos o módulo RXD ao conversor TXD, TXD - RXD.Se você tem preguiça de se conectar, mexer com resistores e estabilizadores - existem soluções NodeMcu prontas:
tudo é muito mais simples aqui, prendi o cabo no computador, instalei os drivers e programados, lembre-se de usar o jumper / botão no GPIO0 para colocar o módulo no modo de firmware.Bem, isso é provavelmente tudo com a teoria, o artigo acabou sendo bastante grande, e a parte prática, ala firmware e programação de módulos, publicarei um pouco mais tarde.Eu, no meu canal do YouTube , abri uma lista de reprodução inteira dedicada aos meus vídeos neste módulo Wi-Fi. Os planos construíram uma máquina de escrever, ou barco, no controle Wi-Fi, onde, em vez do controle remoto, será um inteligente comum. Mas até agora ainda não cheguei a isso, então esses são apenas planos para o futuro.Continuação deste artigo. Folhas dedados em:ASM1117 3.3 B ;ESP8266EX (microcontrolador que está no módulo) ;Mais links:comunidade de língua russa no ESP8266 ;Esquemas desenhados no programa Fritzing ;Por que muitos não gostam do Arduino ;Todas as minhas publicações sobre geektimes .Por Sergey Sharekin, também conhecido como Sr. Podelkin. Source: https://habr.com/ru/post/pt390593/
All Articles