littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Arduino的INA236电流和功率传感器库

项目简介

本项目是用于INA236电流和功率传感器的Arduino库。INA236可测量电压、电流和功率,适用于需精确测量电力参数的嵌入式系统。该库提供丰富接口,方便开发者读取传感器的电压、电流和功率数据,还支持多种配置选项,如采样率、转换时间等。

项目的主要特性和功能

  1. 电压、电流和功率测量:可读取总线电压、分流电压、电流和功率数据。
  2. 多单位支持:提供毫伏、微伏、毫安、微安、毫瓦和微瓦等单位的转换函数。
  3. 配置灵活:能设置采样率、转换时间、ADC范围等参数,适应不同应用场景。
  4. 校准功能:提供校准接口,确保电流和功率测量的准确性。
  5. I2C通信:支持I2C通信协议,兼容多种I2C地址配置。
  6. 错误检测:支持过压、欠压、功率超限等多种错误检测功能。
  7. 调试支持:可直接读取寄存器,便于调试和故障排查。

安装使用步骤

  1. 确保已经安装了Arduino IDE。
  2. 导入库:
    • 打开Arduino IDE。
    • 点击“项目” -> “加载库” -> “添加.ZIP库”。
    • 选择下载的源码文件,完成库的导入。
  3. 连接硬件:将INA236传感器连接到Arduino开发板,确保I2C引脚正确连接。
  4. 编写代码:在Arduino IDE中编写代码,使用提供的接口读取传感器数据。示例代码如下: ```cpp

include "INA236.h"

INA236 ina236(0x40); // 使用默认I2C地址

void setup() { Serial.begin(9600); if (!ina236.begin()) { Serial.println("INA236未连接!"); while (1); } ina236.setMaxCurrentShunt(20.0, 0.002); // 设置最大电流和分流电阻 }

void loop() { float busVoltage = ina236.getBusVoltage(); float shuntVoltage = ina236.getShuntVoltage(); float current = ina236.getCurrent(); float power = ina236.getPower();

Serial.print("总线电压: "); Serial.print(busVoltage); Serial.println(" V"); Serial.print("分流电压: "); Serial.print(shuntVoltage); Serial.println(" V"); Serial.print("电流: "); Serial.print(current); Serial.println(" A"); Serial.print("功率: "); Serial.print(power); Serial.println(" W");

delay(1000); } ``` 5. 上传代码:将代码上传到Arduino开发板,打开串口监视器查看传感器数据。通过以上步骤,即可快速上手使用本库并开始测量电压、电流和功率数据。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】