如何快速从Arduino过渡到ESP32的新手指南-基础篇

描述

我相信,对于习惯了使用Arduino的朋友们,开始使用ESP32的GPIO引脚可能会遇到一些棘手的问题。

ESP32并非和Arduino一模一样,因此在选择引脚时需要注意一些差异,以避免不必要的麻烦。

本文将为你提供从Arduino到ESP32 GPIO引脚平稳过渡的指南,让你轻松解决各种问题。

基础篇内容

引脚使用注意事项

电源引脚

ADC引脚

DAC引脚

PWM引脚

Touch引脚


学会看硬件的说明书

要了解ESP32,最简单的就是找到技术规格书,又叫做datasheet(点击原文链接)。技术规格书通常包含了硬件和软件方面的详细信息,能够帮助你更全面地了解ESP32的功能和性能。

为了高效清晰与严谨,技术规格书一般很“不人性化”,对于不习惯阅读技术内容的人,非常容易让人看得头昏眼花,所以我会掰开揉碎了讲,只要把这篇文章看完,你也能了解ESP32引脚的使用方式与注意事项。

技术规格书(点击原文链接)

Arduino

Arduino

ESP32 Wroom32引脚图:lastminuteengineers.com

Arduino

如何正确使用引脚

搭配这个表格可以了解使用引脚的注意事项,如果你是零基础,可以先不用着急搞清楚这么多引脚,只要记住:
先使用16~33引脚练习,其他慢慢跟着不同项目了解。

名称 GPIO 是否可用 原因
D0 0 使用要注意 在启动期间必须为高电平,编程时必须为低电平
TX0 1 不可 传输引脚,用于闪存和调试
D2 2 使用要注意 在启动期间必须为低电平,同时连接到板载LED
RX0 3 不可 接收引脚,用于闪存和调试
D4 4  
D5 5 使用要注意 在启动期间必须为高电平
D6 6 不可 用于连接模组上 集成的 SPI flash,不建议用于其他功能。
D7 7 不可 用于连接模组上 集成的 SPI flash,不建议用于其他功能。
D8 8 不可 用于连接模组上 集成的 SPI flash,不建议用于其他功能。
D9 9 不可 用于连接模组上 集成的 SPI flash,不建议用于其他功能。
D10 10 不可 用于连接模组上 集成的 SPI flash,不建议用于其他功能。
D11 11 不可 用于连接模组上 集成的 SPI flash,不建议用于其他功能。
D12 12 使用要注意 在启动期间必须为低电平
D13 13  
D14 14  
D15 15 使用要注意 在启动期间必须为高电平,如果拉低则阻止启动日志
D16 16  
D17 17  
D18 18  
D19 19  
D21 21  
D22 22  
D23 23  
D25 25  
D26 26  
D27 27  
D32 32  
D33 33  
D34 34 使用要注意 仅限输入GPIO,不能配置为输出
D35 35 使用要注意 仅限输入GPIO,不能配置为输出
VP 36 使用要注意 仅限输入GPIO,不能配置为输出
VN 39 使用要注意 仅限输入GPIO,不能配置为输出

Arduino

  认识引脚类型-电源引脚   VIN(电源输入):

功能:用于连接外部电源,为ESP32及其外围设备提供电力。

使用场景:如果您有一个稳定的5V电源,可以将其连接到VIN引脚。  

3V3(3.3V输出):

功能:来自板载电压稳压器的输出,提供稳定的3.3V电压。

使用场景:可以用来为外部电路提供3.3V电源,通常用于驱动外部传感器、模块等。  

GND(地线):

功能:提供电路的地连接,确保电路中各部分具有相同的电位参考。

使用场景:所有电路都需要连接到地线,以确保电流的正常流动。  

VIN用于接收外部电源,3V3用于提供3.3V稳定电压,GND用于建立电位参考和电路的地连接。   Arduino

认识引脚类型-ADC引脚

ADC:Analog-to-Digital Converter,模拟数字转换器

Digiital数字信号:数值只有1跟0表示,一般1表示有,0表示无。以灯来说,就是亮(1)与不亮(0)

Analog模拟信号:数值是一个范围、有大有小,以灯来说,就是最亮(1000),中等亮(500),不亮(0)

ADC用于将模拟信号转换为数字信号,简单说,就是把我们感知到的亮度,变成可以量化理解的数字。

因此在ADC引脚,我们主要会连接各种传感器来侦测环境中的变化。

Arduino

要注意,并非所有ADC引脚都能随时使用。

ADC1: 可使用analogRead指令读取传感器或者电压数值。 例如,要读取GPIO 33的ADC值,可以使用 analogRead(33)。    

ADC2:
仅在未使用Wi-Fi驱动程序时可用。因为ADC2共享资源与Wi-Fi驱动程序相冲突。如果你需要使用Wi-Fi功能,应该避免使用ADC2引脚。

认识引脚类型-DAC引脚

‍DAC‍:Digital-to-Analog Converter,数字模拟转换器。   跟ADC相反,DAC将计算机的数字信号转成模拟信号,多数用来输出声音的信号,与扬声器配合使用播放声音或者音乐。   Arduino       认识引脚类型-PWM引脚

PWM(脉冲宽度调制)是一种通过控制信号的占空比来调节平均功率的技术,简单来说,因为数字信号只能输出0跟1,

为了模拟0.5,就每秒轮流输出0跟1,实现:

(1+0) 2 秒= 0.5每秒。

跟DAC相同都是输出模拟信号,但精确度没有DAC高,因为一个是真实模拟信号,一个是通过手段假装的模拟信号。

因此避免音频的失真,一般使用DAC,而PWM更多用于控制LED亮度变化、舵机角度位置、电机速度等。

所有的GPIO都可以设置为PWM模式,除了34、35、36、39仅可输入信号。

Arduino

    认识引脚类型-Touch引脚   ESP32具有9个电容触摸感应的GPIO引脚,这功能相当实用且有趣。   Arduino 可以理解只要不是绝缘体,都可以通过Touch引脚变成按钮,比如人的手指靠近Touch引脚时,ESP32会检测到电容的变化,就像手机屏幕能感知到手指一样。你可以用Touch引脚轻松实现水果键盘弹钢琴,或者做一个实用的触屏电子锁。   你可以上传代码并打开串口监视器,观察触摸33引脚时的数字变化。

 

void setup() {  // 放置你的初始化代码,此处只运行一次:  Serial.begin(115200);  // 初始化串口通信,波特率为115200}
void loop() {  // 放置你的主要代码,此处会循环执行:  Serial.println(touchRead(33));  // 读取 GPIO 33 上的电容触摸感应值并输出到串口  delay(200);  // 延迟200毫秒,可以根据需要调整}
 

 

串口监视器的数值会根据触碰33引脚产生变化

Arduino

你可以连接水果,把水果变成控制键盘

      后续我会继续分享零基础入门ESP32的教学文章,也欢迎关注我的视频号与B站:伊娃老师来了。

审核编辑 黄宇

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分