On/Off mengunakan Arduino + Ethernet Shield

Kali ini penulis mencoba membuat on/off mengunakan Arduino dan Ethernet Shield dimana on dan off kan suatau perangkat bisa dimana saja asal terhubung dengan LAN, WAN bahkan Internet. untuk percobaan penulis mengunkan 4 buah led dan mencari-mencari di internet tentang referesni pengunaan Ethernet Shield pada arduino dan langsung saja ūüėÄ

ok_2

ok_1

Tampilan sederhana html ini akan muncul bila penulis mengakses IP Arduino, akan muncul 4 pilihan on / off , dengan mengklik salah satu link tersebut yg akan memberikan perintah mana yg akan di off dan di on kan ūüėÄ

ar

Penulis sertakan rekaman video nya. Video yg atas mengunakan LAN sedangkan yg bawah nya di hubungkan dengan Router Wifi sehinga dapat diakses mengunkan SmartPhone.

mengunakan LAN

mengunakan WIFI diakses dari Lumia520

berikut penulis sertakan coding Arduino nya :

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x78, 0xE0 }; 
byte ip[] = { 192, 168, 1, 2 }; 
byte gateway[] = { 192, 168, 1, 1 }; 
byte subnet[] = { 255, 255, 255, 0 }; 
EthernetServer server(80); 

String readString;

int out_1 = 6;
int out_2 = 7;
int out_3 = 8;
int out_4 = 9;

void setup() {
  
  pinMode(out_1, OUTPUT);
  pinMode(out_2, OUTPUT);
  pinMode(out_3, OUTPUT);
  pinMode(out_4, OUTPUT);
  
  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();
  
  digitalWrite(out_1, LOW);
  digitalWrite(out_2, LOW);
  digitalWrite(out_3, LOW);
  digitalWrite(out_4, LOW);
}

void loop() {
  EthernetClient client = server.available();
  if(client){
    while( client.connected() ){
      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("<!DOCTYPE html>");
          client.println("<body>");

          client.println("<p>");
          if(readString.indexOf("?rl1on") >0){
            digitalWrite(out_1, HIGH);
          }else if(readString.indexOf("?rl1off") >0){
            digitalWrite(out_1, LOW);
          }
          if( digitalRead(out_1) ){
            client.println("<a href=\"/?rl1off\"\">Turn off Light 1</a>");
          }else{
            client.println("<a href=\"/?rl1on\"\">Turn on Light 1</a>");
          }  
          client.println("</p>");
          
          client.println("<p>");
          if(readString.indexOf("?rl2on") >0){
            digitalWrite(out_2, HIGH);
          }else if(readString.indexOf("?rl2off") >0){
            digitalWrite(out_2, LOW);
          }
          if( digitalRead(out_2) ){
            client.println("<a href=\"/?rl2off\"\">Turn off Light 2</a>");
          }else{
            client.println("<a href=\"/?rl2on\"\">Turn on Light 2</a>");
          }  
          client.println("</p>");
          
          client.println("<p>");
          if(readString.indexOf("?rl3on") >0){
            digitalWrite(out_3, HIGH);
          }else if(readString.indexOf("?rl3off") >0){
            digitalWrite(out_3, LOW);
          }
          if( digitalRead(out_3) ){
            client.println("<a href=\"/?rl3off\"\">Turn off Light 3</a>");
          }else{
            client.println("<a href=\"/?rl3on\"\">Turn on Light 3</a>");
          }  
          client.println("</p>");
          
          client.println("<p>");
          if(readString.indexOf("?rl4on") >0){
            digitalWrite(out_4, HIGH);
          }else if(readString.indexOf("?rl4off") >0){
            digitalWrite(out_4, LOW);
          }
          if( digitalRead(out_4) ){
            client.println("<a href=\"/?rl4off\"\">Turn off Light 4</a>");
          }else{
            client.println("<a href=\"/?rl4on\"\">Turn on Light 4</a>");
          }  
          client.println("</p>");

          client.println("</body>");
          client.println("</html>");
          readString="";
          delay(1);
          client.stop();
      }
    }   
  }
}
Iklan
Perihal

Pemancar FM, Penerima FM, Microcontroler

Ditulis dalam Arduino, LED, PC
%d blogger menyukai ini: