ESP8266具有内置的10位ADC,只有一个ADC通道(A0引脚),即只有一个ADC输入引脚可读取来自外部器件的模拟电压
ESP8266上的ADC通道和芯片供电电压复用,也就是说我们可以将其设置为测量系统电压或者外部电压
测量外部电压
analogRead(A0),用于读取施加在模块的ADC引脚上的外部电压;
输入电压范围: 0 - 1.0V之间;
测量精度 由于ADC具有10位分辨率,因此会给出0-1023的值范围;
注意点: 为了支持外部电压范围(0-3.3v),NodeMcu做了一个电阻分压器,如图所示:
例子
编写一个读取NodeMcu的ADC引脚上的模拟电压。我们这里使用电位器在ADC引脚上提供0-3.3V的可变电压。如下图连接线:
代码:
void setup() { Serial.begin(115200);//配置波特率 } void loop() { Serial.print("ADC Value: "); Serial.println(analogRead(A0));//输出0-1023 对应 外部输入电压 0-1.0v delay(1000); }
天子骄龙