Sebenarnya alat ini bukan merupakan sesuatu yang baru, namun di era IoT seperti sekarang ini maka banyak pengendalian jarak jauh yang dilakukan melalui internet
Berikut adalah source code dari arduino
#include <SPI.h>
#include <Ethernet.h>
int relay1 = 2;
int relay2 = 3;
int relay3 = 4;
int relay4 = 5;
int relay5 = 8;
boolean statusR1, statusR2, statusR3, statusR4, statusR5, statusR6, statusS1, statusS2, statusS3, statusS4, statusS5, statusS6 = false;
String readString;
char c;
byte mac[] = {0xDA, 0xAD, 0xBE, 0xEB, 0xFE, 0xFB};
IPAddress ip(192, 168, 2, 182);
EthernetServer server(80);
void setup() {
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
pinMode(relay5, OUTPUT);
Serial.begin(9600);
while (!Serial) { ; }
Ethernet.begin(mac, ip);
server.begin();
statusR1 = true;
statusR2 = true;
statusR3 = true;
statusR4 = true;
statusR5 = true;
statusR6 = true;
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
digitalWrite(relay3, HIGH);
digitalWrite(relay4, HIGH);
digitalWrite(relay5, HIGH);
}
void loop() {
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
c = client.read();
if (readString.length() < 100) {
readString += c;
}
if (c == '\n') {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<HTML>");
client.println("<HEAD>");
client.println("<meta http-equiv=\"Refresh\" content=\"4; url=/remote\" />");
client.println("<meta http-equiv=\"Content-Type\" content=\"application/vnd.wap.xhtml+xml; charset=utf-8\" />");
client.println("<TITLE>REMOTE TERMINAL UNIT</TITLE>");
client.println("</HEAD>");
client.println("<BODY align=\"center\">");
client.println("<h1>REMOTE TERMINAL UNIT V10.1 </h1>");
client.println("<hr />");
client.println("<br />");
client.println("<br />");
client.println("<table align=\"center\"><tr>");
client.println("<th width=\"5%\">Perangkat</th>");
client.println("<th width=\"5%\">Status</th>");
client.println("<th width=\"5%\">ON/OFF</th>");
client.println("<th width=\"5%\">RESTART</th></tr>");
client.println("<tr class=\"trh1\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("SWITCH 1");
client.println("</td><td align=\"center\">");
if (statusR1 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR1 == false) {
client.println("<a href=\"/1on\" />HIDUPKAN</a>");
} else {
client.println("<a href=\"/1off\" />MATIKAN</a>");
}
client.println("</td><td align=\"center\">");
if (statusS1 == false) {
client.println("<a href=\"/1rst\" />RESTART</a>");
}
client.println("</td></tr>");
client.println();
client.println("<tr class=\"trh2\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("SWITCH 2");
client.println("</td><td align=\"center\">");
if (statusR2 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR2 == false) {
client.println("<a href=\"/2on\" />HIDUPKAN</a>");
} else {
client.println("<a href=\"/2off\" />MATIKAN</a>");
}
client.println("</td><td align=\"center\">");
if (statusS2 == false) {
client.println("<a href=\"/2rst\" />RESTART</a>");
}
client.println("</td></tr>");
client.println();
client.println("<tr class=\"trh1\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("SWITCH 3");
client.println("</td><td align=\"center\">");
if (statusR3 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR3 == false) {
client.println("<a href=\"/3on\" />HIDUPKAN</a>");
} else {
client.println("<a href=\"/3off\" />MATIKAN</a>");
}
client.println("</td><td align=\"center\">");
if (statusS3 == false) {
client.println("<a href=\"/3rst\" />RESTART</a>");
}
client.println("</td></tr>");
client.println();
client.println("<tr class=\"trh2\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("SWITCH 4");
client.println("</td><td align=\"center\">");
if (statusR4 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR4 == false) {
client.println("<a href=\"/4on\" />HIDUPKAN</a>");
} else {
client.println("<a href=\"/4off\" />MATIKAN</a>");
}
client.println("</td><td align=\"center\">");
if (statusS4 == false) {
client.println("<a href=\"/4rst\" />RESTART</a>");
//s
}
client.println("</td></tr>");
client.println();
client.println("<tr class=\"trh2\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("SWITCH 5");
client.println("</td><td align=\"center\">");
if (statusR5 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR5 == false) {
client.println("<a href=\"/5on\" />HIDUPKAN</a>");
} else {
client.println("<a href=\"/5off\" />MATIKAN</a>");
}
client.println("</td><td align=\"center\">");
if (statusS5 == false) {
client.println("<a href=\"/5rst\" />RESTART</a>");
}
client.println("</td></tr>");
client.println();
client.println("<tr class=\"trh2\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("ALL TERMINAL");
client.println("</td><td align=\"center\">");
if (statusR6 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR6 == false) {
client.println("<a href=\"/nyala\" />HIDUP SEMUA</a>");
} else {
client.println("<a href=\"/mati\" />MATI SEMUA</a>");
}
client.println("</td><td align=\"center\">");
if (statusS6 == false) {
client.println("<a href=\"/6rst\" />RESTART SEMUA</a>");
}
client.println("</td></tr>");
client.println();
client.println("</BODY>");
delay(1);
client.stop();
if (readString.indexOf("1on") >0){
digitalWrite(relay1, HIGH);
statusR1 = true;
}
if (readString.indexOf("1off") >0){
digitalWrite(relay1, LOW);
statusR1 = false;
}
if (readString.indexOf("1rst") >0){
digitalWrite(relay1, LOW);
delay(7000);
digitalWrite(relay1, HIGH);
}
if (readString.indexOf("2on") >0){
digitalWrite(relay2, HIGH);
statusR2 = true;
}
if (readString.indexOf("2off") >0){
digitalWrite(relay2, LOW);
statusR2 = false;
}
if (readString.indexOf("2rst") >0){
digitalWrite(relay2, LOW);
delay(7000);
digitalWrite(relay2, HIGH);
}
if (readString.indexOf("3on") >0){
digitalWrite(relay3, HIGH);
statusR3 = true;
}
if (readString.indexOf("3off") >0){
digitalWrite(relay3, LOW);
statusR3 = false;
}
if (readString.indexOf("3rst") >0){
digitalWrite(relay3, LOW);
delay(7000);
digitalWrite(relay3, HIGH);
}
if (readString.indexOf("4on") >0){
digitalWrite(relay4, HIGH);
statusR4 = true;
}
if (readString.indexOf("4off") >0){
digitalWrite(relay4, LOW);
statusR4 = false;
}
if (readString.indexOf("4rst") >0){
digitalWrite(relay4, LOW);
delay(7000);
digitalWrite(relay4, HIGH);
}
if (readString.indexOf("5on") >0){
digitalWrite(relay5, HIGH);
statusR5 = true;
}
if (readString.indexOf("5off") >0){
digitalWrite(relay5, LOW);
statusR5 = false;
}
if (readString.indexOf("5rst") >0){
digitalWrite(relay5, LOW);
delay(7000);
digitalWrite(relay5, HIGH);
}
if (readString.indexOf("6rst") >0){
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
digitalWrite(relay3, LOW);
digitalWrite(relay4, LOW);
digitalWrite(relay5, LOW);
delay(7000);
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
digitalWrite(relay3, HIGH);
digitalWrite(relay4, HIGH);
digitalWrite(relay5, HIGH);
}
if (readString.indexOf("mati") >0){
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
digitalWrite(relay3, LOW);
digitalWrite(relay4, LOW);
digitalWrite(relay5, LOW);
statusR1 = false;
statusR2 = false;
statusR3 = false;
statusR4 = false;
statusR5 = false;
statusR6 = false;
}
if (readString.indexOf("nyala") >0){
digitalWrite(relay1, HIGH);
digitalWrite(relay2, HIGH);
digitalWrite(relay3, HIGH);
digitalWrite(relay4, HIGH);
digitalWrite(relay5, HIGH);
statusR1 = true;
statusR2 = true;
statusR3 = true;
statusR4 = true;
statusR5 = true;
statusR6 = true;
}
readString=""; } } } } }
Cara mengaksesnya adalah dengan mengetikkan alamat IP di browser dari laptop atau komputer yang memiliki jaringan yang sama dengan Arduino
Pada contoh program alamat IP nya adalah 192.168.2.182
| Cara mengakses Kontrol Arduino |
![]() |
| Tampilan Web Kontrol Relay |
