当前位置: 首页 > news >正文

ESP32-C3实现ADC

思路

  1. 定义 ADC 管脚和 UART 参数。
  2. 初始化 ADC 和 UART。
  3. 在循环中读取 ADC 值,将其转换为电压,并通过 UART 输出。

扩展知识

analogSetAttenuation() 函数是ESP32特有的一个函数,用于设置模拟输入引脚的衰减级别。这个函数影响ADC(模数转换器)如何读取外部电压。

衰减级别决定了输入电压范围,这是因为在没有衰减的情况下,ESP32的ADC只能正确读取0到1.1V之间的电压。通过增加衰减,可以扩展这个范围,以便测量更高的电压。

参数ADC_11db是衰减级别的枚举值之一,以下是可用的衰减级别及其对应的电压范围:

  • ADC_0db: 无衰减,输入电压范围是0 - 1.1V
  • ADC_2_5db: 2.5dB衰减,输入电压范围是0 - ~1.5V
  • ADC_6db: 6dB衰减,输入电压范围是0 - ~2.2V
  • ADC_11db: 11dB衰减,输入电压范围是0 - 3.3V

当选择ADC_11db时,你就可以测量0到3.3V之间的电压,这对于使用3.3V电源的ESP32系统来说是非常有用的。

这里是如何使用analogSetAttenuation()函数的示例:

analogSetAttenuation(ADC_11db); // 设置衰减为11dB,允许测量0-3.3V的电压

完整实例

#define ADC_PIN 2  // 定义一个 GPIO 管脚作为 ADC 输入// ADC 参数
#define ADC_ATTENUATION ADC_11db  // 设置 ADC 衰减,适用于 0 - 3.3V 的输入范围
#define ADC_RESOLUTION 12         // 设置 ADC 分辨率,ESP32-C3 支持最高 12 位
#define V_REF 3.3                 // 参考电压void setup() {Serial.begin(115200);  // 初始化串口通信,波特率 115200analogSetAttenuation(ADC_ATTENUATION);  // 设置 ADC 衰减analogReadResolution(ADC_RESOLUTION);    // 设置 ADC 分辨率
}void loop() {// 读取 ADC 值int adcValue = analogRead(ADC_PIN);// 将 ADC 值转换为电压float voltage = (float)adcValue * V_REF / (1 << ADC_RESOLUTION);// 通过 UART 输出电压值Serial.print("Voltage: ");Serial.print(voltage, 2);  // 输出电压值,保留两位小数Serial.println(" V");// 等待一段时间再次读取delay(1000);
}

 


http://www.mrgr.cn/news/46741.html

相关文章:

  • 《深度剖析算法优化:提升效率与精度的秘诀》
  • 基于单片机的语音控制玩具汽车的设计
  • C#进阶-在Ubuntu上部署ASP.NET Core Web API应用
  • R语言的语法糖
  • python循环结构(for)
  • [SMARTFORMS] SMARTFORMS表单横纵向纸张打印设置
  • 代码随想录算法训练营第五六天| 99. 岛屿数量 100. 岛屿的最大面积
  • 搜维尔科技:Haption远程操作项目模拟项目
  • 动态内存分配 VS 静态内存分配
  • 【虚拟化】内核级虚拟化技术KVM介绍,全/半虚拟化的区别,使用libvirt搭建虚拟化平台(go/java/c++)
  • 这个问题做项目的时给某些客户普及过,这里再给你普及一下
  • FireFox简单设置设置
  • 创建osd加入集群
  • linux基础-----基础命令+较新替代命令汇总详解
  • CF E. Money Buys Happiness
  • 【动态规划】
  • Http 协议和 RPC 协议有什么区别?
  • JavaEE: HTTPS的魅力与优势揭秘
  • 1. Keepalived概念和作用
  • 代码随想录算法训练营第二十九天|93.复原IP地址 78.子集 90.子集II
  • PostgreSQL的学习心得和知识总结(一百五十三)|[performance]将 OR 子句转换为 ANY 表达式
  • 苹果电脑磁盘满了怎么清理内存?必看清理秘籍
  • maven加载依赖成功但是引入import不了包,注解报错
  • ★ 算法OJ题 ★ 二分查找算法
  • 网络安全产品类型
  • 数据结构——排序(交换排序)