#include <WiFi.h>
#include <HTTPClient.h>
#define TRIG_PIN 5
#define ECHO_PIN 18
const char* ssid = "Wokwi-GUEST";
const char* password = "";
String serverName = "https://script.google.com/macros/s/AKfycbzFFfOc-Szp2or98LATxAVwk7yN-cdpd1wVYp9hqRwYOa1v8SlSZvIp6fHH9ctsbjHn/exec";
long duration;
float distance;
void setup() {
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
WiFi.begin(ssid, password);
Serial.print("Connecting WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi Connected");
}
void loop() {
// Sensor ultrasonik
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(serverName);
http.addHeader("Content-Type", "application/json");
String jsonData = "{";
jsonData += "\"jarak\":" + String(distance) + ",";
jsonData += "\"device\":\"ESP32-Ultrasonik\",";
jsonData += "\"lokasi\":\"Lab\"";
jsonData += "}";
int httpResponseCode = http.POST(jsonData);
Serial.print("HTTP Response: ");
Serial.println(httpResponseCode);
http.end();
}
delay(3000);
}