1 有用
1 下载

ESP8266和Arduino入门:ESP8266 Arduino接口

文件列表(压缩包大小 112.87K)

免费

概述

需要的元件

  • Arduino UNO
  • ESP8266 ESP-01
  • 1KΩ电阻
  • 2.2KΩ电阻
  • 100 pF电容器(电0104)
  • 迷你面包板
  • 杜邦线

原理及流程

如果你喜欢物联网(IoT),那么一定听说过ESP8266 WiFi模块。本教程介绍了Esp8266 WiFi模块入门以及如何在IoT项目中使用ESP8266 Arduino。

因此,在详细介绍如何连接ESP8266 Arduino Pair之前,让我们首先开始使用ESP8266 WiFi模块。

ESP8266-Arduino-Image-13

什么是ESP8266?

ESP8266(在技术上为ESP8266EX)是基于Espressif Systems生产的Cadence Tensilica L106 32位MCU的WiFi模块。ESP8266 SoC包含一个功能齐全的WiFi堆栈和TCP / IP堆栈,可让任何微控制器连接到WiFi网络。借助软件开发套件(SDK),你可以直接对ESP8266的片上微控制器进行编程,而无需外部微控制器。

第三方制造商可以基于ESP8266 SoC制造定制板,Ai-Thinker是此类制造商之一。Ai-Thinker生产的第一块板是ESP-01(与本项目中使用的板相同),并且非常流行。

在ESP-01模块取得成功的基础上,Ai-Thinker发布了其他几个模块,例如ESP-02,ESP-07,ESP-12等。所有这些板均基于ESP8266 SoC,但主要区别在于GPIO引脚数。

还有其他模块,如Espressif Systems的ESP-WROOM,NodeMCU,WeMOS,SparkFun ESP8266等。

ESP8266 ESP-01

在此项目中,我们将使用Ai-Thinker的ESP-01模块。它由8个引脚组成,下图显示了电路板构成。

ESP8266-Arduino-Image-1

关于引脚配置,如上所述,ESP-01模块由8个引脚组成,这些引脚为VCC,GND,TX,RX,RST,CH_PD,GPIO0和GPIO2。下图显示了ESP-01模块的引脚图。

ESP8266-Arduino-Image-2

ESP8266 ESP-01模组的管脚说明

  • VCC:通过其提供3.3V电源的电源引脚。
  • GND:接地引脚。
  • TX:此引脚用于将串行数据传输到其他设备。
  • RX:RX引脚用于从其他设备接收串行数据。
  • RST:它是复位引脚,并且是一个有效的LOW引脚。(如果RST引脚收到LOW信号,ESP8266将复位)。
  • CH_PD:这是芯片使能引脚,并且是有效的HIGH引脚。通常连接到3.3V。
  • GPIO0:GPIO0(通用I / O)管脚具有两种功能-一种用于常规GPIO操作,另一种用于使能ESP8266的编程模式。
  • GPIO2:这是GPIO引脚。

重要注意事项:ESP8266不兼容5V,并且ESP-01模块上没有任何稳压器。确保ESP8266的电源为3.3V,最好使用专用电源,而不是从Arduino的3.3V引脚获取电源。

ESP8266 Arduino接口

在查看ESP8266 Arduino接口之前,你需要了解有关ESP8266模块的一些知识。ESP8266 WiFi模块附带支持AT命令的默认固件。

将ESP8266 WiFi模块与Arduino接口并上传我们自己的程序后,原始固件将被删除。我们将在一个单独的项目中看到如何与ESP8266 Module for AT Commands通信以及如何使用Arduino刷新原始固件。

现在,我们将看到如何使用Arduino编程ESP8266并访问其GPIO引脚。首先,我们先浏览接口的电路图。

ESP8266 Arduino接口电路图

ESP8266-Arduino-Image-3_1如果电路图中的ESP8266模块不清晰,以下图像可能会为你提供帮助。它只是电路图的个人表示。你已经在上一节中看到了实际的引脚图。

ESP8266-Arduino-Image-4

ESP8266 ESP-01模块连接面包板

如果你查看ESP8266 ESP-01模块的引脚,你会发现它不适合面包板使用。因此,我制作了一个小的穿孔板,在底部和母接头上带有适合面包板的插针,用于在其上安装ESP8266 ESP-01模块。

ESP8266-Arduino-Image-5

在该性能板上,我还连接了ESP8266 RX引脚的电平转换器电阻以及VCC(3.3V)和GND之间的100 pF旁路电容。下图显示了ESP8266 ESP-01模块在迷你面包板上的安装结果。

ESP8266-Arduino-Image-6

为ESP8266编程准备好Arduino IDE

ESP8266 WiFi模块可以使用Arduino IDE进行编程,为此,你需要对Arduino IDE进行一些更改。首先,转到Arduino IDE中的File –> Preferences,然后在Additional Boards Manager URLs部分中输入以下URL。

http://arduino.esp8266.com/stable/package_esp8266com_index.json

ESP8266-Arduino-Image-7

注意:你可以添加许多这样的URL,但是必须用逗号分隔。

现在,转到Tools –> Board –> Boards Manager,然后在搜索字段中搜索ESP8266。选择ESP8266社区的ESP8266,然后单击安装。

ESP8266-Arduino-Image-8

注意:通过板管理器添加第三方板的功能适用于Arduino IDE版本1.6.4及更高版本。因此,请确保你具有最新版本的Arduino IDE。

为Arduino UNO准备编程ESP8266

为了编程ESP8266模块,我们需要将其连接到计算机。由于串行通信是ESP8266 ESP-01模块上唯一可用的通信,因此我们需要USB到串行适配器,例如FTDI,CH340或FT232RL。

如果你没有专用的USB转串口适配器,Arduino UNO有一个板载USB到串行适配器(用于对Arduino进行编程)。我们将使用它来对ESP8266进行编程。

我们将使用Arduino的TX和RX引脚连接到ESP8266模块,并且为了确保Arduino不使用这些引脚,我们可以向Arduino上传一个基本的程序。

注意:最小程序仅由设置和循环功能组成,其中没有任何数据。

就我而言,我有一个额外的Arduino UNO板,该板具有无法正常工作的ATmega328p IC。因此,我从Arduino UNO移除了微控制器IC,并开始将其用作USB到串行转换器。

使用Arduino编程ESP8266的电路设计

你已经看到了项目所需的组件和电路图。现在,让我们开始设计电路。

首先,ESP8266模块使用3.3V电源供电,任何高于此电压的电源(例如5V)都将烧坏SoC。因此,ESP8266 ESP-01 Module的VCC引脚和CH_PD引脚已连接至3.3V电源。

要记住的下一个重要事项是,ESP8266 WiFi模块具有两种操作模式:编程模式和正常模式。

在编程模式下,你可以将程序或固件上传到ESP8266模块,在正常模式下,上传的程序或固件将正常运行。

为了启用编程模式,必须将GPIO0引脚连接到GND。在电路图中,我已将SPDT开关连接到GPIO0引脚。切换SPDT的杆将在ESP8266的编程模式(GPIO0连接到GND)和普通模式(GPIO0充当GPIO引脚)之间切换。

同样,RST(复位)将在启用编程模式中有重要作用。RST引脚为低电平有效引脚,因此通过按钮连接至GND。因此,每当按下按钮时,ESP8266模块都会复位。

ESP8266模块的RX和TX引脚连接到Arduino板上的RX和TX引脚。由于ESP8266 SoC无法承受5V电压,因此Arduino的RX引脚通过一个由1KΩ和2.2KΩ电阻组成的电平转换器连接。

最终,GPIO2引脚连接到LED以测试程序的工作情况。下文介绍了在ESP8266中启用编程模式的所有必要连接。

  1. VCC – –> 3.3V
  2. GND – –> GND
  3. CH_PD – –> 3.3V
  4. RST – –>常开;GND– –>复位
  5. GPIO0 – –> GND
  6. TX – –> Arduino的TX
  7. RX – –> Arduino的RX(通过电平转换器)

ESP8266 Arduino接口的工作

确保正确连接上述所有连接。在以编程模式连接和配置ESP8266之后(GPIO0连接到GND),将Arduino连接到系统。

ESP8266模块通电后,按RST按钮并打开Arduino IDE。在开发板选项(Tools –> Board)中,选择“通用ESP8266”开发板。在IDE中选择适当的端口号。

ESP8266-Arduino-Image-9

打开Blink Sketch,并将LED引脚更改为2。这里,2表示ESP8266模块的GPIO2引脚。在点击上传之前,请确保首先将GPIO0连接到GND,然后按下RST按钮。

void setup()
{
  pinMode(2, OUTPUT);
}

void loop() 
{
  digitalWrite(2, HIGH);
  delay(1000);
  digitalWrite(2, LOW);
  delay(1000);
}

点击上传按钮,代码将需要一段时间来编译和上传。你可以在IDE的底部看到进度。程序成功上传后,你可以从GND移除GPIO0。连接到GPIO2的LED将闪烁。

ESP8266-Arduino-Image-10-760x440

ESP8266-Arduino-Image-12-760x440

在这个项目中,我们已经了解了ESP8266 Arduino接口如何工作,如何将程序上传到ESP8266 WiFi模块中以及访问ESP8266模块的输入/输出引脚。

最后

所有需要的文件在下载区均可找到。

via:https://www.electronicshub.org/esp8266-arduino-interface/

理工酷提示:

如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈

评论(0)

0/250