STM32製作USB電壓電流表
以下是STM32製作USB電壓電流表的相關資訊:零件規格:
STM32F103C8T6 開發板
OLED 顯示屏
USB 轉 TTL 模塊
INA219 電流傳感器模塊
連結腳位:
將 USB 轉 TTL 模塊的 VCC 腳位接到STM32開發板的5V腳位,GND 腳位接到 GND 腳位。
INA219 模塊的 VCC 腳位接到STM32開發板的5V腳位,GND 腳位接到 GND 腳位,SCL 腳位接到PB10腳位,SDA 腳位接到PB11腳位。
OLED 顯示屏的VCC腳位接到STM32開發板的5V腳位,GND 腳位接到 GND 腳位,SCL 腳位接到PB6腳位,SDA 腳位接到PB7腳位。
程式碼如下所示:
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Wire.h>
#include <Adafruit_INA219.h>
Adafruit_SSD1306 display(128, 32, &Wire, -1);
Adafruit_INA219 ina219;
void setup() {
// 初始化OLED顯示屏
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.display();
delay(2000);
display.clearDisplay();
// 初始化INA219電流傳感器模塊
ina219.begin();
ina219.setCalibration_16V_400mA();
}
void loop() {
float shuntvoltage = 0;
float busvoltage = 0;
float current_mA = 0;
float power_mW = 0;
// 讀取INA219模塊的電壓和電流
shuntvoltage = ina219.getShuntVoltage_mV();
busvoltage = ina219.getBusVoltage_V();
current_mA = ina219.getCurrent_mA();
power_mW = ina219.getPower_mW();
// 在OLED顯示屏上顯示電壓和電流
display.setCursor(0, 0);
display.print("Voltage: ");
display.print(busvoltage);
display.print("V");
display.setCursor(0, 10);
display.print("Current: ");
display.print(current_mA);
display.print("mA");
display.display();
delay(500);
display.clearDisplay();
}
頁:
[1]