int PIR = 2;
int BUZZ = 13;
int ECHO_PIN = 4;
int TRIG_PIN = 5;
int jarak;
int waktu;
int freq = 0;
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const String url = "http://example.org";
#define wait 1
#define time 100
#include <WiFi.h>
#include <HTTPClient.h>
#include "Ultrasonic.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
pinMode(PIR, INPUT);
pinMode(BUZZ, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
lcd.begin(16, 2);
lcd.backlight();
lcd.setBacklight(HIGH);
lcd.home ();
lcd.print("Inisialisasi.");
delay(1000);
lcd.setCursor(13, 0);
lcd.print(".");
delay(500);
lcd.setCursor(14, 0);
lcd.print(".");
delay(500);
lcd.setCursor(15, 0);
lcd.print(".");
delay(500);
lcd.setCursor(16, 0);
lcd.print(".");
delay(500);
lcd.clear();
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.print("OK! IP=");
Serial.println(WiFi.localIP());
Serial.print("Fetching " + url + "... ");
HTTPClient http;
http.begin(url);
int httpResponseCode = http.GET();
if (httpResponseCode > 0) {
Serial.print("HTTP ");
Serial.println(httpResponseCode);
String payload = http.getString();
Serial.println();
Serial.println(payload);
}
else {
Serial.print("Error code: ");
Serial.println(httpResponseCode);
Serial.println(":-(");
}
}
void loop() {
digitalWrite (TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
waktu = pulseIn(ECHO_PIN, HIGH);
jarak = (waktu * 0.034) / 2;
if (jarak <= 100) {
Serial.print(" JARAK = ");
Serial.println(jarak);
digitalWrite(BUZZ, HIGH);
lcd.setCursor(1, 0);
lcd.print("JARAK = ");
lcd.println(jarak);
lcd.setCursor(0, 1);
lcd.print(" ADA MALING !");
for (freq = 500; freq < 3000; freq += 10) //
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 3000; freq > 500; freq -= 10)
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 500; freq < 3000; freq += 10) //
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 3000; freq > 500; freq -= 10)
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 500; freq < 3000; freq += 10) //
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 3000; freq > 500; freq -= 10)
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 500; freq < 3000; freq += 10) //
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 3000; freq > 500; freq -= 10)
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
delay(1);
digitalWrite(BUZZ, LOW);
lcd.clear();
}
if(digitalRead(PIR) == LOW){
Serial.println(PIR);
lcd.setCursor(2, 1);
lcd.print(" KOST AMAN ! ");
}
if(digitalRead(PIR) == HIGH) {
Serial.println(PIR);
digitalWrite(BUZZ, HIGH);
lcd.clear();
delay(1);
lcd.setCursor(0, 0);
lcd.print("SUHU = ");
lcd.println(PIR);
lcd.setCursor(0, 1);
lcd.print("ADA MALING !");
for (freq = 500; freq < 3000; freq += 10) //
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 3000; freq > 500; freq -= 10)
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 500; freq < 3000; freq += 10) //
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 3000; freq > 500; freq -= 10)
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 500; freq < 3000; freq += 10) //
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 3000; freq > 500; freq -= 10)
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 500; freq < 3000; freq += 10) //
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
for (freq = 3000; freq > 500; freq -= 10)
{
tone(BUZZ, freq, time); // Beep pin, freq, time
delay(wait);
}
delay(1);
digitalWrite(BUZZ, LOW);
lcd.clear();
}
else {
Serial.print(" JARAK = ");
Serial.println(jarak);
digitalWrite(BUZZ, LOW);
lcd.setCursor(2, 0);
lcd.print("JARAK = ");
lcd.println(jarak);
lcd.setCursor(2, 1);
lcd.print(" KOST AMAN !");
}
delay(100);
}