#include
#include
Adafruit_INA219 ina219;
void setup(void)
{
Serial.begin(115200);
while (!Serial) {
delay(1);
}
uint32_t currentFrequency;
Serial.println("Hello!");
// 初始化会默认使用最大测量范围(32V, 2A),你也可以使用setCalibration指令更改,以获取更高的精度
ina219.begin();
// 用 32V, 1A 范围来测量会获取更高的电流测量精度,如果想使用这个选项就删除下面那行的注释
//ina219.setCalibration_32V_1A();
// 用16V, 400mA 范围来测量会获取更高的电流和电压测量精度,如果想使用这个选项就删除下面那行的注释
//ina219.setCalibration_16V_400mA();
Serial.println("Measuring voltage and current with INA219 ..."); //打印‘正在使用ina219测量电压和电流’
}
void loop(void)
{
float shuntvoltage = 0;
float busvoltage = 0;
float current_mA = 0;
float loadvoltage = 0;
float power_mW = 0;
shuntvoltage = ina219.getShuntVoltage_mV();
busvoltage = ina219.getBusVoltage_V();
current_mA = ina219.getCurrent_mA();
power_mW = ina219.getPower_mW();
loadvoltage = busvoltage + (shuntvoltage / 1000);
Serial.print("Bus Voltage: "); Serial.print(busvoltage); Serial.println(" V"); //打印总线电压
Serial.print("Shunt Voltage: "); Serial.print(shuntvoltage); Serial.println(" mV"); //打印分流电压
Serial.print("Load Voltage: "); Serial.print(loadvoltage); Serial.println(" V"); //打印负载电压
Serial.print("Current: "); Serial.print(current_mA); Serial.println(" mA"); //打印电流
Serial.print("Power: "); Serial.print(power_mW); Serial.println(" mW"); //打印功率
Serial.println("");
delay(2000);
}
!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。
欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。
EEWorld Datasheet 技术支持