#include <WiFi.h>
#include <HTTPClient.h>
#define LED 2
//diganti sesuai ssid sama pass wifi yg ada
const char* ssid = "Wokwi-GUEST";
const char* password = "";
//diganti sesuai akunmu
const char* twilioAccountSID = "AC910e7e7f8bb6c5bab30f3e36fc7ef996";
const char* twilioAuthToken = "d49f00b9475ac534f354bd1c1898947d";
const char* twilioPhoneNumber = "+12542805995";
const char* recipientPhoneNumber = "+6285768591873";
const int trigPin = 18;
const int echoPin = 5;
int buzzer = 13;
long duration;
int jarakCm;
void setup() {
pinMode(LED, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
jarakCm = duration*0.034/2;
if (jarakCm >= 300 && jarakCm <= 500){
tone(buzzer, 900);
digitalWrite(LED, HIGH);
delay(400);
digitalWrite(LED, LOW);
sendTwilioMessage("Hello from ESP32!");
}else{
digitalWrite(LED, LOW);
noTone(8);
delay(100);
}
}
void sendTwilioMessage(const char* message) {
String url = "https://api.twilio.com/2010-04-01/Accounts/";
url += twilioAccountSID;
url += "/Messages.json";
HTTPClient http;
http.begin(url);
http.setAuthorization(twilioAccountSID, twilioAuthToken);
String postData = "To=";
postData += recipientPhoneNumber;
postData += "&From=";
postData += twilioPhoneNumber;
postData += "&Body=";
postData += message;
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
int httpResponseCode = http.POST(postData);
if (httpResponseCode > 0) {
String response = http.getString();
Serial.println(httpResponseCode);
Serial.println(response);
} else {
Serial.print("Error sending message. HTTP Response code: ");
Serial.println(httpResponseCode);
}
http.end();
}