LISTING PROGRAM
1. Bahasa Pemrograman C
#include <Servo.h>
Servo myservo;
int pos = 70;
int baris1 = A0;
int baris2 = A1;
int baris3 = A3;
int kolom1 = 12;
int kolom2 = 7;
int kolom3 = 6;
int vbaris1 = 0;
int vbaris2 = 0;
int vbaris3 = 0;
int switch_pintu_tutup = 0;
int switch_pintu_buka = 0;
float nilai=0, password=1234;
char temp[12], array[10], i=0;
int indeks=0;
int input_pintu1 = 1;
int input_pintu2 = 0;
int pwm_pintu = 5;
int sensor_ldr = A4;
int var_sensor_ldr = 0;
int sensor_pir = A5;
int switch1 = 10;
int switch2 = 11;
int lampu = A2;
void setup() {
myservo.attach(9);
pinMode(kolom1, OUTPUT);
pinMode(kolom2, OUTPUT);
pinMode(kolom3, OUTPUT);
pinMode(sensor_ldr, INPUT);
pinMode(input_pintu1, OUTPUT);
pinMode(input_pintu2, OUTPUT);
pinMode(pwm_pintu, OUTPUT);
pinMode(13, OUTPUT);
pinMode(sensor_pir, INPUT);
pinMode(baris1, INPUT);
digitalWrite(baris1, HIGH);
pinMode(baris2, INPUT);
digitalWrite(baris2, HIGH);
pinMode(baris3, INPUT);
digitalWrite(baris3, HIGH);
pinMode(lampu, OUTPUT);
pinMode(switch1, INPUT);
digitalWrite(switch1, HIGH);
pinMode(switch2, INPUT);
digitalWrite(switch2, HIGH);
tutup_jendela1();
//Serial.begin(9600);
void buka_pintu()
{
digitalWrite(input_pintu1, LOW);
digitalWrite(input_pintu2, HIGH);
analogWrite(pwm_pintu, 250);
switch_pintu_buka = digitalRead(switch1);
switch_pintu_tutup = digitalRead(switch2);
if(switch_pintu_buka==0)
{
digitalWrite(input_pintu1, HIGH);
digitalWrite(input_pintu2, LOW);
analogWrite(pwm_pintu, 250);
switch_pintu_buka = digitalRead(switch1);
switch_pintu_tutup = digitalRead(switch2);
if((switch_pintu_tutup==0))
}
while (indeks==0)
{
digitalWrite(kolom1, HIGH);
digitalWrite(kolom2, HIGH);
digitalWrite(kolom3, LOW);
vbaris1 = digitalRead(baris1);
vbaris2 = digitalRead(baris2);
vbaris3 = digitalRead(baris3);
delay(500);
pinMode(input_pintu1, OUTPUT);
pinMode(input_pintu2, OUTPUT);
Serial.println("PASS BETUL");
// digitalWrite(13, HIGH);
buka_pintu();
Serial.println("PASS SALAH");
digitalWrite(13, HIGH);
delay(500);
delay(100);
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(100);
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(100);
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(100);
i=0; nilai=0;
indeks=1;
}
}
void simpan_dlm_1variabel()
{
if (i==1){nilai=array[i];} if (i>=2 &&
i<=8)
{
nilai=(nilai*10)+array[i];
}
}
void scan()
{
var_sensor_ldr = analogRead(sensor_ldr);
if(var_sensor_pir == 1&&var_sensor_ldr<600) {
digitalWrite(lampu, LOW); //lampu akan mati
digitalWrite(13, LOW);
delay(1000);
var_sensor_ldr = analogRead(sensor_ldr);
var_sensor_pir = digitalRead(sensor_pir);
myservo.write(150);
delay(20);
}
if(var_sensor_pir == 1&&var_sensor_ldr>650)
{
digitalWrite(lampu, HIGH);
digitalWrite(13, HIGH);
delay(1000);
var_sensor_ldr = analogRead(sensor_ldr);
var_sensor_pir = digitalRead(sensor_pir);
myservo.write(80);
delay(20);
}
vbaris1 = digitalRead(baris1);
vbaris2 = digitalRead(baris2);
vbaris3 = digitalRead(baris3);
digitalWrite(kolom1, LOW);
digitalWrite(kolom2, HIGH);
digitalWrite(kolom3, HIGH);
{
enter();delay(100);
}
if(vbaris3==0)
{
delay(100);
}
delay(20);
vbaris1 = digitalRead(baris1);
vbaris2 = digitalRead(baris2);
vbaris3 = digitalRead(baris3);
digitalWrite(kolom1, HIGH);
digitalWrite(kolom2, LOW);
digitalWrite(kolom3, HIGH);
if(vbaris1==0)
{
// Serial.println("1");
delay(100);
i++;array[i]=1; simpan_dlm_1variabel();
}
if(vbaris2==0)
{
// Serial.println("2");
delay(100);
i++;array[i]=2; simpan_dlm_1variabel();
if(vbaris3==0)
{
// Serial.println("3");
delay(100);
i++;array[i]=3; simpan_dlm_1variabel();
}
delay(20);
vbaris1 = digitalRead(baris1);
vbaris2 = digitalRead(baris2);
vbaris3 = digitalRead(baris3);
digitalWrite(kolom1, HIGH);
digitalWrite(kolom2, HIGH);
digitalWrite(kolom3, LOW);
if(vbaris1==0)
{
// Serial.println("4");
delay(100);
i++;array[i]=4; simpan_dlm_1variabel();
}
if(vbaris2==0)
{
// Serial.println("5");
delay(100);
i++;array[i]=5; simpan_dlm_1variabel();
}
if(vbaris3==0)
{
delay(100);
i++;array[i]=6; simpan_dlm_1variabel();
}
delay(20);
}
void loop() {
// put your main code here, to run repeatedly:
lock();
scan();