Marz craft // Gunakan penanda agar mudah ditemukan kembali

Proyek Smart Home Menggunakan ESP32



 Perkembangan Internet of Things (IoT) membuat berbagai perangkat rumah dapat dikendalikan melalui jaringan internet maupun Wi‑Fi lokal. Salah satu mikrokontroler yang paling populer untuk mempelajari IoT adalah ESP32. Harganya terjangkau, memiliki Wi‑Fi dan Bluetooth bawaan, serta didukung oleh komunitas yang sangat besar. Pada artikel ini kita akan membangun proyek smart home sederhana yang mampu mengendalikan sebuah lampu lewat smartphone menggunakan relay 1 channel . Walaupun proyek ini terlihat sederhana, konsep yang dipelajari merupakan dasar bagi sistem smart home yang lebih kompleks seperti pengendalian banyak lampu, kipas, pompa air, pintu otomatis, hingga monitoring sensor secara real-time

cara kerja ESP32

1. ESP32 Terhubung ke Jaringan Wi-Fi

2. ESP32 Membuat Web Server

3. Pengguna Membuka Dashboard Web Server

4. Pengguna Menekan Tombol ON atau OFF

5. Relay Mulai Bekerja

6. Lampu Menyala

7. ESP32 Memperbarui Tampilan Dashboard Web Server


No Komponen Jumlah Fungsi
1 🖥️ ESP32 DevKit V1 1 Buah Mikrokontroler utama yang menjalankan program, membuat web server, dan mengendalikan relay.
2 ⚡ Relay Module 1 Channel 5V 1 Buah Berfungsi sebagai sakelar elektronik untuk menghubungkan atau memutus aliran listrik ke beban.
3 🔌 Kabel Jumper Secukupnya Menghubungkan pin ESP32 dengan modul relay.
4 🔋 Kabel USB 1 Buah Digunakan untuk mengunggah program ke ESP32 sekaligus memberikan daya dari komputer.
5 💡 Lampu LED / Lampu AC 1 Buah Perangkat atau beban listrik yang akan dikendalikan menggunakan relay.
6 📶 Router / Access Point Wi-Fi 1 Buah Menghubungkan ESP32 dengan smartphone atau komputer melalui jaringan Wi-Fi.
7 📱 Smartphone / Laptop 1 Unit Digunakan untuk mengakses dashboard Smart Home melalui browser.
8 💻 Arduino IDE Software Menulis, mengompilasi, dan mengunggah program ke ESP32.
9 🧰 Breadboard (Opsional) 1 Buah Mempermudah proses perakitan rangkaian tanpa penyolderan.


langkah langkah perakitan
1.pasang kabel ESP32 ke relay
Pin ESP32Pin RelayKeterangan
VIN (5V)VCC / DC+Memberikan tegangan 5V ke modul relay.
GNDGND / DC−Menghubungkan ground ESP32 dengan ground relay.
GPIO 27INPin kontrol untuk mengaktifkan atau menonaktifkan relay.

2.Install software arduino ide di komputer (disini) dan connect esp32 ke komputer menngunakan kabel usb
3.buka software arduino ide dan buka tools>board>esp32>ESP32 Dev module
4.buka tools>port dan pilih mana port yang terhubung sebagai esp32
5.upload program ini dan ganti nama wifi dan password kamu

Program esp32
#include 

const char* ssid = "NAMA WIFI";
const char* password = "PASSWORD WIFI";

WiFiServer server(80);

const int relayPin = 27;
bool relayState = false;

void setup() {
  Serial.begin(115200);

  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, LOW);   // Relay OFF

  WiFi.begin(ssid, password);

  Serial.print("Menghubungkan ke WiFi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println();
  Serial.println("WiFi Terhubung!");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());

  server.begin();
}

void loop() {

  WiFiClient client = server.available();

  if (!client) {
    return;
  }

  while (client.connected() && !client.available()) {
    delay(1);
  }

  String request = client.readStringUntil('\r');
  client.flush();

  // Relay ON
  if (request.indexOf("/ON") != -1) {
    relayState = true;
    digitalWrite(relayPin, HIGH);
  }

  // Relay OFF
  if (request.indexOf("/OFF") != -1) {
    relayState = false;
    digitalWrite(relayPin, LOW);
  }

  client.println("HTTP/1.1 200 OK");
  client.println("Content-type:text/html");
  client.println("Connection: close");
  client.println();

  client.println("");
  client.println("");
  client.println("");
  client.println("");
  client.println("");
  client.println("ESP32 Smart Home");

  client.println("");

  client.println("");
  client.println("");

  client.println("
"); client.println("

ESP32 Smart Home

"); if (relayState) { client.println("

Status Relay : ON

"); } else { client.println("

Status Relay : OFF

"); } client.println("
"); client.println(""); client.println("
"); client.println(""); client.println(""); client.stop(); }

6.buka serial monitor dan set 115200 baud lalu tekan tombol EN pada esp32,jika berhasil maka akan ada tulisan 'WIFI TERHUBUNG' dan akan ada alamat ip contoh '192.168.1.213'
7.buka browser di hp lalu ketik http://(alamat ip) contoh 'http://192.168.1.1.213' (pastikan hp dan esp32 terhubung ke wifi yang sama)
8.jika berhasil akan muncul web untuk mengontrol relay,ada tombol on of,jika posisi on maka kontak on dan com pada relay akan terhubung,untuk pengaplikasian pada lampu sama sepertti menggunkan  sakelar manual

program motor servo - arduino



Program ini digunakan untuk menggerakkan servo motor SG90 dari sudut 0° hingga 180° kemudian kembali ke 0° secara berulang menggunakan Arduino Uno.

🔌 Wiring Arduino Uno

Pin Arduino Servo SG90
5V VCC (Merah)
GND GND (Coklat/Hitam)
Pin 9 Signal (Oranye)

📚 Library

Servo.h

💻 Program Arduino

#include <Servo.h>

Servo servo;

void setup() {

    servo.attach(9);

}

void loop() {

    for(int posisi = 0; posisi <= 180; posisi++) {

        servo.write(posisi);

        delay(15);

    }

    for(int posisi = 180; posisi >= 0; posisi--) {

        servo.write(posisi);

        delay(15);

    }

}
    

📝 Keterangan

  • Menggunakan library Servo.h.
  • Pin sinyal servo terhubung ke pin digital 9.
  • Servo bergerak dari 0° ke 180° kemudian kembali ke 0°.
  • Cocok untuk latihan dasar penggunaan servo.
```