ESP8266 y Arduino, conexión, pinout
Hola geektimes . El tema ESP8266, como IoT (Internet de las cosas) , está ganando cada vez más popularidad, y Arduino ya está tomando la iniciativa al agregar estos módulos de Wi-Fi a la lista de placas compatibles.¿Pero cómo conectarlo a Arduino? ¿Y es posible de alguna manera prescindir de arduino? Hoy, esto es exactamente lo que se discutirá en este artículo.Mirando hacia el futuro, diré que habrá un segundo artículo, ya más práctico, sobre el tema de flashear y programar el módulo ESP8266 en el entorno de desarrollo Arduino IDE . Pero, primero lo primero.
Este video duplica completamente el material presentado en el artículo.Por el momento, hay muchas variedades de este módulo, aquí hay algunas de ellas:
Pero el pinout ESP01, ESP03, ESP12:
* Esta imagen se puede ver en buena calidad en off. Sitio web de pighixxx.com .Personalmente, me gusta más la versión ESP07. Al menos por el hecho de que hay una pantalla de metal (protege el microcircuito de la interferencia externa, lo que garantiza un funcionamiento más estable), su propia antena de cerámica, un conector para una antena externa. Resulta que al conectarle una antena externa, como un biquadrat , puede lograr un buen alcance. Además, hay muchos puertos de entrada / salida, los llamados GPIO (Salida de entrada de propósito general - puertos de entrada-salida de propósito general), por analogía con los pines arduino.Volvamos a nuestras ovejas módulos Wi-Fi y Arduino. En este artículo, consideraré conectar el ESP8266 (modelos ESP01) al Arduino Nano V3.Pero, esta información será relevante para la mayoría de los módulos ESP8266 y también para diferentes placas Arduino, por ejemplo, la Arduino UNO más popular.Algunas palabras en las patas ESP01:
Vcc y GND (en la imagen de arriba son 8 y 1): potencia , a juzgar por la documentación , de 3 a 3.6 V , y GND , según la documentación , se puede suministrar a la rama Vcc- tierra (menos oferta). Vi cómo una persona conectaba este módulo a dos baterías AA (la tensión de alimentación en este caso era de aproximadamente 2,7 V) y el módulo funcionaba. Pero aún así, los desarrolladores indicaron el rango de voltaje en el que se debe garantizar que el módulo funcione, si usa otro, sus problemas.Atencion Este módulo está basado en una lógica de 3.3 V, y Arduino es principalmente una lógica de 5 V. 5 Pueden desactivar fácilmente el ESP8266, por lo que debe suministrarle energía por separado del arduino ."Hay una pata en mi arduino donde dice 3.3 V, ¿por qué no usarla?"Probablemente pienses. El hecho es que el ESP8266 es un módulo bastante glotón, y en picos puede consumir corrientes de hasta 200 mA, y casi ningún arduino por defecto puede producir tal corriente, a menos que la excepción sea Arduino Due , en la que la corriente a través de la línea de 3.3 V puede llegar a 800 mA con un margen que es suficiente, en otros casos, sugieren el uso de un estabilizador de 3,3 V adicional, por ejemplo AMS1117 3,3 en . Tal eje tanto en China como aquí.
Leg RST 6: está destinado a ser "de hierro" para reiniciar el módulo, alimentando brevemente un nivel lógico bajo, el módulo se reiniciará. Aunque descuidé esto en el video, todavía le aconsejo que "presione" esta pierna con una resistencia de 10 kOhm a la potencia más, para lograr una mejor estabilidad en el módulo, de lo contrario, reinicié desde la más mínima interferencia.La pata CP_PD 4 (o, en otras palabras, EN ) - sirve, nuevamente, para la transferencia "de hierro" del módulo al modo de ahorro de energía, en el que consume una corriente muy pequeña. Bueno, de nuevo , no será superfluo "apretar" esta pierna con una resistencia de 10 kOhm al plus de Pitalov. En el video, estúpidamente acorté esta pierna a Vcc, porque no había tal resistencia a la mano.Pies RXD0 7 TXD0 2: hardware UART, que se usa para flashear, pero nadie prohíbe usar estos puertos como GPIO (GPIO3 y GPIO1, respectivamente). Por alguna razón, GPIO3 en la imagen no está etiquetado, pero está en la hoja de datos:
Por cierto, el LED "Connect" está conectado a la pata TXD0 2, y se ilumina a un nivel lógico bajo en GPIO1, bien, o cuando el módulo envía algo a través de UART.GPIO0 5: no solo puede ser un puerto de entrada / salida, sino que también puede poner el módulo en modo de programación. Esto se hace conectando este puerto a un nivel lógico bajo ("presionado" a GND) y aplicando alimentación al módulo. En el video, hago esto con el botón habitual. Después de parpadear, no olvide sacar el puente / presionar el botón (no es necesario mantener presionado el botón durante el parpadeo, el módulo cambia al modo de programación cuando se enciende y permanece en él hasta el reinicio).GPIO2 3: puerto de E / S.Y otro punto importante, cada módulo GPIO Wi-Fi puede proporcionar de manera segura corriente de hasta 6 mApara no quemarlo, asegúrese de poner las resistencias en serie con los puertos de entrada / salida en ... Recordamos la ley de Ohm R = U / I = 3.3V / 0.006 A = 550 Ohms, es decir, 560 Ohms . O descuidarlo, y luego preguntarse por qué no funciona.En ESP01, todos los GPIO son compatibles con PWM, por lo que puede conectar un controlador de motor a nuestros cuatro GPIO, es decir, GPIO0-3, ala L293 / L298 y dirigir con dos motores, por ejemplo, barcos, o hacer que el WiFi RGB se pierda. Sí, sí, este módulo tiene mucho a bordo, y para proyectos simples, el violinistaArduino no es necesario, solo para flashear. Y si usa ESP07, generalmente hay puertos casi como Uno, lo que permite prescindir de arduino con confianza. Es cierto, hay un momento desagradable, ESP01 no tiene puertos analógicos en absoluto, pero ESP07 solo tiene uno, se llama ADC. Esto, por supuesto, exacerba el trabajo con sensores analógicos. En este caso, un multiplexor analógico arduino para ayudar.Todo parece explicarse por pinout, y aquí está el diagrama de conexión del ESP8266 al Arduino Nano: ¿
Ves el puente en las patas del Arduino Nano RST y GND? Esto es necesario para que el arduinka no interfiera con el firmware del módulo, en el caso de conectar el ESP8266 usando Arduino, es un requisito previo.Además, si se conecta al Arduino, el módulo RX debe ir al RX arduino, TX - TX. Esto se debe a que el chip convertidor ya está conectado a las patas del arduino en un orden cruzado.También es importante un divisor resistivo que consta de resistencias de 1 kOhm y 2 kOhm (puede estar compuesto por dos resistencias de 1 kOhm en serie conectándolas) a lo largo de la línea RX del módulo. Porque arduino es lógica de 5 V y módulo 3.3. Resulta un convertidor de nivel primitivo. Debe serlo, porque las patas del módulo RXD TXD no toleran 5 V.
Bueno, puedes prescindir de arduino conectando el ESP8266 a través de un convertidor USB-UART normal. En el caso de conectarse a arduino, de hecho, usamos un convertidor de interfaz usb y uart estándar, evitando los cerebros. Entonces, ¿por qué gastar dinero una vez más, si puede prescindir de Arduino? Solo en este caso, conectamos el módulo RXD al convertidor TXD, TXD - RXD.Si tiene problemas para conectarse, jugar con resistencias y estabilizadores, hay soluciones NodeMcu listas:
todo es mucho más simple aquí, conecté el cable a la computadora, instalé los controladores y programé, solo recuerde usar el puente / botón en GPIO0 para poner el módulo en modo firmware.Bueno, eso probablemente sea todo con la teoría, el artículo resultó ser bastante grande, y la parte práctica, un firmware y programación de módulos, lo publicaré un poco más tarde.Yo, en mi canal de YouTube , abrí una lista de reproducción completa dedicada a mis videos en este módulo de Wi-Fi. Los planes han construido una máquina de escribir, o un bote, en el control de Wi-Fi, donde en lugar del control remoto habrá un inteligente regular. Pero hasta ahora no he llegado a esto, así que estos son solo planes para el futuro.Continuación de este artículo.Hojas de datos sobre:ASM1117 3.3 B ;ESP8266EX (microcontrolador que está en el módulo) ;Más enlaces:comunidad de habla rusa en ESP8266 ;Esquemas dibujados en el programa Fritzing ;¿Por qué a muchos no les gusta Arduino ?Todas mis publicaciones en geektimes .Por Sergey Sharekin, alias Sr. Podelkin. Source: https://habr.com/ru/post/es390593/
All Articles