ADC 使用教程#
什么是 ADC?#
ADC(Analog-to-Digital Converter,模数转换器) 是一种将模拟信号(如电压)转换为数字信号的硬件模块。 在嵌入式系统中,ADC 是连接传感器与微处理器之间的桥梁,用于采集电压信号并转化为可计算的数值数据。
K230 芯片内部集成了一个高性能 ADC 模块,具有以下特性:
支持 6 个独立通道
分辨率:12 位(即输出值范围为 0~4095)
采样速率高达 1 MHz
输出格式:原始数值(
read_u16())或电压(read_uv(),单位:微伏)
示例概览#
以下示例演示了如何通过 K230 提供的接口,读取 ADC 通道的采样值和电压值,用于后续信号处理或传感器数据采集。
1. 导入模块并初始化 ADC#
from machine import ADC
# 实例化 ADC 通道 0
adc = ADC(0)
2. 读取原始采样值(单位:无量纲)#
# 读取通道 0 的原始采样值(0 ~ 4095)
value = adc.read_u16()
print("ADC 原始值:", value)
返回值范围:0 ~ 4095
代表的是输入电压在参考电压下的比例
可用于数字信号处理、阈值判断等场景
3. 读取电压值(单位:微伏)#
# 读取通道 0 的电压值,单位为 uV
voltage = adc.read_uv()
print("ADC 电压值:", voltage, "uV")
返回单位:微伏(μV)
提供更直观的实际电压信息,便于与电路或传感器参数对应
若需要以伏特(V)为单位,可除以
1_000_000
4. 示例输出(假设输入为 1.65V)#
ADC 原始值: 2047
ADC 电压值: 1650000 uV
分辨率与电压映射#
K230 ADC 为 12 位分辨率,采样值与实际电压之间为线性关系:
⚠️ 默认参考电压一般为 3.3V,视芯片配置而定
注意事项#
项目 |
说明 |
|---|---|
通道编号 |
支持 6 个通道(编号 0~5),请确保所连接通道对应的引脚有模拟输入功能 |
输入电压范围 |
最大输入不得超过参考电压(如 3.3V),否则可能损坏芯片 |
单位转换 |
|
采样噪声 |
建议平均多次读数,以减小 ADC 采样的瞬时抖动和外部干扰影响 |
应用场景#
电压检测(如电池电压、电源状态)
模拟传感器读取(如温度、电位器、光敏电阻)
音频、震动等模拟信号采样
反馈控制系统中模拟信号监测
