Kendali jarak jauh merupakan suatu turunan dari bidang automasi, yaitu mengendalikan perangkat dari jarak jauh sesuai jangkauan sinyal pengirim dan penerima. Dalam kasus ini adalah menggunakan web. Dewasa ini penggunaan web tidak sebatas pada tempat postingan pribadi atau tempat jualan. Web juga dapat dijadikan aplikasi kendali jarak jauh dengan memanipulasi koding HTML yang diintegrasikan dengan bahasa pemrograman lainnya.
Pada postingan kali ini, penulis akan sharing tentang projek akhir yang dibuat ketika menginjak semester 6. Projek akhir yang dibuat tentang kendali jarak jauh menggunakan web yang terpasang pada jaringan LAN. Karena dipasang pada jaringan LAN, maka jarak kendali pun terbatas pada seberapa jauh jaringan LAN itu sendiri (20 meter).
Untuk membuat projek tersebut, dibutuhkan kira2 peralatan seperti yang tertera dibawah :
1. Arduino Uno/Mega
2. Ethernet Shield
3. Router
4. Kabel UTP Straight
5. Power Supply
6. PC atau Laptop untuk setting IP Address
7. Arduino IDE
Berikut adalah langkah-langkahnya
1. Pengaturan IP Address
IP Address merupakan alamat logic pada jaringan yang menunjukan alamat sumber data dan alamat tujuan data dikirimkan. Berikut cara mengatur IP Address pada EthernetShield (diasumsikan jaringan LAN sudah terpasang dan router telah disetting atau cari sendiri referensi cara instalasi LAN).
A. Siapkan kabel UTP jenis straight
B. Pasang ethernetshield diatas Arduino (ditumpuk)
C. Hubungkan arduino ke sumber 5V
D. Hubungkan port RJ45 yang terdapat di ethernetshield ke router
E. Buka arduino IDE dan buka program example DHCPAddressPrint yang sudah terdapat didalam arduino IDE
F. Download program ke board arduino
G. Buka serial monitor dan tunggu sampai IP Address arduino muncul
H. Setelah IP Address muncul simpan untuk program arduino.
2. Membuat Program Web di Arduino
Buka arduino IDE dan copy program berikut :
2. Membuat Program Web di Arduino
Buka arduino IDE dan copy program berikut :
#include
<SPI.h>
#include
<Ethernet.h>
byte mac[] = { 0x00,
0xAA, 0xBB, 0xCC, 0xDE, 0x02 };//mac address arduino
byte ip[] = { 192, 168,
0, 133};//ip address arduino
EthernetServer
server(80);
String readString;
int LED1 = 3; //pir
dalam, paralel dgn solenoid
int LED2 = 4;
//pirluar
int LED3 = 5;
//solenoid lock
int LED4 = 6; //alarm
int LED5 = 7;
//system
int LED6 = 8; //LEFT
int LED7 = 9; //RIGHT
void setup()
{
pinMode(LED1, OUTPUT);//pir luar
pinMode(LED2, OUTPUT);//pir dalam
pinMode(LED3, OUTPUT);//sld lock
pinMode(LED4, OUTPUT);//alarm
pinMode(LED6, OUTPUT);//left
pinMode(LED7, OUTPUT);//right
Ethernet.begin(mac, ip);
server.begin();
}
void loop(){
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char 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("<STYLE
TYPE=\"text/css\">");
client.println("a {
text-decoration : none; color:white }");
client.println("a:hover { color
: white }");
client.println("#btn
{padding : 4px 2px;background-color:#008040; font-size:100%;}");
client.println("#btn:hover {
padding : 4px 2px;background-color:blue; font-size:100%; }");
client.println("</STYLE>");
client.println("<BODY>");
client.println("<H1
STYLE=\"TEXT-ALIGN:CENTER;color:#008040\"><marquee>MANAGE
YOUR SECURITY SYSTEM THROUGH THIS VIRTUAL CONTROL
PANEL</marquee></H1>");
client.println("<hr
/>");
client.println("<br
/>");
client.println("<table
border=\"0\" width=\"100%\"
bgcolor=\"grey\">");
client.println("<tr>");
client.println("<td
width=\"16%\"></td>");
client.println("<td
align=\"center\" bgcolor=\"white\">");
client.println("<a
align=\"center\" id=\"btn\"
href=\"/?sct\"\">Security Mode</a>");
client.println("<a
id=\"btn\" href=\"/?std\"\">Standby
Mode</a><br /><br /><br />");
client.println("<a
id=\"btn\" href=\"/?almoff\"\">Turn Off
Alarm</a><br /><br /><br />");
client.println("<a
id=\"btn\" href=\"/?sldon\"\">Turn On Sld
Lock</a>");
client.println("<a
id=\"btn\" href=\"/?sldoff\"\">Turn Off Sld
Lock</a><br /><br /><br />");
client.println("<a
id=\"btn\"
href=\"/?left\"\">Left(Slider)</a>");
client.println("<a
id=\"btn\" href=\"/?right\"\">Right(Slider)</a><br
/><br /><br />");
client.println("</td>");
client.println("<td
width=\"16%\"></td>");
client.println("</tr>");
client.println("</table>");
client.println("<br
/>");
client.println("<br />");
client.println("<hr
/>");
client.println("<H3
STYLE=\"TEXT-ALIGN:CENTER;color:#008040\"><marquee>DESIGNED
BY FAHMI AHMAD HUSAENI, RIZKY FITRI HIDAYATULLAH, MUHAMMAD IMAM
FAISAL</marquee></H3>");
client.println("<H4 STYLE=\"TEXT-ALIGN:CENTER;color:#008040\">copyright
2016</H4>");
client.println("<H4
STYLE=\"TEXT-ALIGN:CENTER;color:#008040\">supported by
www.hmkpage.16mb.com</H4>");
client.println("</BODY>");
client.println("</HTML>");
delay(1);
client.stop();
if(readString.indexOf("?sct") > 0)//security mode
{
digitalWrite(LED1, HIGH);//output
pir luar on
digitalWrite(LED2, LOW);//output
pir dalam off
}
if(readString.indexOf("?std")
> 0)//standby mode
{
digitalWrite(LED1, LOW);//output
pir luar off
digitalWrite(LED2, HIGH);//output
pir dalam on
}
if(readString.indexOf("?sldon") > 0)//sld on opened
{
digitalWrite(LED3, HIGH);
}
if(readString.indexOf("?sldoff") > 0)//sld off locked
{
digitalWrite(LED3, LOW);
}
if(readString.indexOf("?almoff") > 0)//manual alarm off
{
digitalWrite(LED4, LOW);
}
if(readString.indexOf("?left") > 0)//manual LEFT SLIDER
{
digitalWrite(LED6, HIGH);
digitalWrite(LED7, LOW);
}
if(readString.indexOf("?right") > 0)//manual RIGHT SLIDER
{
digitalWrite(LED7, HIGH);
digitalWrite(LED6, LOW);
}
readString="";
}
}
}
}
}
Note : Silahkan pahami list programnya, jika ada yang tidak mengerti silahkan ditanyakan
Tidak ada komentar:
Posting Komentar