0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样使用ESP8266-01引脚和指示灯

454398 来源:网络整理 作者:佚名 2019-11-08 17:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第1步:ESP8266-01 Pins

怎样使用ESP8266-01引脚和指示灯

ESP8266-01是最小的ESP8266模块,只有8个管脚。在这些VCC中,GND,RST(复位)和CH_PD(片选)不是I/O引脚,但需要模块操作。这样就可以将GPIO0,GPIO2,TX和RX用作可能的I/O引脚,但即使这些引脚都具有预先分配的功能。 GPIO0和GPIO2确定模块以哪种模式启动,并且TX/RX引脚用于对模块进行编程以及用于串行I/O(通常用于调试)。 GPIO0和GPIO2需要连接上拉电阻,以确保模块正确启动。

步骤2:ESP8266编程技巧(espcomm失败)

使用Arduino IDE编程ESP8266时(请参阅ESP8266-01 Wifi Shield),有时(通常)会在Arduino IDE中收到错误消息,例如:-

esp_com打开失败

错误:失败打开COM33错误:espcomm_open失败

错误:espcomm_upload_mem失败

在这种情况下,请按照以下步骤操作:-

检查是否已在Arduino工具菜单中选择了ESP8266板

检查是否已在Arduino工具菜单中选择了COM端口

将GPIO0接地的ESP8266重新通电(干净)电源应用程序,请参阅下文)

如果3)不能解决问题,请从计算机上拔下USB电缆,等待几秒钟,然后再将其重新插入

如果4)不能解决问题,从PC上拔掉USB电缆,关闭Arduino IDE,打开Arduino IDE,重新插入USB电缆。

在给ESP8266供电时,将GPIO0接地后,请确保干净地供电。不要摇晃连接。 ESP8266 led应该亮起并保持不闪烁。

步骤3:最佳技巧–使用I2C

使ESP8266-01额外输入的最好技巧是使用I2C接口

一种选择是使用GPIO0和GPIO2作为I2C总线。

使模块正确启动所需的上拉电阻可以加倍,因为I2C总线上拉电阻和总线上的其他从器件均是集电极开路,因此不应下拉总线通电时。但是,在某些情况下,从站(尤其是具有备用电池的从站)可能会卡住并压低总线。在这种情况下,您需要隔离总线,直到ESP8266进入引导阶段为止。

通过为I2C总线使用TX和RX可以避免此问题

注意:

GPIO1(TX)用作数据线,因为在加电时,您总是会在GPIO1上获得一些调试输出。没有办法抑制此输出,但时钟线(RX)会保持高电平,因此这些数据都不会被时钟传给从机

在对ESP8266进行编程时,RX线会连接到ESP8266。程序员的输出。编程结束时,ESP8266会重新启动,并且330保护电阻可防止RX短路编程器的输出驱动器

I2C串联电阻可为TX,RX提供防止I2C总线短路的保护

ESP8266是3.3V器件,因此最好使用3.3V I2C从器件。如今,许多(但不是全部)I2C器件均为3.3V。 “通常,在一个设备的电压高于另一个设备的电压的系统中,有可能通过I2C连接两个设备,而它们之间没有任何电平转换电路。技巧是将上拉电阻器连接到两个电压中的较低者。”(SparkFun I2C教程)对于5V和3.3V器件的混合,将上拉电阻器连接到3.3V线,如上所示。

使用I2C是向ESP8266-01添加多通道A-to-D转换器的好方法,该转换器不会暴露底层模块的单个ADC输入。例如,使用Adafruit 12位I2C 4通道ADC或模拟输出SparkFun的I2C DAC Breakout – MCP4725板。 I2C总线还提供许多其他类型的传感器

有关克服I2C问题的更多信息,请参见http://www.i2c-bus.org/i2c-primer/common-problems.。.。另请参阅I2C电池后备RTC可靠启动的简短方法,以帮助清除总线

第4步:将GPIO0/GPIO2用于OUTPUT,将RX用于INPUT

虽然可以通过WiFi连接发送调试消息,但是使用TX连接通常很方便。下一个示例显示如何将GPIO0和GPIO2用作输出,将RX用作输入。

使用

Serial.begin(115200,SERIAL_8N1,SERIAL_TX_ONLY);

允许您将RX用作通用输入(或其他输出),同时仍将调试消息写入串行。 RX引线中的330欧姆电阻再次连接到Flash编程器,可以防止编程器的驱动器短路。注意:必须先打开S1才能对ESP8266进行编程。

可以从草图访问TX引脚,因为GPIO1和RX为GPIO3

使用GPIO0作为输出时如何重新编程

注意:需要将GPIO0接地才能进入编程模式。如果您将其拉高,则将其接地可能会损坏ESP8266芯片。当代码驱动GPIO0输出时,对ESP8266进行重新编程的安全方法是:-

a)关闭开发板电源 b)短GPIO0到gnd c)打开开发板电源,使其进入编程模式由于GPIO0短路

d)消除了GPIO0的短路,因此在程序运行时您不会短路输出

e)重新编程开发板 f)必要时重启开发板。

步骤5:另一个技巧-使用GPIO0/GPIO2驱动继电器并读取按钮

这里是另一种配置方式别针。注意:仅当您的继电器模块具有隔离的输入(N1和N1-com)时,此技巧才有效。由于此限制和支持代码的复杂性,上一个示例以RX作为输入为佳。

使用ESP8266 GPIO0/GPIO2/GPIO15引脚已经介绍了如何一起使用GPIO0/GPIO2获得额外的输入。在这里,该示例将扩展为使用GPIO0作为继电器驱动器输出,并使用GPIO0/GPIO2作为输入。

此处是pdf格式的原理图。

此处GPIO0被用作输出以驱动继电器,GPIO0/GPIO2用作输入来读取瞬时按钮,该按钮除了可以通过WiFi连接进行远程控制之外,还可以用作手动操作来打开和关闭继电器。如果在通电时按下瞬时按钮,则也可用于启用配置模式。

这里的诀窍是在ESP8266模块初始化时仍保持GPIO0和GPIO2为高电平的同时进行所有操作。

上拉电阻R1和R3为这两个引脚提供了必要的高电平,但是必须确保连接到GPIO0和GPIO2的任何额外电路都不能将引脚拉低。光电隔离继电器连接在+ 3.3V和GPIO0之间。这样可在启动时使GPIO0保持高电平,但在启动后允许GPIO0作为输出,并使继电器输入接地以操作继电器。模块初始化时是否操作瞬时按钮都没有关系,因为只需将GPIO0连接到GPIO2并将这两个都连接到其上拉电阻即可。

检测配置模式

使用ESP8266作为一个临时访问点,您可以按此处所述通过网页进行配置。该过程的一部分是在加电时使用按钮或短路链接来指示要进入配置模式的软件。

ESP8266模块初始化后,将运行 setup()代码。在该代码中,要检测瞬时按钮是否被按下,您无需使GPIO0为低电平即可为按钮提供GND,然后检查GPIO2输入是否为低。该检查的副作用是,当设备进入配置模式时,继电器将始终处于运行状态。一旦看到继电器操作,就可以释放按钮,因为届时将已检测到其输入。这是一些示例代码,可在 setup()

boolean configMode = false; // not in config mode normally

void setup() {

pinMode(0, OUTPUT);

digitalWrite(0, LOW); // make GPIO0 output low

// check GPIO2 input to see if push button pressed connecting it to GPIO0

configMode = (digitalRead(2) == LOW);

if (configMode) {

// start AP and get ready to serve config web page

// leave relay on to indicate in config mode

//。..。..

} else {

// normal usage

// make GPIO0 HIGH to turn off the relay

digitalWrite(0, HIGH);

//。..。.

}

// rest of setup()

}

检测手动覆盖按钮

中进行此操作。开机时按下按钮以启用配置模式。除了能够通过WiFi链接控制继电器之外,我们还希望使用该按钮作为手动替代来打开和关闭继电器。

此处不介绍继电器的WiFi控制,但可以使用pfodApp轻松完成。有关如何使用pfodDesigner为ESP8266模块生成Arduino代码的信息,请参见OLIMEX菜单生成器。

本节将介绍如何检测何时按下按钮,指示用户想要切换继电器,即打开它。如果是OFF,则将其打开;如果关闭,则将其打开。原理图与上面相同,所有技巧都在代码中。有两种情况需要考虑:-

继电器已关闭,用户希望使用按钮将其打开,

继电器已打开,用户希望

继电器关闭,用户希望使用按钮将其打开。

在这种情况下, GPIO0为高电平。在这种情况下,实际上GPIO0可以作为输入,因为上拉电阻R1将确保继电器不会打开。那是诀窍。在这种情况下,将GPIO0设为输入,将GPIO2输出设为LOW,然后当用户按下按钮时,将发生两件事:-a)由于GPIO2通过按钮提供的接地,继电器将打开,并且b)输入GPIO0将变为低电平。该代码检查输入GPIO0的状态,并在输入GPIO0变为低电平时知道使用已按下按钮并希望继电器打开。然后,该代码使GPIO0变为Output LOW,以在释放按钮时使继电器保持打开状态。

继电器打开,用户希望使用按钮将其关闭。

在这种情况下,从上述情况开始,GPIO0为输出低电平,继电器保持打开状态。现在,在这种情况下,将GPIO2设为输入(由R3上拉),然后当用户按下按钮时,输入GPIO2被GPIO0上的LOW输出拉低。当用户释放按钮时,代码将检测到低电平到高电平的过渡,然后将GPIO0设为输入,由于上拉电阻R1而释放继电器,并使GPIO2变为输出LOW,以针对上述情况i)进行设置。

还有另一个窍门。对于情况ii),我们需要GPIO2作为输入,该输入可检测到从低电平到高电平的转换以关闭继电器。但是,如果我们在情况i)的末尾制作GPIO2并输入,那么当用户释放他们刚刚按下以打开继电器的按钮时,我们将获得从低到高的转换。为避免立即再次关闭继电器,将忽略继电器打开后的第一个从低到高的过渡,因为这只是用户释放他们按下的按钮来打开继电器。

示例循环( )继电器手动超越控制代码

在此代码中,为简单起见,我忽略了开关的反跳。输入应在任何实际应用中进行去抖动。

示例代码在此处,ESP8266_01pinMagic_1.ino

再次使TX/RX引脚可用进行串行调试或用作其他I/O

结论

此页显示了如何充分利用ESP8266-01上可用的有限引脚。将GPIO0/GPIO2用作I2C总线可提供最大的扩展,但是如果您的项目不使用I2C,您仍可以使用GPIO0/GPIO2来驱动继电器并检测按钮输入。无论哪种情况,TX/RX都可用于串行调试,或者如果您通过WiFi链接发送调试打印语句,则这些引脚也可用于常规I/O。
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 指示灯
    +关注

    关注

    3

    文章

    419

    浏览量

    29170
  • ESP8266
    +关注

    关注

    51

    文章

    966

    浏览量

    48999
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    光纤收发器6个指示灯含义

    在工业通信、安防监控、企业组网等场景中, 光纤收发器 作为光电转换的关键设备,广泛应用于千兆/百兆以太网的远距离传输。然而,当网络出现中断或不稳定时,很多用户面对设备上闪烁的指示灯却一头雾水。其实
    的头像 发表于 12-05 09:44 128次阅读
    光纤收发器6个<b class='flag-5'>指示灯</b>含义

    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) ESP8285/ESP8266芯片案例

    【应用】国产26MHz频率晶振应用于物联网WIFI物联网模块(串口转WiFi模块),Espressif(乐鑫)ESP8285/ESP8266芯片匹配测试OKESP8285其实是ESP8266的升级版
    的头像 发表于 11-21 15:37 4044次阅读
    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32开发板常见的2种下载方式

    ESP32和ESP8266是性价比很高而且使用较为广泛的的Wi-Fi模块,在物联网(IoT)领域的DIY项目中可以首先考虑这2款产品。 两款芯片都属于32位处理器。ESP32是低功耗双核80MHz
    的头像 发表于 11-10 20:30 323次阅读
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32开发板常见的2种下载方式

    深入解析TE Connectivity ALCOSWITCH系列LED指示灯与蜂鸣器技术特性与应用

    TE Connectivity/Alcoswitch LED指示灯(ILE)和蜂鸣器(IBE)是同类领先的LED和有声器件。ILE指示灯设有具有均匀明亮照明的双LED,可为各种应用提供宽电压范围
    的头像 发表于 11-03 09:21 313次阅读
    深入解析TE Connectivity ALCOSWITCH系列LED<b class='flag-5'>指示灯</b>与蜂鸣器技术特性与应用

    ESP8266ESP32开发板常见的2种下载方式

    原文链接:https://www.yourcee.com/newsinfo/2924258.html ESP32与ESP8266简介 ESP32和ESP8266是性价比很高而且使用较为
    发表于 10-24 18:04

    小米无线充电宝指示灯坏了

    充电宝指示灯失灵可能由多种原因引起,需通过系统检测和针对性修复解决。
    的头像 发表于 09-28 08:18 1385次阅读
    小米无线充电宝<b class='flag-5'>指示灯</b>坏了

    请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗

    请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
    发表于 09-17 12:06

    ESP8266】进入透传模式后,数据间隔怎么调整,

    01.TCP客户端用ESP8266透传模式发送数据是10ms发送一次,(连续发送) 02.TCP服务器接收到的数据是200ms左右接收一次,数据未丢失,但是更新不及时; 03.通过TCP调试助手已
    发表于 09-15 10:16

    STM32+esp8266连接机智云,上传温湿度数据并控制继电器开关(平台配置、代码生成、代码移植)

    本教程将详细介绍如何将STM32微控制器与ESP8266Wi-Fi模块连接到机智云平台,实现温湿度数据的上传与继电器的远程控制。通过此过程,您将学会如何配置机智云平台,烧录ESP8266固件,移植
    的头像 发表于 07-15 18:54 745次阅读
    STM32+<b class='flag-5'>esp8266</b>连接机智云,上传温湿度数据并控制继电器开关(平台配置、代码生成、代码移植)

    PLC指示灯异常闪烁原因及维修

    PLC(可编程逻辑控制器)作为工业自动化控制的核心设备,其运行状态的稳定性直接影响生产线的效率与安全。指示灯作为PLC最直观的状态反馈窗口,其异常闪烁往往预示着潜在故障。本文将系统分析PLC指示灯
    的头像 发表于 06-07 16:13 6446次阅读
    PLC<b class='flag-5'>指示灯</b>异常闪烁原因及维修

    ESP8266烧录与机智云一键配网教程

    ESP8266模块因其低成本和高性能,广泛应用于智能家居和工业自动化等领域。机智云平台提供了一键配网功能,简化了设备的联网过程。本教程将详细介绍如何使用ESP8266进行烧录,并通过机智云实现一键配
    的头像 发表于 05-24 11:04 1549次阅读
    <b class='flag-5'>ESP8266</b>烧录与机智云一键配网教程

    是德LCR测试仪E4980A故障指示灯含义解读与处理指南

    是德科技E4980A精密LCR表作为电子元件参数测量的核心设备,其故障指示灯系统为用户提供了一套直观的故障诊断工具。本文将结合官方手册技术文档与工程实践,深入解析E4980A各指示灯的警示含义、故障
    的头像 发表于 05-13 15:58 716次阅读
    是德LCR测试仪E4980A故障<b class='flag-5'>指示灯</b>含义解读与处理指南

    LCR测试仪故障指示灯含义解读及故障排除指南

    LCR测试仪作为电子元件参数测量的核心设备,其故障指示灯系统为操作人员提供了快速诊断设备状态的直观窗口。当仪器出现异常时,不同颜色和闪烁模式的指示灯组合往往对应着特定的故障类型,准确解读这些信号不仅
    的头像 发表于 04-30 15:16 932次阅读
    LCR测试仪故障<b class='flag-5'>指示灯</b>含义解读及故障排除指南

    光纤收发器指示灯的常见故障及解决方案

    光纤收发器是现代网络通信中的核心设备之一,它通过光缆传输数据,提供了高速且稳定的连接。了解光纤收发器的指示灯含义及其故障排查方法,对于确保网络通信的稳定性和可靠性至关重要。本文将详细解析光纤收发器指示灯的常见故障、故障原因及解决方法,旨在为读者提供一份高质量的技术指南。
    的头像 发表于 02-02 14:54 6047次阅读

    2引脚VSFN mikroBUS™插座板用户指南

    电子发烧友网站提供《2引脚VSFN mikroBUS™插座板用户指南.pdf》资料免费下载
    发表于 01-21 13:53 0次下载
    2<b class='flag-5'>引脚</b>VSFN mikroBUS™插座板用户指南