LAMPIRAN A
GAMBAR RANGKAIAN KESELURUHAN
LANJUTAN LAMPIRAN A
GAMBAR RANGKAIAN KESELURUHAN
LAMPIRAN B
PROGRAM KESELURUHAN SISTEM
Program pada pagar
#include <SPI.h> #include <Ethernet.h>
byte mac[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF }; byte ip[] = { 10,0,0,103 };
Server server(80);
char c = 0;
char command[2] = "\0"; String tampilan = "";
char incomingByte; // incoming data int LED1 = 13; // LED pin const int tombol_buka = 2; const int tombol_tutup = 3; const int motorbuka = 6; const int motortutup = 7; const int sensor = 5; const int limitbuka = 9; const int limittutup = 8;
String pesan = "N";
int sinyal_tombol_buka = 1; int sinyal_tombol_tutup = 1; int sinyal_sensor = 1; int sinyal_limitbuka = 1; int sinyal_limittutup = 1;
int status_pintu=0; int indikator = 0;
void setup() { Serial.begin(9600);
pinMode(LED1, OUTPUT); pinMode(tombol_buka, INPUT); pinMode(tombol_tutup, INPUT); pinMode(sensor, INPUT); pinMode(motorbuka, OUTPUT); pinMode(motorbuka, OUTPUT); digitalWrite(LED1, LOW);
Ethernet.begin(mac, ip); server.begin();
}
void loop() {
Client client = server.available(); boolean current_line_is_first = true; baca_serial();
if (client) {
boolean current_line_is_blank = true; while (client.connected()) {
if (client.available()) { char c = client.read();
client.println("Content-Type: text/html"); client.println();
//client.println("<META HTTP-EQUIV=REFRESH CONTENT=5 URL=>");
client.println("<center><p><h1>Arduino + Gate Controller</h1></p><center><hr><br />"); if(status_pintu==0){client.println("<p><h1>Gate Tertutup</h1></p></center>");}
if(status_pintu==1){client.println("<p><h1>Gate Terbuka</h1></p></center>");}
client.println("<form method=get name=form>");
client.println("<button name=b value=1 type=submit style=height:80px;width:150px>Gate Open</button>");
client.println("<button name=b value=2 type=submit style=height:80px;width:150px>Gate Close</button>");
client.println("</form><br />");
client.println("<hr><center></a><br />");
client.println("<p>Klik Gate Open Untuk Membuka Gerbang</p></center>"); client.println("<p>Klik Gate Close Untuk Menutup Gerbang</p></center>"); baca_serial(); // Serial.println(incomingByte); if(incomingByte == 'A') {buka_pintu();}
if(incomingByte == 'T') {pesan = "N"; digitalWrite(LED1, HIGH); tutup_pintu(); }}
if(pesan == 'S') {Serial.println(pesan); delay(50); }
if(status_pintu==0 && pesan != 'S'){Serial.println("C"); delay(50); } if(status_pintu==1 && pesan != 'S'){Serial.println("B"); delay(50); }
sinyal_limitbuka = digitalRead(limitbuka); sinyal_limittutup = digitalRead(limittutup); sinyal_sensor = digitalRead(sensor);
if (sinyal_tombol_buka==LOW) {buka_pintu();} if (sinyal_tombol_tutup==LOW) { tutup_pintu();} if (sinyal_sensor==LOW) {pesan="S";}
if (sinyal_limitbuka==LOW && status_pintu==0) {stop_buka_pintu();} if (sinyal_limittutup==LOW && status_pintu==1) {stop_tutup_pintu();} }
void buka_pintu() {
if(status_pintu==0){
digitalWrite(motorbuka, HIGH); digitalWrite(motortutup, LOW); digitalWrite(LED1, HIGH); }}
void stop_buka_pintu() {
digitalWrite(motorbuka, LOW); digitalWrite(motortutup, LOW); digitalWrite(LED1, LOW); status_pintu=1; }
void tutup_pintu() {
if(status_pintu==1){
digitalWrite(motorbuka, LOW); digitalWrite(motortutup, HIGH); digitalWrite(LED1, HIGH); pesan = "N";
}}
void stop_tutup_pintu() {
digitalWrite(motorbuka, LOW); digitalWrite(motortutup, LOW); digitalWrite(LED1, LOW); status_pintu=0;
pesan = "N"; }
Program pada mobil
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
char incomingByte;
String pesan = "A";
void setup() {
lcd.begin(16, 2);
lcd.print("Menunggu Sinyal");
Serial.begin(9600);
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
delay(100);
if(incomingByte == 'B') {lcd.begin(16, 2); lcd.print("Pintu Terbuka");}
if(incomingByte == 'C') {lcd.begin(16, 2); lcd.print("Pintu Tertutup");}
if(incomingByte == 'S') {lcd.begin(16, 2); lcd.print("Sinyal Tutup"); pesan="T";}
delay(500); }
Serial.println(pesan);
delay(500);
Serial.println(pesan);
delay(500);