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 |
步进电机是将电脉冲信号,转变为角位移或线位移的开环控制电机,又称为脉冲电机。
相信很多人都有把绿植给养死的经历,可能是浇水过多、忘记浇水、较长时间不在家不能浇水等,本文介绍一种可以灵活定制的智能浇花方案。
MicroPython 在 ESP32 上支持线程(Thread)功能,通过_thread模块实现。线程允许程序并发执行多个任务,适合处理需要同时运行的场景,例如传感器数据采集和网络通信。
掌控板3.0升级了主控,还主打AI。带有双麦克风阵列,增加了音频解码芯片,板载了一个1W喇叭,还把之前的单色屏幕换成了1.47寸的彩色屏幕,有更多的可玩性。
使用了 MicroPython 库,通过 定时器(Timer) 和 ADC(模数转换器) 功能来实时读取传感器数据。使用定时器可以实现高精度、非阻塞、低资源消耗的周期性任务,保证实时性和可靠性,特别适用于嵌入式系统中的多任务处理和低功耗场景。
ESP32的DAC函数可以实现真正的模拟输出。
ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。
本文学习如何使用ESP32开发板来进行多线程的开发。
ESP8266有三种工作模式,分别为:AP,STA,AP混合STA
ESP32有四个SPI外设,分别为SPI0、SPI1、HSPI和VSPI。
ESP32有2个硬件I2C总线接口,接口可以配置为主机或从机模式。