Arduino+ESP32-WROOM-32UE(二)-AD电压转化

        来填(一)中埋下的坑了。今天我们利用Arduino+ESP32实现最简单的AD转化

        所谓AD,其实就是将模拟量转化为数字量的技术。我们今天用自己设计的分压模块来测试这一转化过程。

目录

一、ESP32中的ADC口

二、Arduino实现ESP32的AD转化

1.代码实现        

2.硬件检测

三、结果验证


一、ESP32中的ADC口

        查询ESP32的datasheet即可知道它的ADC口有哪些。下图1即为手册截图。

 图1 ESP32的ADC口分布

        或者我们也可以在网站上进行搜索,例如我就找到了一张很棒的图,总结了ESP32的各个GPIO口的功能,如下图2所示。

        图2 GPIO口功能(图片来源网络,网址见参考资料)

        所以,总结为:ESP32有两组ADC口

        ADC1共8个通道:GPIO32 - GPIO39
        ADC2共10个通道:GPIO0、GPIO2、GPIO4、GPIO12 - GPIO15、GOIO25 - GPIO27

        需要注意的是,ADC2与WIFI功能共用口,所以使用WIFI时避免使用ADC2

二、Arduino实现ESP32的AD转化

1.代码实现        

        ESP32在Arduino上实现AD只需一个语句: analogRead();

代码如下:

//ESP32+Arduino 12-bit ADC
//Voltage:0-3.3V
#define ANALOG_PIN_0   4

void setup(){
  Serial.begin(115200);
  pinMode(ANALOG_PIN_0,INPUT);
}

void loop() {
  int analog_value = 0;
  analog_value = analogRead(ANALOG_PIN_0);
  delay(1000);
  Serial.printf("Current Reading on Pin(%d)=%d\n",ANALOG_PIN_0,analog_value);
  delay(3000);
}

        在这里我们采用了GPIO4作为ADC检测口。利用Serial.printf()函数进行结果的输出(在串口监视器中)。

2.硬件检测

        有了AD的代码,还要有相应的硬件作为电压输出对其进行检测。故设计分压模块如下:

    图3 分压模块

        这其实就是一个滑动变阻器,将其三个引脚接出。我们利用ESP32的3V3引脚作为输入电压,利用该模块进行分压即可得到检测电压。简单电路图如下:

图(a)仿真连接图

图(b)自己绘制的连接图

     图4 分压模块连接图

        注意这里一定接地,否则输出错误,一直是0或者4095。

        ESP32的ADC精度为12位,故其检测到的值在0-40952^{12}-1)之间。所以,检测我们的AD结果是否正确,只需对当前引脚输出电压与串口输出值对比。若:

串口输出值/4095 ≈ 电压表测得引脚电压/3.3

则AD结果正确。

三、结果验证

        我们将开发板与硬件连接,运行代码,观察串口监视器输出。结果如下:

 图5 连接与测量

 图6 引脚电压检测

 图7 监视器输出

        监视器平均值约为2444,电压表测得结果为2.08V,故:

2444\div 4095=59.7%

2.08\div 3.3=63.0%

        二者相对误差为:

\frac{(63.0%-59.7%)}{59.7%}\times 100%=5.5%

        该误差可能由ESP32输出电压不稳定等原因引起,有待改进。

        如果想要使其输出电压值,只需利用上述数学关系进行修改即可。

参考资料:

1. 图2所示GPIO功能引脚:https://www.cnblogs.com/chengwh/p/15424087.html

2. ESP32仿真网址:Wokwi - Online Arduino and ESP32 Simulator


        在争取用最简单的语言和排版完成有效的内容,在以后会继续改进。期待大家关注。
        下次更新应该就是 ESP32的WIFI 或蓝牙功能了。
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 您好!ESP32-WROOM-32是一款基于ESP32芯片的Wi-Fi和蓝牙模块,可以使用Arduino开发环境进行编程。 要使用ESP32-WROOM-32进行Arduino编程,您需要先安装ESP32的开发环境。具体步骤如下: 1. 下载并安装Arduino IDE,可从官网https://www.arduino.cc/en/software下载最新版本。 2. 打开Arduino IDE,依次选择“文件”->“首选项”,在“附加开发板管理器网址”一栏中输入以下网址: https://dl.espressif.com/dl/package_esp32_index.json 3. 关闭“首选项”窗口,再依次选择“工具”->“开发板”->“开发板管理器”。 4. 在开发板管理器中搜索“esp32”,找到“esp32 by Espressif Systems”并安装。 5. 在开发板管理器中找到已安装的ESP32开发板,并选择您使用的具体ESP32模块。 6. 连接ESP32模块到计算机,并选择正确的端口和波特率。 7. 编写您的Arduino程序,并上传到ESP32模块中。 希望以上步骤能够帮助您开始使用ESP32-WROOM-32进行Arduino编程。如果您有任何问题,请随时向我提问。 ### 回答2: ESP32-WROOM-32是一款高性能、低功耗、易于开发的Wi-Fi+蓝牙双模模块,它是由Espressif Systems推出的一款旗舰级的芯片。ESP32内置双核32位Tensilica LX6微处理器,以及丰富的外设和接口,包括Wi-Fi、蓝牙、UART、SPI、I2C、PWM、ADC等。ESP32-WROOM-32的高度集成和出色的性能,使得其在物联网、工业自动化、智能家居、智能穿戴等领域有广泛的应用前景。 Arduino是一款开源的电子原型平台,它简化了硬件与软件的开发过程,使得任何人都能够快速、轻松地制作出交互式的电子作品。经过多年的发展,Arduino已经成为了全球开发者、制造商和创客的首选开发平台之一,其强大的生态系统和丰富的资源库,为开发者提供了丰富的工具和资源,促进了独立发明和创新。 ESP32-WROOM-32与Arduino的结合,充分发挥了两者各自的优势。Arduino提供了简单易用的编程语言和开发环境,可以实现快速的原型制作和测试,而ESP32-WROOM-32则提供了强大的硬件支持和丰富的通信接口,实现了快速、稳定、低功耗的无线通信。ESP32-WROOM-32与Arduino可以相互补充,让开发者可以轻松地实现功能强大的智能硬件系统,例如物联网设备、智能家居控制器、机器人等等。 总之,ESP32-WROOM-32和Arduino的组合拥有极高的开发灵活性和创新性,可以满足各种不同领域的需求,是一个理想的硬件开发解决方案。 ### 回答3: ESP32-WROOM-32是一款高度集成的WiFi和蓝牙低功耗模组。它支持Arduino和MicroPython编程语言,因此它被广泛用于物联网应用中。Arduino是一种硬件和软件平台,旨在为开发人员提供一个友好的编程环境。ESP32-WROOM-32集成了大量功能,包括双核Tensilica LX6处理器、240 MHz时钟频率、支持802.11 b/g/n/e/i标准的WiFi、蓝牙4.2和BLE。 其中一个最大的优点是该模块有32 GPIO(通用输入/输出引脚),同时提供3种不同的电源输出(DC 5V、DC 3.3V和microUSB)以及一些其他的特有功能,如SPI、I2C、UART等接口。 使用Arduino编程的好处是其易于使用且广泛的社区支持。此外,Arduino提供了丰富的库和示例代码,可以帮助您快速上手。 ESP32-WROOM-32主要用于嵌入式应用,如智能家居、工业自动化、远程监控、机器人技术、传感器等等。通过与其他硬件和软件结合使用,可以创造出许多有趣的项目和应用程序。该模块也非常适合初学者使用,因为它易于使用并且有许多可用的教程和文档。 总而言之,ESP32-WROOM-32与Arduino结合使用,可以让您开发出更复杂的物联网应用程序,并能够利用丰富的Arduino社区资源。其高度集成的特点以及多种电源输出和接口的支持,也使得该模块成为一个非常强大且适用于各种应用场景的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值