ESP 保姆级教程 基础篇 —— 环境安装、NodeMcu引脚介绍

本文提供ESP8266和ESP32 NodeMcu的保姆级教程,涵盖Arduino IDE安装、配置,以及两种开发板的引脚定义和功能解析,包括ADC输入、PWM、IIC、SPI等接口详细说明。
摘要由CSDN通过智能技术生成

手把手代码注释,完整案例讲解开发过程以及细节,一键式运行代码。
ESP保姆级付费专栏群 707958244,不喜勿加,凭借付费专栏订单号加入

参考:

1、安装 Arduino IDE —— 1.8.13

在这里插入图片描述

2、安装 ESP8266 —— 2.7.4

在这里插入图片描述
双击安装完毕后,可以查看环境是否配置成功。
在这里插入图片描述

3、配置Arduino IDE 首选项

在这里插入图片描述
找到首选项。

在这里插入图片描述
编译上传勾选上。

4、硬件开发板 —— ESP8266 NodeMcu 和 ESP32 NodeMcu

本系列只推荐 ESP8266 NodeMcu 和 ESP32 NodeMcu(对于初学者来说少走很多弯路,极度极度推荐),没有之一。
在这里插入图片描述
上图为ESP8266
在这里插入图片描述
左边为ESP32,右边为ESP8266

5、ESP8266 NodeMcu 开发板

下图为模组(芯片)引脚:
在这里插入图片描述
下图为NodeMcu(开发板)引脚:
在这里插入图片描述

5.1 引脚定义

在这里插入图片描述

  • 绿色高亮标识引脚可以大胆放心普通IO口用
  • 黄色高亮标识 引脚可以普通IO口用,但是需要注意启动时候的状态
  • 红色高亮标识引脚就不建议做普通IO口

5.2 跟启动相关的引脚

有一些引脚(上拉或者下拉)可以阻止ESP8266正常启动。

  • GPIO16: pin is high at BOOT

启动的时候输出高电平

  • GPIO0: boot failure if pulled LOW

如果下拉到GND,直接启动失败

  • GPIO2: pin is high on BOOT, boot failure if pulled LOW
  • 启动的时候输出高电平
  • 如果下拉到GND,直接启动失败
  • GPIO15: boot failure if pulled HIGH
  • 如果上拉到VCC,直接启动失败
  • GPIO3: pin is high at BOOT

启动的时候输出高电平

  • GPIO1: pin is high at BOOT, boot failure if pulled LOW
  • 启动的时候输出高电平
  • 如果下拉到GND,直接启动失败
  • GPIO10: pin is high at BOOT

启动的时候输出高电平

  • GPIO9: pin is high at BOOT

启动的时候输出高电平

除开上面列举的IO口,除了GPIO5和GPIO4以外,其他IO口都可以输出一个低电平。

GPIO4 and GPIO5 are the most safe to use GPIOs if you want to operate relays. (IO4/IO5 是最安全用来操作继电器)

5.3 ADC输入

在ESP8266上只有一个ADC GPIO。它的测量范围是 0 to 1V。而NodeMcu基于ESP8266-12,所以也只有一个ADC GPIO,但是由于电阻分压电路,可以测量范围扩展到 0-3.3V

5.4 板载LED灯

NodeMcu上存在一个板载LED灯,目前是连接到 GPIO2。

高电平灭、低电平亮

5.5 复位按键

在这里插入图片描述
当按键接到GND,ESP8266复位,系统重启。

5.6 GPIO0 —— 烧录 or 工作

在这里插入图片描述

  • 当GPIO0 接到GND,ESP8266处于烧录下载模式
  • 当GPIO0 接到Vcc,ESP8266处于正常工作模式

5.7 GPIO16 —— 睡眠唤醒

GPIO16可以用来把ESP8266从睡眠模式中唤醒,只需要把GPIO16接到 RST引脚。

5.8 IIC总线

  • GPIO5: SCL
  • GPIO4: SDA

5.9 SPI总线

  • GPIO12: MISO
  • GPIO13: MOSI
  • GPIO14: SCLK
  • GPIO15: CS

5.10 PWM引脚

GPIO0-GPIO16都可以作为软件PWM引脚。并且PWM是10位。

5.11 中断引脚

除开GPIO16,其他GPIO都可以作为中断引脚。

6. ESP32 NodeMcu开发板

在这里插入图片描述

在这里插入图片描述

6.1 引脚定义

  • 绿色高亮标识引脚可以大胆放心普通IO口用
  • 黄色高亮标识 引脚可以普通IO口用,但是需要注意启动时候的状态
  • 红色高亮标识引脚就不建议做普通IO口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2 只能作为输入引脚

  • GPIOs 34 - 39

6.3 SPI Flash占用引脚,不需要使用

  • GPIO 6 (SCK/CLK)
  • GPIO 7 (SDO/SD0)
  • GPIO 8 (SDI/SD1)
  • GPIO 9 (SHD/SD2)
  • GPIO 10 (SWP/SD3)
  • GPIO 11 (CSC/CMD)

6.4 电容式触摸GPIO

在这里插入图片描述

  • T0 (GPIO 4)
  • T1 (GPIO 0)
  • T2 (GPIO 2)
  • T3 (GPIO 15)
  • T4 (GPIO 13)
  • T5 (GPIO 12)
  • T6 (GPIO 14)
  • T7 (GPIO 27)
  • T8 (GPIO 33)
  • T9 (GPIO 32)

6.5 ADC

ESP32有 18 x 12 bits ADC 。12位ADC意味着 0 to 4095(0v-3.3v)

对应引脚:

  • ADC1_CH0 (GPIO 36)
  • ADC1_CH1 (GPIO 37)
  • ADC1_CH2 (GPIO 38)
  • ADC1_CH3 (GPIO 39)
  • ADC1_CH4 (GPIO 32)
  • ADC1_CH5 (GPIO 33)
  • ADC1_CH6 (GPIO 34)
  • ADC1_CH7 (GPIO 35)
  • ADC2_CH0 (GPIO 4)
  • ADC2_CH1 (GPIO 0)
  • ADC2_CH2 (GPIO 2)
  • ADC2_CH3 (GPIO 15)
  • ADC2_CH4 (GPIO 13)
  • ADC2_CH5 (GPIO 12)
  • ADC2_CH6 (GPIO 14)
  • ADC2_CH7 (GPIO 27)
  • ADC2_CH8 (GPIO 25)
  • ADC2_CH9 (GPIO 26)

分为ADC1和ADC2.

请注意,ADC2通道在ESP32开启WIFI后,功能会受到限制,建议使用ADC1通道!

6.6 DAC

2 x 8 bits DAC

对应引脚:

  • DAC1 (GPIO25)
  • DAC2 (GPIO26)

6.7 RTC

提供了单独的 RTC GPIO(共18个引脚)支持,这些GPIO连接到“ RTC”低功耗和模拟子系统,当芯片处于深度睡眠状态,需要运行超低功耗协处理器(ULP)或使用ADC / DAC /等模拟功能时,这些GPIO便起作用。
在这里插入图片描述

  • RTC_GPIO0 (GPIO36)
  • RTC_GPIO3 (GPIO39)
  • RTC_GPIO4 (GPIO34)
  • RTC_GPIO5 (GPIO35)
  • RTC_GPIO6 (GPIO25)
  • RTC_GPIO7 (GPIO26)
  • RTC_GPIO8 (GPIO33)
  • RTC_GPIO9 (GPIO32)
  • RTC_GPIO10 (GPIO4)
  • RTC_GPIO11 (GPIO0)
  • RTC_GPIO12 (GPIO2)
  • RTC_GPIO13 (GPIO15)
  • RTC_GPIO14 (GPIO13)
  • RTC_GPIO15 (GPIO12)
  • RTC_GPIO16 (GPIO14)
  • RTC_GPIO17 (GPIO27)

在这里插入图片描述

6.8 PWM

ESP32 有16个独立通道来生成PWM信号。基本上所有的引脚都可以用来作为PWM引脚(除开 GPIOs 34 to 39)

6.9 I2C

ESP32有 两个I2C通道,以及 任意的引脚都可以设置为 SDA or SCL。

默认I2C引脚

  • GPIO 21 (SDA)
  • GPIO 22 (SCL)
  • 11
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单片机菜鸟哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值