本站改版新增arduino频道

Micropython
Arduino

arduino 电压检测模块 Voltage Sensor


arduino 电压检测模块

const int voltagePin = 0;  // 使用GPIO34作为测量引脚
float R1 = 30000.0;        // 上分压电阻值(欧姆)
float R2 = 7500.0;         // 下分压电阻值(欧姆)
float refVoltage = 3.3;    // ESP32 ADC参考电压(通常为3.3V)
int adcResolution = 4095;   // ESP32 ADC分辨率(12位)

void setup() {
  Serial.begin(115200);
  analogReadResolution(12);  // 设置ADC为12位分辨率
}

void loop() {
  int adcValue = analogRead(voltagePin);
  float voltage = adcValue * (refVoltage / adcResolution);
 
  // 计算实际电压(考虑分压比)
  float actualVoltage = voltage * ((R1 + R2) / R2)-0.48; // 0.48 用万用表校正
 
  Serial.print("ADC值: ");
  Serial.print(adcValue);
  Serial.print(" | 测量电压: ");
  Serial.print(voltage, 3);
  Serial.print("V | 实际电压: ");
  if(actualVoltage>0){Serial.print(actualVoltage, 2);}
  if(actualVoltage<0){Serial.print("0");}
  Serial.println("V");
 
  delay(1000);
}



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 ESP56.com All Rights Reserved
晋ICP备14006235号-22 晋公网安备14108102001165号

执行时间: 0.0094239711761475 seconds