我有一个气体感应器,我正在试着读。我已经将传感器连接到ESP-S2 TFT Feather的模拟输入端。当我将模拟转换为数字,读取被测电压时,被测电压非常高。我算出这个棋盘的分辨率是13位。但是,测量的电压仍然很高。
int analogInPin = A2;
void readco() {
// read the analog in value:
sensorValue = 0;
const int res = 8191; //resolution = 13-bit and 2^13 - 1 = 8191
sensorValue = analogRead(analogInPin) + sensorValue;
iaq_data.co_0=(float) sensorValue*3.3/res;发布于 2022-10-25 07:34:10
从ESP32 32-S2文档中发现了这里,
单读模式下ESP32 32-s2adc原始结果的分辨率为12位。
你确定你的决议是13位吗?
而且,您似乎每次都会将sensorValue添加到自身中。你每次都把它初始化为0,所以这不重要,但我会删除它。
这一守则应适用于:
int 12_bit_resolution = 4095; // 2^12 4096 - 1
input_voltage = analogRead(analogInPin) * (3.3 / 12_bit_resolution);https://stackoverflow.com/questions/74186574
复制相似问题