#include <Wire.h>
#include <Adafruit_INA219.h>
#include <OneWire.h>
#include <DallasTemperature.h>
/* -------- PIN DEFINITIONS -------- */
#define ONE_WIRE_BUS 4 // DS18B20 DATA pin
#define SDA_PIN 21
#define SCL_PIN 22
/* -------- OBJECTS -------- */
Adafruit_INA219 ina219;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(115200);
// I2C for INA219
Wire.begin(SDA_PIN, SCL_PIN);
// Initialize sensors
ina219.begin();
sensors.begin();
Serial.println("Battery / Adapter Monitoring System Started");
Serial.println("12V Adapter assumed -> LM2596 -> 3.3V");
}
void loop() {
// Read voltage & current from INA219
float busVoltage = ina219.getBusVoltage_V(); // Simulated voltage
float current_mA = ina219.getCurrent_mA(); // Current through load
// Read temperature from DS18B20
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
Serial.println("-------- STATUS --------");
Serial.print("Voltage : ");
Serial.print(busVoltage);
Serial.println(" V");
Serial.print("Current : ");
Serial.print(current_mA);
Serial.println(" mA");
Serial.print("Temperature : ");
Serial.print(temperatureC);
Serial.println(" °C");
Serial.println();
delay(2000);
}
Loading
ds18b20
ds18b20