#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
Adafruit_MPU6050 mpu;
float Scala_richter = 0;
//konek to telegram
float valueSR;
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
#define BOT_TOKEN "6615261736:AAEQGpcZkXV8Z_dJWmbRxb-cOwJaS4ZfIew"
#define CHAT_ID "6242476867"
WiFiClientSecure secured_client;
UniversalTelegramBot bot (BOT_TOKEN, secured_client);
const unsigned long BOT_MTBS = 1000;
unsigned long bot_lasttime;
void setup(void) {
Serial.begin(115200);
pinMode(12, OUTPUT);
pinMode(14, OUTPUT);
pinMode(27, OUTPUT);
while (!mpu.begin()){
Serial.println("MPU6050 ready!");
delay(1000);
while (!Serial)
delay(3000);
Serial.print("CONNECTING TO: ");
Serial.print(WIFI_SSID);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
secured_client.setCACert(TELEGRAM_CERTIFICATE_ROOT);
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.println("WIFI CONNECTED");
}
}
sensors_event_t event;
void titit(){
mpu.getAccelerometerSensor()->getEvent(&event);
float yKuadrat = event.acceleration.y * event.acceleration.y;
float xKuadrat = event.acceleration.x * event.acceleration.x;
Serial.println(valueSR);
Serial.println("Magnitude");
valueSR = (yKuadrat + xKuadrat) * 0.5;
}
void nonot(){
if(event.acceleration.y >= 0&& event.acceleration.x >=0){
if(valueSR <= 0){
tone(26, 0);
}else if(valueSR > 0 && valueSR <= 3){
tone(26, 500);
digitalWrite(12, HIGH);
delay(50);
noTone(26);
digitalWrite(12, LOW);
delay(50);
}else if(valueSR > 3 && valueSR <= 5){
tone(26, 500);
digitalWrite(14, HIGH);
delay(500);
noTone(26);
digitalWrite(14, LOW);
delay(250);
}else if(valueSR > 5 && valueSR <= 7){
tone(26, 500);
digitalWrite(27, HIGH);
delay(1000);
noTone(26);
digitalWrite(27, LOW);
delay(100);
}else if(valueSR > 7 && valueSR <= 10){
tone(26, 500);
digitalWrite(27, HIGH);
delay(2000);
noTone(26);
digitalWrite(27, LOW);
delay(100);
}
}else{
tone(26, 0);
}
}
void loop(){
nonot();
titit();
Serial.print("Ketinggian Air: ");
Serial.print(valueSR);
Serial.println(" SR");
delay(1000);
}