03-NodeMCU引脚和接线、点亮外部LED

这篇具有很好参考价值的文章主要介绍了03-NodeMCU引脚和接线、点亮外部LED。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Author:teacherXue

一、ESP8266 引脚参考

ESP8266 12-E 芯片带有 17 个 GPIO 引脚。并不是所有的ESP8266开发板都开放了所有的GPIO,并且由于电力设计原因,以及有些GPIO有非常特殊的功能,部分的GPIO不推荐使用。了解ESP8266的GPIO,并通过为项目使用最合适的引脚来提高成功的概率。

  1. ESP8266 引脚

  • 17个GPIO

  • SPI接口

  • I2C(软件实现)

  • I2S 与 DMA 接口

  • 串口

  • 10 位模数转换器

  • 模拟信号输入接口(只有一个)

ESP8266 需要注意GPIO 编号与板上丝印上的标签不匹配。例如,D0对应GPIO16,D1对应GPIO5。下表是丝印上的标签和GPIO编号的对应关系,以及你项目中哪些管脚最好用,哪些需要注意。以绿色突出显示的引脚可以使用。黄色高亮的是可以使用的,但要注意,因为它们主要在启动时可能会出现意外行为。不建议将红色突出显示的引脚用作输入或输出(图表来源randomnerdtutorials.com),在没搞清楚所有引脚的作用时。尽量使用绿色引脚。

标签

通用输入输出接口

输入

输出

备注

D0

GPIO16

没有中断

不支持 PWM 或 I2C

开机时高

通常从深度睡眠中唤醒

D1

通用输入输出口5

好的

好的

经常用作SCL(I2C)

D2

通用输入输出口4

好的

好的

经常用作SDA(I2C)

D3

通用输入输出0

拉高

好的

连接到 FLASH 按钮,如果拉低则启动失败

D4

通用输入输出2

拉高

好的

开机时高

连接到板载 LED,如果拉低则启动失败

D5

GPIO14

好的

好的

SPI接口(SCLK)

D6

GPIO12

好的

好的

SPI接口(MISO)

D7

GPIO13

好的

好的

SPI接口(MOSI)

D8

GPIO15

拉到GND

好的

SPI接口(CS)

如果拉高则引导失败

RX

通用输入输出口3

好的

接收引脚

开机时高

TX

通用输入输出口 1

TX 引脚

好的

开机时高

启动时调试输出,如果拉低则启动失败

A0

ADC0

模拟输入

X

A0

ESP826612-E NodeMCU Kit

03-NodeMCU引脚和接线、点亮外部LED

ESP8266-01Pinout

03-NodeMCU引脚和接线、点亮外部LED

WemosD1 Mini Pinout

03-NodeMCU引脚和接线、点亮外部LED
1)GPIO6 到 GPIO11 通常连接到ESP8266 板上的闪存芯片。因此,不建议使用这些引脚。
2)引导期间被使用的引脚
  • GPIO16:引脚在 BOOT 时为高电平

  • GPIO0:如果拉低则启动失败

  • GPIO2:引脚在 BOOT 时为高电平,如果拉低则引导失败

  • GPIO15:如果拉高则启动失败

  • GPIO3 : 引脚在 BOOT 时为高电平

  • GPIO1 : 引脚在 BOOT 时为高电平,如果拉低则引导失败

  • GPIO10 : 引脚在 BOOT 时为高电平

  • GPIO9 : 引脚在 BOOT 时为高电平

3)开机时为高电平的引脚

当 ESP8266 启动时,某些引脚会输出 3.3V 信号。如果您将继电器或其他外围设备连接到这些 GPIO,这可能会出现问题。以下 GPIO 在启动时输出高电平信号:

  • GPIO16

  • 通用输入输出口3

  • 通用输入输出口 1

  • GPIO10

  • GPIO9

此外,除 GPIO5 和 GPIO4 之外的其他 GPIO 可以在启动时输出低电压信号,如果这些 GPIO 连接到晶体管或继电器,则可能会出现问题。如果操作继电器,GPIO4 和 GPIO5 是使用 GPIO 最安全的。

4)模拟输入

ESP8266 只支持一个 GPIO 的模拟读取。该 GPIO 称为ADC0,通常在丝印上标记为A0。如果您使用的是 ESP8266 裸芯片,则 ADC0 引脚的最大输入电压为 0 至 1V。如果您使用的是像ESP8266 12-E NodeMCU 套件这样的开发板,电压输入范围是 0 到 3.3V,因为这些板包含一个内部分压器。

5)板载LED

大多数 ESP8266 开发板都有一个内置 LED。这个 LED 通常连接到GPIO2。

6)RST引脚

当 RST 引脚被拉低时,ESP8266 复位。这与按下板载 RESET 按钮相同。他被连接在开发板的RESET按钮。

03-NodeMCU引脚和接线、点亮外部LED
7)GPIO 0 引脚

当 GPIO0 被拉低时,它会将 ESP8266 设置为引导加载程序模式。这与按板载 FLASH/BOOT 按钮相同。

03-NodeMCU引脚和接线、点亮外部LED
8)GPIO16引脚

GPIO16 可用于将 ESP8266 从深度睡眠中唤醒。要将 ESP8266 从深度睡眠中唤醒,GPIO16 应连接到 RST 引脚。深度睡眠可以在某些特定的场景中通过使用电池长达数月甚至于数年的连续工作。

9)I2C接口

ESP8266 没有硬件 I2C 引脚,但可以用软件实现。所以您可以将任何 GPIO 用作 I2C。通常,以下引脚为通常使用的I2C引脚。

  • GPIO5: SCL

  • GPIO4: SDA

10)SPI引脚

SPI通信引脚,通常很多的微型液晶显示模块采用此接口,引脚定义如下:

  • GPIO12: MISO

  • GPIO13: MOSI

  • GPIO14: SCLK

  • GPIO15: CS

11)PWM接口

ESP8266 允许在所有 I/O 引脚上使用软件 PWM:GPIO0到 GPIO15。ESP8266 上的 PWM 信号具有 10 位分辨率。可以简单理解为,使用数字信号产生和模拟控制相似的波形曲线。例如控制LED的亮度,PWM电机调速,舵机等。

12)中断引脚

ESP8266 支持GPIO16外任何 GPIO 中的中断。中断操作具有更高的优先级。

  1. 认识面包板

实验中,需要频繁的连接设备引线,焊接显然不是很好的办法。面包板是由于板子上有很多小插孔,专为电子电路的无焊接实验设计制造的。由于各种电子元器件可根据需要随意插入或拔出,免去了焊接,节省了电路的组装时间,而且元件可以重复使用,所以非常适合电子电路的组装、调试和训练。

这里推荐400孔的面包板,他体积小巧,又有足够多的插孔来连接外设,并且可以通过拼装,凑成更大的工作板。

03-NodeMCU引脚和接线、点亮外部LED

面包板,由中间板和两侧的电源扩展板构成,三者可分离。其结构上中间板在中轴线两侧横向插口导通,用于并联元器件引脚。电源扩展板纵向导通,用于分享电源的正负极。对于NodeMCU开发板刚好可以分别引出3.3v和5v电源。

03-NodeMCU引脚和接线、点亮外部LED
03-NodeMCU引脚和接线、点亮外部LED

在使用硬质导线,并花费一定精力设计的情况下,可以获得近似于电路板设计的效果,并且他们是可以拆卸的。

03-NodeMCU引脚和接线、点亮外部LED

通常情况下,使用面包板插线可实现更为快速的引脚连接。它是两段带有金属探针的软线,可以跨越很多原件进行连接。

03-NodeMCU引脚和接线、点亮外部LED

一、使用面包板完成可控LED实验

本实验,我们将使用NodeMCU和400孔的面包板,实现外接的LED,并通过模拟旋钮控制器,控制其亮度的变化。

  1. 安装开发板

将NodeMCU开发板,usb接口向外插入面包板的中间,并使得引脚刚好在最左侧的中间位置,这时在开发板两侧刚好会各有一排插孔,可以将外设的信号线通过面包板和开发板引脚相连。

  • VIN引脚是是双向引脚:可以接5v直流电源为开发板供电,这是一个常见的电源电压,USB供电也是这个数值。当USB接口被接入时,VIN引脚可以获得直接来自供电端的5v电流,理论上这个5v的直接供电能力和usb供电能力相同,注意通过板子的同一侧数据引脚的供电和它没有关系。

  • 3V3引脚:是通过稳压电源输出的符合绝大多数芯片工作电压的输出,但其供电能力有限,较大功率负载(>500ma)需要通过电路放大器外接供电。

  • GND引脚:为共地地引脚,不理解的通学们,将其当负极即可。开发板上共有三个,设备接地到任意一个均可。

我们按下图将开发板的5v和3.3v分别引出到面包板两侧的电源扩展,红正黑负是良好的习惯,接反大概率会有某些芯片冒烟。

03-NodeMCU引脚和接线、点亮外部LED
  1. 安装LED灯珠

不同颜色的灯珠有着不同的耐压和功耗,大致参数如下:

:工作电流 20(mA) 工作电压 3.0-3.4(V)功率 0.06(W)

:工作电流 20(mA) 工作电压 1.8-2.2(V)功率 0.06(W)

绿:工作电流 20(mA) 工作电压 3.0-3.4(V)功率 0.06(W)

:工作电流 20(mA) 工作电压 3.0-3.4(V)功率 0.06(W)

:工作电流 20(mA) 工作电压 1.8-2.2(V)功率 0.06(W)

LED灯珠非常的省电,其可以非常便利的被开发板带动,但同时其也容易被烧毁(参看上表,红色灯珠拥有最小的耐压,更加容易被烧毁),理论上使用LED灯珠需要串联一个330欧姆的电阻,但我更加倾向于省却这个电阻,他会使得我的板子布线比较简洁,虽然有概率烧毁,但不经常发生。并且灯珠的价格非常低廉,实验中,烧了换掉就好了。

LED灯珠具有单向导通能力,只能在一个电流方向上被点亮,通常情况下,灯珠的引脚一长一短,长引脚为供电(正极),短引脚为接地(负极),我一般按下图处理引脚(左侧的白色灯珠),这样它将更加容易被插入面包板。

03-NodeMCU引脚和接线、点亮外部LED

将处理好的LED灯珠的长脚插入开发板丝印的D5引脚边上的孔中,短引脚插入面包板3.3v扩展供电段的接地(负极)插孔中,如下图(注意,照片中的LED插入的是D3引脚)。文章来源地址https://www.toymoban.com/news/detail-500500.html

03-NodeMCU引脚和接线、点亮外部LED
  1. 创建灯控项目

1)在 VS Code 上,单击 PlartfomIO主页图标。点击+ New Project创建Lamp_ctl_v1.0项目并确定。
03-NodeMCU引脚和接线、点亮外部LED
2)修改platformio.ini文件,增加串口率设置monitor_speed = 115200。
03-NodeMCU引脚和接线、点亮外部LED

3)编辑main.cpp主文件,基本参考上一节的亮灯代码,其中LED引脚定义为14,查阅引脚对应表,D5引脚对应的是GPIO14

    #include  <Arduino.h>
     
    #define LED 14   // D5引脚对应的是GPIO14
     
    void setup() {
      // put your setup code here, to run once:
      Serial.begin(115200); //设置串口通信波特率
      pinMode(LED, OUTPUT);
    }
     
    void loop() {
      // put your main code here, to run  repeatedly:
      digitalWrite(LED, HIGH);  
      Serial.println("LED is on"); //通过串口通讯打印信息
      delay(1000);
      digitalWrite(LED, LOW);
      Serial.println("LED is off"); //通过串口通讯打印信息
      delay(1000);
    }
4)编译烧录固件。
03-NodeMCU引脚和接线、点亮外部LED
5)一秒间隔闪烁的白色LED,通过实验我们发现,搞清楚引脚后修改代码执行并不困难。
03-NodeMCU引脚和接线、点亮外部LED

到了这里,关于03-NodeMCU引脚和接线、点亮外部LED的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TYPE-C 6P 引脚接线(快速通关)

    找了很多文章关于TYPE-C接线的写的很详细,对于急于求成的画板人来说,网上没找到接线图。 我直接引出来了。   A12 B12对应GND A9 B9对应VCC A5 B5 如果是仅充电用的就不用接(提高传输电压用的) CC1和CC2的作用(感兴趣可以了解一下)  这里不得不提一下CC1、CC2引脚的作用,

    2024年02月11日
    浏览(34)
  • 学习笔记|LED点亮原理|STC32G单片机视频开发教程(冲哥)|第四集-下:点亮LED

    新建工程时待选择的Device:如 STC32G12K128 Seies,需要先在下拉菜单中选择“STC MCU Database”,然后可以选择STC32G12K128 Seies了。 当前以上节课的代码为基础,经过精简后的代码(裸板未添加任何头文件): 需手工下载至开发板(屠龙刀三.1版)。 当前已实现功能:点亮P2^1端口的板

    2024年02月13日
    浏览(52)
  • 【ESP32DEVKITV1学习笔记】WiFi连接网络点亮一盏LED灯|手机APP点亮LED

    拖延症间歇性康复,让我把这个笔记再补充一下下:使用手机APP控制LED的亮灭。 需要注意:本文章仅演示手机APP控制LED亮灭的简单功能,所以使用的是板载的LED,有更多需求的朋友可以根据自己的实际情况来修改例程,以满足自己具体需求。 用户可通过手机APP对LED的亮灭进

    2024年02月09日
    浏览(55)
  • ARM--LED灯点亮

     LED1,LED2,LED3亮灯      

    2024年02月15日
    浏览(36)
  • 点亮第一个LED灯

    单向导电性,3mA-20mA之间。 怎么判断阴阳极。直插式:长的是阳极,短的是阴极。 贴片式 无箭头彩色的是阳极。 阳极为高电平,阴极为低电平,电流才能过来。两端都是高电平,电流流不过来,为什么? 让LED发光即对应的阴极管脚应该为低电平,若为高电平则熄灭。 sfr

    2023年04月27日
    浏览(27)
  • 点亮一颗LED灯

    TOC LED0 LED1 Periph ---------Peripherals—[pəˈrɪfərəlz]— 外设 Hardware中添加LED.C和LED.h文件 LED.h文件中,添加一段 防止头文件重复 的代码 LED.h 注意最后一行空 LED.c LED.C 文件中,右键添加“stm32f10x.h”头文件

    2024年02月12日
    浏览(31)
  • FPGA——点亮led灯

    quartus18.1 vscode Cyclone IV开发板 每间隔1S实现led灯的亮灭,实现流水灯的效果。 3.1 编写verliog程序 3.2 引脚配置 4.1 仿真代码 4.2仿真结果 本次实验主要是学习verilog的基础语法,掌握计数器的编写以及时序逻辑的设计方法。另外在进行仿真的时候需要修改计数器的大小,因为我们

    2024年02月16日
    浏览(40)
  • 使用STM32点亮LED

    假设你手中已有 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED,并搭建了电路,分别GPIOA-5、GPIOB-9、GPIOC-14 这3个引脚上控制LED灯(最高时钟2Mhz),轮流闪烁,间隔时长1秒。 1)写出程序设计思路,包括GPIOx端口的各寄存器地址和详细参数; 2)用C语言 寄存器方式编程实

    2024年02月03日
    浏览(42)
  • STM32萌新学习日志——用GPIO外设寄存器输出点亮LED对比库函数点亮LED——谈学习感悟

            本周学习STM32单片机,由于之前学过51单片机,为了便于切入,先学习了寄存器点亮LED灯的方法,整体思路与51单片机相似。在基本掌握后,尝试自己构建库函数雏形,过程比较困难,后面开始借鉴野火官方库函数。         这里其实建议大家在学会构建库函数后

    2024年03月17日
    浏览(93)
  • 【用PROTEUS仿真点亮LED项目】

    设计要求:在本项目中,将设计微控制器的基本电路,其中包括晶体振荡器等。将单片机任何I / O引脚上连接一个小LED,然后使其闪烁。 实现过程: 1、在PROTEUS中绘制系统原理图 首先在PROTEUS ISIS 中找到相关组件,绘制原理图如下: 现在可以在上图中看到,系统使用了16MHz的

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包