Anda di halaman 1dari 5

NAMA : I MADE WIDARMA KRISNA

NIM : 1815344053
KELAS : 6A TEKNIK OTOMASI

PERCOBAAN 11
Control Servo Menggunakan Webserver Lokal

1. Gambar skema control servo

2. Gambar rangkaian control servo dengan local webserver


3. Gambar pada WebServer Lokal
4. Gambar Pada Arduino IDE

5. Gambar pada tampilan serial monitor


ANALISIS
Pada percobaan di atas yaitu kontrol servo dengan lokal web server dan menampilkan indikator 3
lampu led serta 3 icon lampu pada web. Adapun cara kerja rangkaian ini yaitu :
a. Jika sudut putar servo dibawah 45° maka tidak ada lampu yang menyala.
b. Jika sudut putar servo antara 45° dan 90° maka 1 buah LED menyala.
c. Jika sudut putar servo antara 90° dan 135° maka 2 buah LED menyala.
d. Jika sudut putar servo antara 135 dan 180° maka ketiga LED menyala.

Code pemrograman :
Arduino IDE:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <Hash.h>
#include <Servo.h>
#include "PageIndex.h"

#define led1 5
#define led2 4
#define led3 0
#define LEDonBoard 5
#define ServoPort D4
int derajat;

const char* ssid = "Bali Homestay";


const char* password = "h3ndr4b4l1";

Servo myservo;
ESP8266WebServer server(80);

void handleRoot() {
server.send(200, "text/html", MAIN_page); //--> Send web page
}

//----------------------------------------Procedure for handling servo


control
void handleServo(){
String POS = server.arg("servoPOS");
int pos = POS.toInt();
derajat = pos;
myservo.write(pos); //--> Move the servo motor according to the POS
value
delay(15);
Serial.print("Servo Angle:");
Serial.println(pos);
server.send(200, "text/plane","");
}

void setup() {
Serial.begin(115200);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
myservo.attach(ServoPort);

WiFi.begin(ssid, password);
Serial.println("");
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}

// Print ESP8266 Local IP Address


Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
//----------------------------------------

server.on("/", handleRoot);
server.on("/setPOS",handleServo);
server.begin(); //--> Start server
Serial.println("HTTP server started");
}

void loop() {
server.handleClient();

// 1 LED
if (derajat >= 45) {
digitalWrite(led1, HIGH);
}
else {
digitalWrite(led1,LOW);
}

// 2 LED
if (derajat >=90) {
digitalWrite(led2, HIGH);
}
else {
digitalWrite(led2, LOW);
}

//3 LED
if (derajat >=135) {
digitalWrite(led3, HIGH);
}
else {
digitalWrite(led3, LOW);
}
}

Anda mungkin juga menyukai