Deprem-Sarsıntı Algılayıcı Yapımı!


Bu şemayı birebir yaptım ama kodlar çalışmıyor. Acaba kodlarda hata mı var bir çok yorumda çalışmayan devre gördüm. Çalışan yeni kod yazıp paylaşabilir misiniz ? ACİL Ödev yetiştirmem gerekiyor

Arduino uno için kod;

#include <Wire.h>
#include <MPU6050.h>

MPU6050 mpu;

const int buzzerPin = 9;
const float shakeThreshold = 1.5; // Eşik değeri (g cinsinden, 1g = 9.8m/s²)

void setup() {
Serial.begin(9600);
Wire.begin();
mpu.initialize();

pinMode(buzzerPin, OUTPUT);

if (!mpu.testConnection()) {
Serial.println(“MPU6050 bağlantısı başarısız!”);
while (1);
} else {
Serial.println(“MPU6050 bağlantısı başarılı.”);
}
}

void loop() {
int16_t ax, ay, az;
mpu.getAcceleration(&ax, &ay, &az);

// ivmeyi g cinsinden hesapla (1g = 16384 birim)
float xg = ax / 16384.0;
float yg = ay / 16384.0;
float zg = az / 16384.0;

// Toplam ivmenin büyüklüğü (Pythagorean toplam)
float totalAccel = sqrt(xg * xg + yg * yg + zg * zg);

Serial.print("Toplam ivme: ");
Serial.println(totalAccel);

// Eğer toplam ivme belirli eşiği aşarsa buzzer çalsın
if (abs(totalAccel - 1.0) > shakeThreshold) {
digitalWrite(buzzerPin, HIGH);
delay(500); // 0.5 saniye öt
digitalWrite(buzzerPin, LOW);
}

delay(200); // ölçüm aralığı
}

D9 buzzer + GND buzzer - pinine

MPU6050 → Arduino

VCC → 5V

GND → GND

SDA → A4

SCL → A5