#define BLYNK_TEMPLATE_ID "TMPL63BzbC-hG"
#define BLYNK_TEMPLATE_NAME "Penelitian"
#define BLYNK_AUTH_TOKEN "_7tPt-iJf1rqJYz_cLq19bOBfcZjmv2H"
#include <WiFi.h>
#include <Wire.h>
#include <MPU6050.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
MPU6050 mpu;
char auth[] = BLYNK_AUTH_TOKEN;
const char* ssid = "Wokwi-GUEST";
const char* password = "";
BlynkTimer timer;
void setup() {
Wire.begin(21, 22);
Serial.begin(9600);
WiFi.begin(ssid, password);
Blynk.begin(auth, ssid, password);
mpu.initialize();
if (!mpu.testConnection()) {
Serial.println("MPU6050 tidak terhubung!");
while (1);
}
mpu.setXGyroOffset(20);
mpu.setYGyroOffset(10);
mpu.setZGyroOffset(-15);
}
void loop() {
Blynk.run();
timer.run();
int16_t ax, ay, az, gx, gy, gz, rawTemp;
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
rawTemp = mpu.getTemperature();
// Konversi ke Celcius
float temperature = (rawTemp / 340.0) + 36.53;
float ax_g = ax / 16384.0;
float ay_g = ay / 16384.0;
float az_g = az / 16384.0;
float gx_d = gx / 131;
float gy_d = gy / 131;
float gz_d = gz / 131;
float pitch, roll;
Blynk.virtualWrite(V0, temperature);
Blynk.virtualWrite(V1, ax_g);
Blynk.virtualWrite(V2, ay_g);
Blynk.virtualWrite(V3, az_g);
Blynk.virtualWrite(V4, gx_d);
Blynk.virtualWrite(V5, gy_d);
Blynk.virtualWrite(V6, gz_d);
}