ESP8266 Arduino IDE – LED / Relay Control

Pada pembahasan kali ini kita akan membahas tentang sistem kontrol yang dapat digunakan pada ESP8266, untuk kasusnya kita gunakan untuk kontrol LED dan bisa juga diaplikasikan untuk kontrol relay nantinya. Konsep yang digunakan sama dengan artikel client server yang saya tulis sebelumnya, dia akan menerima data yang dikirim dan nantinya data tersebut akan diolah menjadi perintah yang digunakan untuk menghidupkan atau mematikan LED. (Baca Juga : Komunikasi Client Server Menggunakan ESP8266 )

Hasil dari percobaan ini nantinya kita dapat mengkontrol led / relay menggunakan ESP8266 melalui aplikasi browser yang ada pada perangkat komputer dan smartphone, atau menggunakan aplikasi yang sudah saya buat.

Berikut merupakan script yang digunakan untuk perangkat ESP8266 :

#include <ESP8266WiFi.h>
 
const char* ssid = "warriornux.com";      // Nama AP/Hotspot
const char* password = "1234567890";    // Password AP/Hotspot
 
WiFiServer server(80);
void setup() {
  Serial.begin(115200);
  delay(10);

  pinMode (16, OUTPUT);
  digitalWrite(16, LOW);
  pinMode (14, OUTPUT);
  digitalWrite(14, LOW);
  
 // Mengatur WiFi ----------------------------------------------------------
  Serial.println();
  Serial.print("Configuring access point...");
   
  WiFi.mode(WIFI_AP);             // Mode AP/Hotspot
  WiFi.softAP(ssid, password);
  
 // Start the server -------------------------------------------------------
  server.begin();
  Serial.println("Server dijalankan");
  
 // Print the IP address ---------------------------------------------------
  Serial.println(WiFi.softAPIP());
 }

void loop() {
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  
  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
  
  // Read the first line of the request
  String req = client.readStringUntil('\r');
  Serial.println(req);
  client.flush();
  
  // Perintah yang diterima untuk menghidupkan led
  if (req.indexOf("LED1=ON") != -1)
      digitalWrite(16, HIGH);
  else if (req.indexOf("LED1=OFF") != -1)
      digitalWrite(16, LOW);
  else if (req.indexOf("LED2=ON") != -1)
      digitalWrite(14, HIGH);
  else if (req.indexOf("LED2=OFF") != -1)
      digitalWrite(14, LOW);
  else {
    Serial.println("invalid request");
    client.stop();
    return;
  }
  
  client.flush();
  delay(1);
  Serial.println("Client disonnected");

  // The client will actually be disconnected 
  // when the function returns and 'client' object is detroyed
}

Berikut merupakan skema yang akan kita gunakan :

esp8266ledcontrol

Sebelum melakukan upload, pastikan terlebih dahulu library ESP8266 sudah terpasang pada Arduino IDE. Apabila belum, kamu dapat mengikuti intruksi dari artikel berikut : Menambahkan Library ESP8266 pada Arduino IDE

Sesuaikan pengaturan pada board diubah menjadi ESP8266 Generic seperti gambar dibawah ini. Setelah itu upload program ke ESP8266 dan tunggu hingga hingga selesai.

           Screenshot (23)   Screenshot (24)

Setelah perangkat selesai kita masuki program, lalu lanjutkan dengan menghubungkan komputer dengan wifi yang dipancarkan oleh ESP8266. Setelah itu buka browser lalu masukan perintah yang sudah kita sisipkan pada pogram tadi di url, dengan menyertakan alamat IP Address dari ESP8266 tersebut.

  • 192.168.4.1/LED1=ON   (Untuk menghidupkan Led 1)
  • 192.168.4.1/LED1=OFF  (Untuk mematikan Led 1)
  • 192.168.4.1/LED2=ON   (Untuk menghidupkan Led 2)
  • 192.168.4.1/LED2=OFF  (Untuk mematikan Led 2)

12

Pada hasil berikut dapat kita simpulkan bahwa setiap alamat url yang kita kirimkan melalui browser kepada ESP8266 akan selalu diterima, agar perintah tersebut dapat kita gunakan maka kita harus memasukan perintah tersebut kedalam program sehingga nantinya perangkat dapat mengekseskusi ke tahap selanjutnya.

Sekian pembahasan kali ini, semoga bermanfaat dan dapat membantu 😀

Tresna Widiyaman Avatar
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments