自制Arduino数字电流表:DIY电流检测仪分步指南
安培计/电流表用于测量电路电流。安培(A)是电流单位,故名。Arduino单片机开发板生态丰富,可构建专属电流表——极具复用价值的项目。本指南将带你从零制作Arduino电流表。
如何制作DIY Arduino电流表
目标:易上手、低成本。无需资深工程师背景即可完成。
电工操作电表
所需元件:
- Arduino兼容128×32 OLED液晶显示屏
- INA219电流传感器模块
- Arduino Pro Mini Rev 5 (5V版)
- CH340下载器
- 9V电池盒(含电池)
- JST PH 2Pin母头连接线
- JST直角连接器
- 迷你一字螺丝刀
- 6Pin直角排针(Arduino用)
- 电烙铁
- 24AWG镀锡铜线 500g 熔断丝 18A 0.56mm
- 迷你尖嘴钳
- 剪线钳
- 泡沫胶垫
- 4Pin母对母跳线
硬件连接配置
电表模块
系统三大核心:128×32 OLED显示读数、INA219测量电流电压、Arduino Mini计算处理与互联。
Arduino Mini两排侧边引脚。INA219通过I2C协议连接Arduino Mini。
模拟万用表
关键确认: 必须使用Arduino Pro Mini 328P Rev 5或同款克隆板,且必须引出A4、A5引脚(I2C专用)。
引脚对应关系(假设硬件正确):
INA219 → Arduino Pro Mini:
- VCC → VCC
- GND → GND
- SDA → A4
- SCL → A5
OLED显示屏 → Arduino Pro Mini:
- VCC → VCC
- GND → GND
- SDA → A4
- SCL → A5
两模块共享I2C总线,引脚对齐后即可组装。
组装步骤
- 拆除引脚: 电烙铁拆下INA219与OLED模块原装排针。塑料座子用一字刀撬开。逐个加热引脚根部抖落。
- 剪导线: 从镀锡铜线卷剪4根40mm导线。
- 焊接OLED飞线: 用4根导线替代原排针焊在OLED模块焊盘上。
- OLED接Arduino: 按上述引脚对应关系焊接。做成“三明治”叠层结构。用螺丝刀拨开导线防短路。
- 焊接Arduino但不剪短导线: 后续需接INA219。OLED板上多余导线可剪短。
- INA219接Arduino: 同样引脚对应焊接,注意导线绝缘隔离。
- 整理导线: 剪齐多余长度。焊接6Pin直角排针至Arduino(用于下载程序),OLED上推预留空间焊接,小心操作。
- 电源接线: JST-PH 2Pin母头接电池盒;JST直角公头焊Arduino:红线(正)接RAW,黑线(负)接GND。
- 下载器连接: 4Pin母对母跳线连Arduino Pro Mini与CH340下载器,下载器插电脑USB口。进入软件配置章节烧录程序。
烧录完成后,接入待测电路即可在OLED读取电流。整机可由CH340 USB供电或9V电池盒供电。
软件配置
需编程Arduino Pro Mini与OLED。要求具备Arduino IDE基础。下附分模块草稿代码。
OLED 128×32 显示代码
#include#include #include #include U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0); void setup(void) { u8g2.begin(); ina219.begin(); } void loop(void) { u8g2.clearBuffer(); u8g2.setFont(u8g2_font_logisoso32_tr); u8g2.setCursor(0, 32); u8g2.print(millis()); u8g2.sendBuffer(); delay(200); }
INA219 采集代码
#include#include Adafruit_INA219 ina219; void setup(void) { uint32_t currentFrequency; Serial.begin(115200); Serial.println("Hello!"); Serial.println("Measuring voltage and current with INA219 ..."); ina219.begin(); } void loop(void) { float shuntvoltage = 0; float busvoltage = 0; float current_mA = 0; float loadvoltage = 0; shuntvoltage = ina219.getShuntVoltage_mV(); busvoltage = ina219.getBusVoltage_V(); current_mA = ina219.getCurrent_mA(); 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.println(); delay(2000); }
注:INA219草稿建议命名为GetCurrent。
结语
完成软硬件配置后,即可用传感器模块测量任意简易电路电流。项目简单快速,适合入门者与爱好者。亦可改作电压传感器,或集成至其他项目作电流监测工具。希望你享受制作过程。感谢阅读!
工业技术