NodeMCU-32S 开发板左右各19个引脚,共38个,下图中1Z实验室为大家对NodeMCU-32S的各个引脚进行了详细的标注。
NodeMCU-32S总共拥有2排引脚,各19个,共计38个。
负责供电和使能的基础引脚共有6个:
名称 | 功能 | 位置 |
---|---|---|
Vin | 用于开发板5V供电 | 上图左下角,褐色标签 |
3V3 | 3.3V电压输出 | 上图左上角,红色标签 |
GND | 共地 | 上图黑色标签,共三个 |
EN | 使能端,可触发复位操作 | 上图左上角第二个,黄色 |
GPIO是General-purpose input/output的缩写,意思为通用型输入或输出,ESP32上的GPIO共有32个。
规约
NodeMCU32-S开发板背面实际印刷的是P0 - P39,上图中的标注使用的是GPIO - GPIO39
接下来的教程中我们所说的 GPIO+编号 = NodeMCU-32S开发板背面印刷的 P+编号
上图是我们的助教小姐姐为大家PS的一张更为人性化的NodeMCU-32S的引脚标注图,笔者放在此处,方便你们后面的阅读。
NodeMCU-32S的GPIO引脚共32个, 编号范围从 P0 - P39 对应于上图中的GPIO0 - GPIO39,按照编号计算应该有40个GPIO引脚,实际上ESP32这块芯片确实有这么多个GPIO,但是由于开发板的封装 等原因,以下编号的引脚在ESP32的开发板中通常未被引出:
GPIO20 GPIO24 GPIO28 GPIO29
GPIO30 GPIO31 GPIO37 GPIO38
同时,你还需要注意的是,NodeMCU-32S上对以下几个GPIO 进行了特殊标注:
NodeMCU-32S的特殊标记 | 原GPIO编号 |
---|---|
CLK | GPIO6 |
SD0 | GPIO7 |
SD1 | GPIO8 |
SD2 | GPIO9 |
SD3 | GPIO10 |
CMD | GPIO11 |
SVP | GPIO36 |
SVN | GPIO39 |
几乎所有的GPIO都能进行I/O双向输入输出控制,但是以下的几个GPIO例外,只能进行输入,而无法进行输出:
GPIO34, GPIO35, GPIO36, GPIO39
功能简介 | 缩写 | 可用的GPIO编号 | 备注 |
---|---|---|---|
模拟信号采样 | ADC | 32, 33, 34, 35, 36, 39 | |
模拟信号输出 | DAC | 25, 26 | |
串行通信 | UART | 1(TX0),3(RX0), 10(TX1),9(RX1), 17(TX2),16(RX2) |
共三组 |
探测由手指或其他物品直接接触或接近而产生的电容差异 | TOUCHPAD | 0, 2, 4, 12, 13, 14, 15, 27, 32, 33 | |
SPI总线接口 | SPI | hspi(14,12,13,15) vspi(23,19,18,5) |
|
I2C总线接口 | I2C | SDA(21) SCL(22) | MicroPython并未实现硬件的I2C |
PID控制算法是结合比例、积分和微分三种环节于一体的控制算法,它是连续系统中技术最为成熟、应用最为广泛的一种控制算法。
本文介绍ESP32中的中断机制,以及如何通过GPIO中断实现按钮控制。重点讲解了如何设置中断服务例程、处理中断抖动问题,并提供了消除中断抖动的示例代码。
本文主要介绍在未联网(AP热点)情况下实现WEB交互界面的CSS和javascript库。
本文介绍如何使用Arduino-ESP32库中的API函数获取ESP32的芯片、RAM信息等,并提供了一个示例程序代码。
ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
ESP32 芯片有34个物理GPIO管脚。每个GPIO管脚都可用作一个通用IO,或连接一个内部的外设信号。IO_MUX ¹、RTC IO MUX 和GPIO交换矩阵用于将信号从外设传输至GPIO管脚。
ESP32Encoder库是一个利用ESP32脉冲计数器硬件外设实现高效旋转编码器读取的软件库。
本文对比了几款适合物联网开发的盒子硬件参数,供大家参考。
乐动掌控采用掌控板作为主控,塑胶一体式外壳,侧面和底面开具多个乐高扩展孔位,兼容乐高积木,可完成多种创意应用。
在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。
Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。