#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <MPU6050.h>
// DS18B20 on PB9
#define ONE_WIRE_BUS PB9
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
// MPU6050
MPU6050 mpu;
void setup() {
Serial.begin(115200);
// Start DS18B20
sensors.begin();
// Start MPU6050
Wire.begin(PB7, PB6); // SDA=PB7, SCL=PB6
if (mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G)) {
Serial.println("MPU6050 ready");
} else {
Serial.println("MPU6050 connection failed!");
}
}
void loop() {
// --- DS18B20 ---
sensors.requestTemperatures();
float tempC = sensors.getTempCByIndex(0);
Serial.print("Temp: ");
Serial.print(tempC);
Serial.println(" °C");
// --- MPU6050 ---
Vector normAccel = mpu.readNormalizeAccel();
Serial.print("Accel X: "); Serial.print(normAccel.XAxis);
Serial.print(" Y: "); Serial.print(normAccel.YAxis);
Serial.print(" Z: "); Serial.println(normAccel.ZAxis);
delay(1000);
}