Anda di halaman 1dari 11

1

IoT Starter Pack

Project 4 : Kontrol LED dg WiFi


Deskripsi/Cara Kerja.

Kontrol LED secara wireless dengam WiFi melalui alamat IP address. Akses alamat IP melalui
browser kemudian kontrol melalui tombol yang ada di webpage. Siapkan jaringan WiFi/Hotspot
dengan nama WiFi (ssid) dan password-nya.

Kebutuhan Hardware.

 NodeMCU V3
 Kabel micro USB
 Breadboard
 LED (4)
 Resistor (4)

www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
2
IoT Starter Pack

Kebutuhan Software.

 Arduino IDE

Rangkaian/Skematik.

[gambar rangkaian]

Koneksi NodeMCU dengan LED :

NodeMCU LED
D0 LED 1
D1 LED 2
D2 LED 3
D3 LED 4
Petunjuk/Langkah Praktek.

Step 1 : Instalasi Hardware

Buat rangkaian NodeMCU dengan 4 buah LED dan 4 resistor yang terhubung ke pin D0, D1, D2
dan D3 seperti pada rangkaian/skematik.

Step 2 : Pembuatan Program

Buka/jalankan Arduino IDE kemudian buat lembar kerja baru. Tulis kode program berikut.
/***************************************
* Project 4 Kontrol LED via WiFi
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
3
IoT Starter Pack

* Board : NodeMCU V3
* Input : -
* Output : LED
* IoT Starter Pack
* www.ardutech.com
****************************************/
#include <ESP8266WiFi.h>
//---GANTI SESUAI DENGAN JARINGAN WIFI
//---HOTSPOT ANDA
const char* ssid = "ArdutechWiFi"; //Nama Hotspot
const char* password = "12345678"; //Password
WiFiServer server(80);
//====================================
void setup() {
Serial.begin(115200);

pinMode(D0, OUTPUT);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

server.begin();
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
4
IoT Starter Pack

Serial.println("Server started");
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}
//====================================
void loop() {
WiFiClient client = server.available();
if (!client) {
return;
}
Serial.println("new client");
while(!client.available()){
delay(1);
}
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
if (request.indexOf("/led1on") > 0) {
digitalWrite(D0, HIGH);
}
if (request.indexOf("/led1off") >0) {
digitalWrite(D0, LOW);
}
if (request.indexOf("/led2on") > 0) {
digitalWrite(D1, HIGH);
}
if (request.indexOf("/led2off") >0) {
digitalWrite(D1, LOW);
}
if (request.indexOf("/led3on") >0) {
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
5
IoT Starter Pack

digitalWrite(D2, HIGH);
}
if (request.indexOf("/led3off") > 0) {
digitalWrite(D2, LOW);
}
if (request.indexOf("/led4on") > 0) {
digitalWrite(D3, HIGH);
}
if (request.indexOf("/led4off") > 0) {
digitalWrite(D3, LOW);
}

client.println("HTTP/1.1 200 OK");


client.println("Content-Type: text/html");
client.println(""); // do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head>");
client.println("<meta name='apple-mobile-web-app-capable' content='yes'
/>");
client.println("<meta name='apple-mobile-web-app-status-bar-style'
content='black-translucent' />");
client.println("</head>");
client.println("<body bgcolor = \"#f7e6ec\">");
client.println("<hr/><hr>");
client.println("<h3><center> Project IoT : Kontrol 4 LED
</center></h3>");
client.println("<h4><center> www.ardutech.com </center></h4>");
client.println("<hr/><hr>");
client.println("<br><br>");
//client.println("<br><br>");
client.println("<center>");
client.println("Lampu 1");
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
6
IoT Starter Pack

client.println("<a href=\"/led1on\"\"><button>Turn On </button></a>");


client.println("<a href=\"/led1off\"\"><button>Turn Off
</button></a><br />");
client.println("</center>");
client.println("<br><br>");
client.println("<center>");
client.println("Lampu 2");
client.println("<a href=\"/led2on\"\"><button>Turn On </button></a>");
client.println("<a href=\"/led2off\"\"><button>Turn Off
</button></a><br />");
client.println("</center>");
client.println("<br><br>");
client.println("<center>");
client.println("Lampu 3");
client.println("<a href=\"/led3on\"\"><button>Turn On </button></a>");
client.println("<a href=\"/led3off\"\"><button>Turn Off
</button></a><br />");
client.println("</center>");
client.println("<br><br>");
client.println("<center>");
client.println("Lampu 4");
client.println("<a href=\"/led4on\"\"><button>Turn On </button></a>");
client.println("<a href=\"/led4off\"\"><button>Turn Off
</button></a><br />");
client.println("</center>");
client.println("<br><br>");
client.println("<center>");
client.println("<table border=\"5\">");
client.println("<tr>");
//=====================
if (digitalRead(D0))
{
client.print("<td>LED 1 = ON</td>");

www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
7
IoT Starter Pack

}
else
{
client.print("<td>LED 1 = OFF</td>");
}
client.println("<br />");
//======================
if (digitalRead(D1))
{
client.print("<td>LED 2 = ON</td>");
}
else
{
client.print("<td>LED 2 = OFF</td>");
}
client.println("</tr>");
//=======================
client.println("<tr>");

if (digitalRead(D2))
{
client.print("<td>LED 3 = ON</td>");
}
else
{
client.print("<td>LED 3 = OFF</td>");
}
if (digitalRead(D3))
{
client.print("<td>LED 4 = ON</td>");
}
else
www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
8
IoT Starter Pack

{
client.print("<td>LED 4 = OFF</td>");
}
client.println("</tr>");
client.println("</table>");
client.println("</center>");
client.println("</html>");
delay(1);
Serial.println("Client disonnected");
Serial.println("");
}

PERHATIKAN !
Ganti/sesuaikan variabel berikut :
 Nama jaringan WiFi/hotspot : ssid
 Password jaringan WiFi/hotspot : password
Simpan (Save) kemudian Upload. Pastikan tidak ada error, jika masih ada silakan cek penulisan dll
kemudian perbaiki. (Program ini sudah diuji langsung dan sudah berjalan tanpa ada error)
Step 3 : Hasil/Pengujian Proyek

Setelah program berhasil di Upload, silakan buka Serial Monitor dari menu Tools  Serial
Monitor, seting baudrate pada 115200 maka akan tampil di Serial Monitor alamat IP (IP Address)
dari NodeMCU.

www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
9
IoT Starter Pack

Pada contoh ini IP Address : 192.168.43.149. Buka browser kemudian ketikkan alamat dengan IP
Address tersebut sehingga muncul sebuah webpage kontrol LED.

www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
10
IoT Starter Pack

Tekan tombol Lampu 1 “Turn on” maka LED 1 akan nyala, tekan tombol “Turn On” pada Lampu 3
maka LED 3 akan nyala. Coba juga untuk kontrol LED yang lain (On – Off).

www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)
11
IoT Starter Pack

Selamat berkarya , semoga lancar dan bermanfaat.

Ardutech – “Sahabat Inovasi Anda”

www.ardutech.com @2020 (Terimakasih anda tidak meng-copy file ini untuk dijual kembali)

Anda mungkin juga menyukai