#include <WiFi.h>
#include <WiFiClient.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
#include "ThingSpeak.h"
WiFiClient client;
String thingSpeakAddress = "api.thingspeak.com";
String writeAPIKey;
String tsfield1Name;
String request_string;
Adafruit_MPU6050 mpu;
void setup()
{
Serial.begin(115200);
// Koneksi Wifi
WiFi.disconnect();
WiFi.begin("Wokwi-GUEST", "");
while ((!(WiFi.status() == WL_CONNECTED))) {
delay(300);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
//koneksi mpu6050
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 chip");
while (1) {
delay(10);
}
}
mpu.setAccelerometerRange(MPU6050_RANGE_16_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("");
delay(100);
}
//inisilisai nilai sensor
double x,y,z ;
void loop()
{
mpu6050();
kirim_thingspeak(x,y,z);
}
void mpu6050(){
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
x = a.acceleration.x;
y = a.acceleration.y;
z = a.acceleration.z;
if ((x==0)and (y==0)){
Serial.print("Aman : ");
Serial.print(x);
Serial.print(",");
Serial.print(y);
Serial.print(",");
Serial.print(z);
Serial.println(", ");
delay(1000);
}
//Terjadi Gempa
else{
Serial.print("Gempa : ");
Serial.print(" X: ");
Serial.print(x);
Serial.print(", Y: ");
Serial.print(y);
Serial.print(", Z: ");
Serial.print(z);
Serial.println(" m/s^2");
}
}
void kirim_thingspeak(double x, double y,double z) {
if (client.connect("api.thingspeak.com", 80)) {
request_string = "/update?";
request_string += "key=";
request_string += "S9ZHNDWX89IG2PXU";
request_string += "&";
request_string += "field1";
request_string += "=";
request_string += x;
request_string += "&";
request_string += "field2";
request_string += "=";
request_string += y;
request_string += "&";
request_string += "field3";
request_string += "=";
request_string += z;
}
while (client.available()) {
String line = client.readStringUntil('\r');
Serial.print(line);
}
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
imu1:INT
imu1:AD0
imu1:XCL
imu1:XDA
imu1:SDA
imu1:SCL
imu1:GND
imu1:VCC