/*************************************************************
This is a simple demo of sending and receiving some data.
Be sure to check out other examples!
*************************************************************/
// Template ID, Device Name and Auth Token are provided by the Blynk.Cloud
// See the Device Info tab, or Template settings
#define BLYNK_TEMPLATE_ID "TMPLmtzmk8gm"
#define BLYNK_DEVICE_NAME "Quickstart Template"
#define BLYNK_AUTH_TOKEN "YooerEMvnhBsIcQTTzvdtK2o0-kzNM-S"
#define BLYNK_PRINT Serial
#define pinBuzzer 2
#define pinLED 5
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu;
char auth[] = BLYNK_AUTH_TOKEN;
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
void myTimerEvent()
{
Blynk.virtualWrite(V2, millis() / 1000);
}
void setup()
{
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
pinMode(pinBuzzer, OUTPUT);
pinMode(pinLED, OUTPUT);
timer.setInterval(1000L, myTimerEvent); //Staring a timer
// Try to initialize! MPU6050
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 chip");
while (1) {
delay(10);
}
}
Serial.println("MPU6050 Found!");
mpu.setAccelerometerRange(MPU6050_RANGE_16_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("");
delay(100);
}
void loop()
{
deteksigempa();
timer.run();
}
void deteksigempa(){
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
int acX = a.acceleration.x;
int acY = a.acceleration.y;
int acZ = a.acceleration.z;
String v = ",";
String x = String(acX);
String y = String(acY);
String z = String(acZ);
if(acX && acY && acZ > 0){
tone(pinBuzzer, 1000);
digitalWrite(pinLED, HIGH);
Serial.println("AWAS GEMPA BUMI !!! "+ x + v + y+ v + z);
Serial.println("");
Blynk.virtualWrite(V0, "AWAS !! GEMPA BUMI");
}else{
noTone(pinBuzzer);
Serial.println("AMAN "+ x + v + y+ v + z);
digitalWrite(pinLED, LOW);
Serial.println("");
Blynk.virtualWrite(V0, "AMAN");
}
delay(1500);
Blynk.run();
}