#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_MPU6050.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
#define ONE_WIRE_BUS 4
#define BUZZER_PIN 15
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Adafruit_MPU6050 mpu;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(115200);
Wire.begin(21, 22);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
mpu.begin();
sensors.begin();
pinMode(BUZZER_PIN, OUTPUT);
}
void loop() {
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
sensors_event_t a, g, tempEvent;
mpu.getEvent(&a, &g, &tempEvent);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.print("Temp: ");
display.println(temp);
display.setCursor(0,15);
display.print("Accel X: ");
display.println(a.acceleration.x);
display.display();
if(temp > 37.5) {
tone(BUZZER_PIN, 2000);
} else {
noTone(BUZZER_PIN);
}
delay(1000);
}