ESP8266和Arduino,连接,引脚排列

嗨,极客时间。 ESP8266主题(例如IoT(物联网))越来越受欢迎,并且Arduino已经通过将这些Wi-Fi模块添加到支持的板子列表中来采取主动行动。
但是如何将其连接到arduino?而且有可能根本没有arduino吗?今天,这正是本文将要讨论的内容。

展望未来,我要说的是第二篇文章,已经更加实用了,它的主题是在Arduino IDE开发环境中对ESP8266模块进行闪存和编程。但是,首先是第一件事。

图片

该视频完全重复了本文介绍的内容。



目前,此模块有很多变体,以下是其中一些:

图片

但是引脚ESP01,ESP03,ESP12:

图片
*可以在关闭状态下以高质量观看此图片。pighixxx.com网站

我个人最喜欢ESP07版本。至少由于有一个金属屏蔽层(它保护微电路不受外部干扰,从而确保更稳定的运行),它本身有一个陶瓷天线,一个用于外部天线的连接器。通过将外部天线(例如biquadrat)连接到它,可以实现良好的范围。此外,有许多输入/输出端口,即所谓的GPIO(通用输入输出-通用输入输出端口),类似于arduino-引脚。

让我们回到我们的ram Wi-Fi模块和Arduino。在本文中,我将考虑将ESP8266(型号ESP01)连接到Arduino Nano V3。

但是,此信息将与大多数ESP8266模块以及不同的Arduino板(例如,最受欢迎的Arduino UNO)相关。

在ESP01支路上有几句话:
图片

VccGND(上图中分别为8和1)- 根据文档电源可以从3至3.6 V施加,而GND可以应用于Vcc支路-土地(减去供应)。我看到一个人如何将此模块连接到两节AA电池(在这种情况下,电源电压约为2.7 V),并且该模块可以正常工作。但是,开发人员仍然指出了该模块可以保证在哪个电压范围内工作(如果您使用其他模块,则可能会出现问题)。

注意!该模块基于3.3 V逻辑,而Arduino主要为5 V逻辑。 5他们可以轻松禁用ESP8266,因此您需要与arduino分开供电

“我的arduino上有一条支路,上面写着3.3 V,为什么不使用它呢?”

你可能会想。事实是ESP8266是一个非常繁琐的模块,在峰值时它可以消耗高达200 mA的电流,默认情况下几乎没有arduino可以产生这样的电流,除非Arduino Due例外,其中通过3.3 V线路的电流可以达到800毫安具有余量是不够的,在其他情况下,建议使用一个额外的稳定剂3.3 V,例如在3.3 AMS1117。无论在中国还是在这里,都是如此。

图片

RST 6-旨在作为“铁”来重新引导模块,向其短暂提供低逻辑电平,模块将重新引导。尽管我在视频中忽略了这一点,但我仍然建议您使用一个10 kOhm的电阻器“压”这只脚,使电源加上,以便在模块中获得更好的稳定性,否则我会从丝毫干扰下重新启动。

支腿CP_PD 4(或换句话说,EN)-再次用于将模块“铁”传递到节能模式,在该模式下,它消耗的电流很小。好吧,再次- 用10 kOhm的电阻将这条腿“压”到 Pitalov的上面将不是多余的。在视频中,我愚蠢地将此脚短接到Vcc,因为手边没有这样的电阻。

RXD0 7 TXD0 2-硬件UART,用于闪烁,但是没有人禁止将这些端口用作GPIO(分别为GPIO3和GPIO1)。出于某种原因,图中未标记GPIO3,但在数据表中标明了它:

图片

顺便说一句,“ Connect” LED连接TXD0 2 引脚,并且在GPIO1上或者模块通过UART发送信号时,它以低逻辑电平点亮。

GPIO0 5-不仅可以是输入/输出端口,还可以将模块置于编程模式。这是通过将该端口连接到低逻辑电平(“按下”至GND)并为模块供电而完成的。在视频中,我使用通常的按钮执行此操作。闪烁后,请不要忘记拉出跳线/按下按钮(闪烁期间不必按住按钮,模块在打开时会切换到编程模式,并保持在其中直到重启)。

GPIO2 3-I / O端口

另一个要点是,每个GPIO Wi-Fi模块都可以安全地提供高达6 mA的电流为了避免烧坏,请确保将电阻与输入/输出端口串联...记住欧姆定律 R = U / I = 3.3V / 0.006 A = 550 Ohms,即560 Ohms。或忽略它,然后想知道为什么它不起作用。

在ESP01中,所有GPIO都支持PWM,因此您可以将引擎驱动程序连接到我们的四个GPIO,即GPIO0-3,ala L293 / L298,并使用两个引擎(例如船用)进行转向,或者使RGB Wi-Fi杂散。是的,是的,该模块有很多功能,对于简单的项目,小提琴家不需要Arduino,仅用于刷新。而且,如果您使用ESP07,则通常会有几乎像Uno一样的端口,这使您可以放心地不用arduino。没错,有一个令人不快的时刻,ESP01根本没有模拟端口,但是ESP07只有一个,称为ADC。当然,这会加剧使用模拟传感器的工作。在这种情况下,可以使用arduino模拟多路复用器来提供帮助。

一切似乎都可以通过引脚说明来解释,这是ESP8266与Arduino Nano的连接图:
图片

看到Arduino Nano 上RST和GND引脚上的跳线了吗?这是必需的,以便arduinka不会干扰模块的固件,在使用Arduino连接ESP8266的情况下,这是前提条件。

另外,如果您连接到Arduino,则RX模块应转到RX arduino,TX-TX。这是因为转换器芯片已经以交叉顺序连接到arduino引脚。

沿着模块的RX线由1 kOhm和2 kOhm电阻组成的电阻分压器(可以通过连接两个1 kOhm电阻串联而成)也很重要。因为arduino是5 V逻辑和模块3.3。原来是原始的电平转换器。一定是因为RXD TXD模块的支脚不能承受5 V电压。

图片

好了,您可以通过常规的USB-UART转换器连接ESP8266,从而完全不需要arduino。实际上,在连接到arduino的情况下,我们绕过了大脑使用标准的USB和uart接口转换器。那么,如果您完全不用arduino,为什么还要再次花钱呢?仅在这种情况下,我们才将RXD模块连接到TXD转换器TXD-RXD。

如果您懒于打扰连接,电阻和稳定器-可以使用现成的NodeMcu解决方案:

图片

这里的一切都简单得多,我将电缆插入计算机,安装了驱动程序并进行了编程,只记得使用GPIO0上的跳线/按钮将模块置于固件模式即可。

嗯,这可能是理论上的全部内容,文章篇幅相当大,而实际部分,即固件和模块编程,我将在稍后发布。

在自己的YouTube频道上,通过此Wi-Fi模块打开了一个专门针对我的视频的播放列表。该计划已在Wi-Fi控制上建造了一台打字机或一艘船,在那里将有一个普通的智能设备代替遥控器。但是到目前为止,我还没有谈到这一点,所以这些只是未来的计划。

本文的续篇。

数据表在:
ASM1117 3.3 B ;
ESP8266EX(模块中的单片机)

更多链接:
ESP8266的俄语社区
在程序Fritzing中制定计划 ;
为什么许多人不喜欢Arduino ;
我在geektimes上的所有出版物

Sergey Sharekin,又名Podelkin先生。

Source: https://habr.com/ru/post/zh-CN390593/


All Articles