You are on page 1of 6

Pintu Otomatis dengan Servo, Tomy Wahyudi

//data jan27h

#include <Servo.h>//program servo

#include <SPI.h>

#include <MFRC522.h>//program rfid

#include <Wire.h>

#include <LiquidCrystal_I2C.h>//program lcd

#include <Wire.h>

#define SS_PIN 10

#define RST_PIN 9

const int servopintu= 7;

Servo servopint;

MFRC522 mfrc522(SS_PIN, RST_PIN);

LiquidCrystal_I2C lcd(0x27,16,2);

int pos = 00;

int pinBuzzer = 8;

int l5 = 6; int l4 = 5; int l3 = 4;

int l2 = 3; int l1 = 2;

void setup() {

servopint.attach(servopintu);

Serial.begin(9600);

SPI.begin();

mfrc522.PCD_Init();

servopint.write(5);

lcd.init();

lcd.backlight();
lcd.setCursor(0, 0);

lcd.print("SELAMAT DATANG");

lcd.setCursor(0, 1);

lcd.print("SMK NURUL ISLAM");

delay(3000);

pinMode(pinBuzzer, OUTPUT);

pinMode(l5, OUTPUT);pinMode(l4, OUTPUT);

pinMode(l3, OUTPUT);pinMode(l2, OUTPUT);

pinMode(l1, OUTPUT);

digitalWrite(pinBuzzer, LOW);

digitalWrite(l5, LOW);digitalWrite(l4, LOW);

digitalWrite(l3, LOW);digitalWrite(l2, LOW);

digitalWrite(l1, LOW);

lcd.clear();

void loop() {

if ( ! mfrc522.PICC_IsNewCardPresent()) { return; }

if ( ! mfrc522.PICC_ReadCardSerial()) { return; }

Serial.print("UID tag :");

String content = ""; byte letter;

for (byte i = 0; i < mfrc522.uid.size; i++) {

Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");

Serial.print(mfrc522.uid.uidByte[i], HEX);

content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));

content.concat(String(mfrc522.uid.uidByte[i], HEX)); }

content.toUpperCase();

if (content.substring(1) == "32 06 14 2F"||content.substring(1) == "0B 9B 17 1C") {


{

digitalWrite(pinBuzzer, HIGH);

delay(1000);

digitalWrite(pinBuzzer, LOW);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("AKSES DI TERIMA");

lcd.setCursor(1, 1);

lcd.print("PINTU TERBUKA!");

delay(2000);

servopint.write(110);

lcd.clear();

lcd.setCursor(1, 0);

lcd.print("Pintu ditutup");

lcd.setCursor(0, 1);

lcd.print("Dalam.....5.....");

digitalWrite(l1, HIGH);

delay(1000);

lcd.setCursor(1, 0);

lcd.print("Pintu ditutup");

lcd.setCursor(0, 1);

lcd.print("Dalam.....4.....");

digitalWrite(l2, HIGH);

delay(1000);

lcd.setCursor(1, 0);

lcd.print("Pintu ditutup");

lcd.setCursor(0, 1);
lcd.print("Dalam.....3.....");

digitalWrite(l3, HIGH);

delay(1000);

lcd.setCursor(1, 0);

lcd.print("Pintu ditutup");

lcd.setCursor(0, 1);

lcd.print("Dalam.....2.....");

digitalWrite(l4, HIGH);

delay(1000);

lcd.setCursor(1, 0);

lcd.print("Pintu ditutup");

lcd.setCursor(0, 1);

lcd.print("Dalam.....1.....");

digitalWrite(l5, HIGH);

delay(1000);

digitalWrite(l1, LOW);

digitalWrite(l2, LOW);

digitalWrite(l3, LOW);

digitalWrite(l4, LOW);

digitalWrite(l5, LOW);

servopint.write(5);

lcd.clear();

} else {

servopint.write (5);

delay (100);

lcd.clear();
lcd.setCursor(1, 0);

lcd.print("AKSES DI TOLAK");

lcd.setCursor(2, 1);

lcd.print("KARTU SALAH!");

digitalWrite(pinBuzzer, HIGH); delay(1000);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(1000);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(1000);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(1000);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(1000);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(1000);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(100);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(100);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(100);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(100);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(100);

digitalWrite(pinBuzzer, LOW); delay(100);

digitalWrite(pinBuzzer, HIGH); delay(100);


digitalWrite(pinBuzzer, LOW); delay(100);

lcd.clear();

lcd.setCursor(5, 0);

lcd.print("EDITOR");

lcd.setCursor(2, 1);

lcd.print("TOMY WAHYUDI");

delay(2000);

lcd.clear();

}}

You might also like