Initial commit
This commit is contained in:
commit
ca973da3a6
|
@ -0,0 +1,73 @@
|
|||
#include <WiFi.h>
|
||||
#include <FirebaseESP32.h>
|
||||
|
||||
// ====== GANTI SESUAI KEBUTUHAN ======
|
||||
#define WIFI_SSID "Gratis"
|
||||
#define WIFI_PASSWORD "PINGINusaha"
|
||||
#define FIREBASE_HOST "https://lampu-otomatis-e01b2-default-rtdb.firebaseio.com/"
|
||||
#define FIREBASE_AUTH "CYqTEGa6kWutv3e0yhfBBsllrGVV0ewNNKyS46S0" // API Key
|
||||
|
||||
// ====== PIN KONFIGURASI ======
|
||||
const int pirPin = 13; // Input dari sensor PIR
|
||||
const int relayPin = 23; // Output ke relay
|
||||
|
||||
FirebaseData firebaseData;
|
||||
FirebaseConfig firebaseConfig;
|
||||
FirebaseAuth firebaseAuth;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
||||
// Inisialisasi pin
|
||||
pinMode(pirPin, INPUT);
|
||||
pinMode(relayPin, OUTPUT);
|
||||
digitalWrite(relayPin, HIGH); // Matikan relay saat awal
|
||||
|
||||
// Koneksi ke WiFi
|
||||
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
|
||||
Serial.print("Menghubungkan ke WiFi");
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
delay(500);
|
||||
Serial.print(".");
|
||||
}
|
||||
Serial.println("\nTersambung ke WiFi");
|
||||
|
||||
firebaseConfig.database_url = FIREBASE_HOST;
|
||||
firebaseConfig.signer.tokens.legacy_token = FIREBASE_AUTH;
|
||||
//konfig ntp
|
||||
|
||||
// Koneksi ke Firebase
|
||||
Firebase.begin(&firebaseConfig, &firebaseAuth);
|
||||
Firebase.reconnectWiFi(true);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
int pirState = digitalRead(pirPin); // Baca status PIR
|
||||
|
||||
if (pirState == HIGH) {
|
||||
Serial.println("Gerakan terdeteksi!");
|
||||
digitalWrite(relayPin, LOW); // Aktifkan relay
|
||||
|
||||
// Kirim status ke Firebase
|
||||
if (Firebase.setString(firebaseData, "/Lampu/status", "ON")) {
|
||||
Serial.println("Firebase: status ON");
|
||||
} else {
|
||||
Serial.print("Firebase Error: ");
|
||||
Serial.println(firebaseData.errorReason());
|
||||
}
|
||||
delay(15000);
|
||||
} else {
|
||||
Serial.println("Tidak ada gerakan.");
|
||||
digitalWrite(relayPin, HIGH);
|
||||
|
||||
// Kirim status ke Firebase
|
||||
if (Firebase.setString(firebaseData, "/Lampu/status", "OFF")) {
|
||||
Serial.println("Firebase: status OFF");
|
||||
} else {
|
||||
Serial.print("Firebase Error: ");
|
||||
Serial.println(firebaseData.errorReason());
|
||||
}
|
||||
|
||||
delay(1000); // Delay ringan agar tidak terlalu sering update
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue