DAFTAR PUSTAKA
[1] Jazi Eko Istiyanto. 2014. Pengantar Elektronika & Instrumentasi. Jakarta: Penerbit Andi
[2] Muhammad Syahwil. 2014. Panduan Mudah Simulasi Dan Praktek Mikrokontroller Arduino. Jakarta: Penerbit Andi
[3] Anonim. Available at: http://www.immersa-lab.com/jenis-jenis-mikrokontroler.htm [Accessed on 28 October 2015, 18.25] [4] Anonim. 2015. Arduino Uno. [Online] Available at:
https://www.arduino.cc/en/Main/ArduinoBoardUno [Accessed on 11 October 2015, 19.45]
[5] Anonim. Available at: http://www.picaxe.com/docs/led008.pdf [Accessed on 1 November 2015, 13.00]
[6] Elektronika Dasar. 2012. Sensor Infra Red. [Online] Available at: www.elektronika-dasar.web.id [Accessed on 20 October 2015, 20.48] [7] Anonim. 2015. Arduino reference. [Online] Available at:
https://www.arduino.cc/en/Reference/HomePage [Accessed on 11 October 2015, 20.30]
LAMPIRAN
Sketch Program di software IDE arduino uno
#include <LiquidCrystal.h> LiquidCrystal lcd (13, 12, 11, 10, 9, 8); #include <Servo.h> Servo myservo_IN; int pos_IN = 0; Servo myservo_OUT; int pos_OUT = 0;
int PINTU_1A = A0; int PINTU_1B = A1; int PINTU_2 = A2; int PINTU_3 = A3;
int buttonPin_IN = 7; int buttonState_IN = 0; int buttonPin_OUT = 4; int buttonState_OUT = 0; int GATE_IN; int GATE_OUT; int buzzer = 2;
void setup() { Serial.begin(9600); myservo_IN.attach(6); myservo_OUT.attach(5); pinMode(buttonPin_IN, INPUT); pinMode(buttonPin_OUT, INPUT); pinMode(buzzer, OUTPUT); lcd.begin(16, 2); } void loop() { buttonState_IN = digitalRead(buttonPin_IN); GATE_IN = analogRead(A4); Serial.print("Nilai GATE IN: "); Serial.println(GATE_IN);
buttonState_OUT = digitalRead(buttonPin_OUT); GATE_OUT = analogRead(A5); Serial.print("Nilai GATE IN: "); Serial.println(GATE_OUT);
PINTU_1A = analogRead(A0); Serial.print("Nilai PINTU 1A: "); Serial.println(PINTU_1A); PINTU_1B = analogRead(A1); Serial.print("Nilai PINTU 1B: "); Serial.println(PINTU_1B); PINTU_2 = analogRead(A2);
Serial.print("Nilai PINTU 2: "); Serial.println(PINTU_2); PINTU_3 = analogRead(A3); Serial.print("Nilai PINTU 3: "); Serial.println(PINTU_3);
//// PERINTAH GATE MASUK //// // KONDISI PINTU KOSONG
if (GATE_IN <= 500 && PINTU_1A > 200 && PINTU_1B > 200 && PINTU_2 > 200 && PINTU_3 > 200)
{
for (pos_IN = 90; pos_IN >= 0; pos_IN -= 1) { myservo_IN.write(0); delay(15); digitalWrite(buzzer, HIGH); lcd.clear(); lcd.setCursor(0, 0);
lcd.print(" SILAHKAN MASUK "); lcd.setCursor(0, 1);
lcd.print(" JALAN PERLAHAN"); }
}
// KONDISI PINTU 1 TERISI
else if (GATE_IN <= 500 && PINTU_1A <= 200 && PINTU_1B <= 200 && PINTU_2 > 200 && PINTU_3 > 200)
{
for (pos_IN = 90; pos_IN >= 0; pos_IN -= 1) {
delay(15); digitalWrite(buzzer, HIGH); lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" SILAHKAN MASUK "); lcd.setCursor(0, 1);
lcd.print(" JALAN PERLAHAN "); }
}
// KONDISI PINTU 1 DAN PINTU 2 TERISI
else if (GATE_IN <= 500 && PINTU_1A <= 200 && PINTU_1B <= 200 && PINTU_2 <= 200 && PINTU_3 > 200)
{
for (pos_IN = 90; pos_IN >= 0; pos_IN -= 1) { myservo_IN.write(0); delay(15); digitalWrite(buzzer, HIGH); lcd.clear(); lcd.setCursor(0, 0);
lcd.print(" SILAHKAN MASUK "); lcd.setCursor(0, 1);
lcd.print(" JALAN PERLAHAN"); }
}
// KONDISI PINTU 2 TERISI
else if (GATE_IN <= 500 && PINTU_1A > 200 && PINTU_1B > 200 && PINTU_2 <= 200 && PINTU_3 > 200)
{
{ myservo_IN.write(0); delay(15); digitalWrite(buzzer, HIGH); lcd.clear(); lcd.setCursor(0, 0);
lcd.print(" SILAHKAN MASUK "); lcd.setCursor(0, 1);
lcd.print(" JALAN PERLAHAN "); }
}
// KONDISI PINTU 3 TERISI
else if (GATE_IN <= 500 && PINTU_1A > 200 && PINTU_1B > 200 && PINTU_2 > 200 && PINTU_3 < 200)
{
for (pos_IN = 90; pos_IN >= 0; pos_IN -= 1) { myservo_IN.write(0); delay(15); digitalWrite(buzzer, HIGH); lcd.clear(); lcd.setCursor(0, 0);
lcd.print(" SILAHKAN MASUK "); lcd.setCursor(0, 1);
lcd.print(" JALAN PERLAHAN "); }
}
// KONDISI PINTU 1 DAN PINTU 3 TERISI
else if (GATE_IN <= 500 && PINTU_1A <= 200 && PINTU_1B <= 200 && PINTU_2 > 200 && PINTU_3 <= 200)
{
for (pos_IN = 90; pos_IN >= 0; pos_IN -= 1) { myservo_IN.write(0); delay(15); digitalWrite(buzzer, HIGH); lcd.clear(); lcd.setCursor(0, 0);
lcd.print(" SILAHKAN MASUK "); lcd.setCursor(0, 1);
lcd.print(" JALAN PERLAHAN "); }
}
// KONDISI PINTU 2 DAN PINTU 3 TERISI
else if (GATE_IN <= 500 && PINTU_1A > 200 && PINTU_1B > 200 && PINTU_2 <= 200 && PINTU_3 <= 200)
{
for (pos_IN = 90; pos_IN >= 0; pos_IN -= 1) { myservo_IN.write(0); delay(15); digitalWrite(buzzer, HIGH); lcd.clear(); lcd.setCursor(0, 0);
lcd.print(" SILAHKAN MASUK "); lcd.setCursor(0, 1);
lcd.print(" JALAN PERLAHAN "); }
}
{
for (pos_IN = 0; pos_IN <= 90; pos_IN +=1) { myservo_IN.write(90); delay(15); digitalWrite(buzzer, LOW); } }
else if (GATE_IN <= 500 && PINTU_1A <= 200 && PINTU_1B <= 200 && PINTU_2 <= 200 && PINTU_3 <= 200)
{ { digitalWrite(buzzer, HIGH); delay (1000); digitalWrite(buzzer, LOW); delay (1000); } lcd.clear(); lcd.setCursor(0, 0); lcd.print(" WARNING "); lcd.setCursor(0, 1);
lcd.print(" DILARANG MASUK "); }
//// PERINTAH GATE KELUAR ////
else if (GATE_OUT <= 500 && buttonState_OUT == LOW) {
for (pos_OUT = 0; pos_OUT <= 90; pos_OUT += 1) {
myservo_OUT.write(0); delay(20);
digitalWrite(buzzer, HIGH); lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" SELAMAT JALAN "); lcd.setCursor(0, 1);
lcd.print(" HATI-HATI "); }
}
else if (buttonState_OUT == HIGH && GATE_OUT > 500) {
for (pos_OUT = 90; pos_OUT >= 0; pos_OUT -= 1) { myservo_OUT.write(90); delay(15); digitalWrite(buzzer, LOW); } }
// KONDISI PINTU KOSONG
else if ((PINTU_1A > 200) && (PINTU_1B > 200) && (PINTU_2 > 200) && (PINTU_3 > 200))
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.write("3 PINTU TERSEDIA"); lcd.setCursor(0, 1);
lcd.print(" MOHON ANTRI "); }
// KONDISI PINTU 1 TERISI
else if ((PINTU_1A <= 200) && (PINTU_1B <= 200) && (PINTU_2 > 200) && (PINTU_3 > 200))
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("2 PINTU TERSEDIA"); lcd.setCursor(0, 1);
lcd.print(" MOHON ANTRI "); }
// KONDISI PINTU 2 TERISI
else if ((PINTU_2 <= 200) && (PINTU_3 > 200) && (PINTU_1A > 200) && (PINTU_1B > 200))
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("2 PINTU TERSEDIA"); lcd.setCursor(0, 1);
lcd.print(" MOHON ANTRI "); }
// KONDISI PINTU 3 TERISI
else if ((PINTU_3 <= 200) && (PINTU_2 > 200) && (PINTU_1A > 200) && (PINTU_1B > 200))
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("2 PINTU TERSEDIA"); lcd.setCursor(0, 1);
lcd.print(" MOHON ANTRI "); }
// KONDISI PINTU 1 DAN PINTU 2 TERISI
else if ((PINTU_1A <= 200) && (PINTU_1B <= 200) && (PINTU_2 <= 200) && (PINTU_3 > 200))
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("1 PINTU TERSEDIA"); lcd.setCursor(0, 1);
lcd.print(" MOHON ANTRI "); }
// KONDISI PINTU 2 DAN PINTU 3 TERISI
else if ((PINTU_2 <= 200) && (PINTU_3 <= 200) && (PINTU_1A > 200) && (PINTU_1B > 200))
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("1 PINTU TERSEDIA"); lcd.setCursor(0, 1);
lcd.print(" MOHON ANTRI "); }
// KONDISI PINTU 1 DAN PINTU 3 TERISI
else if ((PINTU_1A <= 200) && (PINTU_1B <= 200) && (PINTU_3 <= 200) && (PINTU_2 > 200))
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("1 PINTU TERSEDIA"); lcd.setCursor(0, 1);
lcd.print(" MOHON ANTRI "); }
// SEMUA PINTU TERISI
else if ((PINTU_1A <= 200) && (PINTU_1B <= 200) && (PINTU_2 <= 200) && (PINTU_3 <= 200))
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" PINTU PENUH "); lcd.setCursor(0, 1);
lcd.print(" MOHON BERSABAR "); }
}