Rabu, 15 November 2017

Web Arduino

Arduino + Ethernet Shield Web Server

http://www.howtoarduino.tk/2015/11/arduino-ethernet-shield-web-server.html


Halo teman-teman selamat sore menjelang malam..
Kali ini saya akan memperkenalkan Arduino dan Ethernet Shield.. Ethernet Shield adalah perangkat peranti tambahan untuk Arduino,,, nah ini dia...



Sedangkan Arduino telah kita bahas di pertemuan lalu,,

Nah, kali ini saya akan membahas tentang proyek kita, Proyek ini adalah tentang menggunakan Arduino dengan Ethernet Shield. Saya akan mengendalikan satu LED dan servo, tetapi Anda dapat menerapkan metode ini untuk mengontrol perangkat elektronik yang Anda inginkan. (seperti DC motor, buzzers, relay, motor stepper, dll ..)

Kode yang diberikan saat upload dan terhubung ke internet itu menciptakan webserver di LAN Anda dan Anda hanya menggunakan IP untuk mengakses webserver yang melalui browser Anda. Setelah itu menunjukkan halaman web yang mirip dengan yang di bawah ini. Ketika Anda menekan tombol "Turn On LED" url Anda akan berubah menjadi: "http://192.168.1.178/?button1on" Arduino akan membaca informasi itu dan Ternyata LED On.

Secara default IP adalah "192.168.1.178". Yang juga dapat ditemukan pada kode Arduino disediakan.

Alat-alat yang diperlukan :


  • 1x Arduino Uno
  • 1x Ethernet Perisai
  • 1x 220 Ohm Resistor
  • 1x LED
  • 1x Micro Servo Motor
  • 1x Breadboard
  • Kabel jumper


Kmudian di rakit seperti d bawah ini...
Ini Skemanya..



Kemudian colokkan Arduino ke usb Computer atau Laptop..
Buka Software Arduino,,, kemudian pastekan kode berikut..

#include <SPI.h>

#include <Ethernet.h>

#include <Servo.h> 

int led = 4;Servo microservo; int pos = 0; byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac addressbyte ip[] = { 192, 168, 1, 178 }; // ip in lan (that's what you need to use in your browser. ("192.168.1.178")byte gateway[] = { 192, 168, 1, 1 }; // internet access via routerbyte subnet[] = { 255, 255, 255, 0}; //subnet maskEthernetServer server(80); //server port

String readString; void setup() { // Open serial communications and wait for port to open:Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } pinMode(led,OUTPUT); microservo.attach(7); // start the Ethernet connection and the server: Ethernet.begin(mac, ip, gateway,subnet); server.begin(); Serial.print("server is at ");Serial.println(Ethernet.localIP());} void loop() { // Create a client connection EthernetClient client =server.available(); if (client) { while (client.connected()){ if (client.available()) { char c = client.read(); //read char by char HTTP request if (readString.length() < 100) {//store characters to string readString += c;//Serial.print(c); } //if HTTP request has ended if (c =='\n') { Serial.println(readString); //print to serial monitor for debuging client.println("HTTP/1.1 200 OK");//send new page client.println("Content-Type: text/html");client.println(); client 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("<link rel='stylesheet' type='text/css' href='http://randomnerdtutorials.com/ethernetcss.css' />");client.println("<TITLE>Random Nerd Tutorials Project</TITLE>"); client.println("</HEAD>");client.println("<BODY>"); client.println("<H1>Random Nerd Tutorials Project</H1>"); client.println("<hr />");client.println("<br />"); client client.println("<H2>Arduino with Ethernet Shield</H2>"); client.println("<br />");client client.println("<a href=\"/?button1on\"\">Turn On LED</a>"); client.println("<a href=\"/?button1off\"\">Turn Off LED</a><br />"); client client.println("<br />"); clientclient.println("<br />"); client client.println("<a href=\"/?button2on\"\">Rotate Left</a>"); client.println("<a href=\"/?button2off\"\">Rotate Right</a><br />"); clientclient.println("<p>Created by Rui Santos. Visit http://randomnerdtutorials.com for more projects!</p>");client client.println("<br />"); client client.println("</BODY>"); client.println("</HTML>"); delay(1); //stopping client client.stop(); //controls the Arduino if you press the buttons if (readString.indexOf("?button1on") >0){digitalWrite(led, HIGH); } if (readString.indexOf("?button1off") >0){ digitalWrite(led, LOW); } if(readString.indexOf("?button2on") >0){ for(pos = 0; pos <180; pos += 3) // goes from 0 degrees to 180 degrees{ // in steps of 1 degreemicroservo.write(pos); // tell servo to go to position in variable 'pos'delay(15); // waits 15ms for the servo to reach the position} } if (readString.indexOf("?button2off") >0){ for(pos =180; pos>=1; pos-=3) // goes from 180 degrees to 0 degrees {microservo microservo.write(pos); // tell servo to go to position in variable 'pos'delay(15); // waits 15ms for the servo to reach the position} } //clearing string for next read readString=""; } } }}}


Jika Anda mencoba proyek ini. Anda hanya dapat mengakses alamat IP dari rumah Anda. Ini berarti Anda harus terhubung ke router yang sama bahwa Anda Ethernet Shield terhubung ke Router.



Videonya bisa lihat di sini.. ==>> 


Tidak ada komentar:

Posting Komentar