#include <Wire.h>
void setup() {
Serial.begin(115200);
Wire.begin(PB7, PB6); // SDA, SCL on Blue Pill
delay(200);
Serial.println("I2C Scanner starting...");
}
void loop() {
byte error, address;
int count = 0;
for(address = 1; address < 127; address++) {
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial.print("I2C device found at 0x");
Serial.println(address, HEX);
count++;
}
}
if (count == 0) Serial.println("No I2C devices found");
delay(3000);
}
#include <Wire.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <OneWire.h>
#include <DallasTemperature.h>
// === Pins ===
#define DS18B20_PIN PB0 // Data line for DS18B20
// MPU6050 SDA -> PB7, SCL -> PB6, INT -> PA0 (optional)
// === Objects ===
OneWire oneWire(DS18B20_PIN);
DallasTemperature ds18b20(&oneWire);
Adafruit_MPU6050 mpu;
void setup() {
Serial.begin(115200);
delay(200);
// Start I2C on Blue Pill explicit pins
Wire.begin(PB7, PB6); // SDA, SCL
// Start DS18B20
ds18b20.begin();
// Start MPU6050
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 chip!");
while (1) { delay(10); }
}
Serial.println("MPU6050 found");
// Configure MPU settings (tweak to your needs)
mpu.setAccelerometerRange(MPU6050_RANGE_2_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
delay(100);
}
void loop() {
// --- DS18B20 ---
ds18b20.requestTemperatures();
float tC = ds18b20.getTempCByIndex(0); // first sensor on bus
Serial.print("DS18B20 Temp: ");
Serial.print(tC);
Serial.println(" °C");
// --- MPU6050 ---
sensors_event_t a, g, temp_sensor;
mpu.getEvent(&a, &g, &temp_sensor); // acceleration, gyro, temp
Serial.print("Accel (m/s^2): ");
Serial.print(a.acceleration.x); Serial.print(", ");
Serial.print(a.acceleration.y); Serial.print(", ");
Serial.println(a.acceleration.z);
Serial.print("Gyro (rad/s): ");
Serial.print(g.gyro.x); Serial.print(", ");
Serial.print(g.gyro.y); Serial.print(", ");
Serial.println(g.gyro.z);
Serial.println("-------------------------");
delay(1000);
}
Loading
stm32-bluepill
stm32-bluepill