Академический Документы
Профессиональный Документы
Культура Документы
#include <SPI.h>
#include <RFID.h>
#include "pitches.h"
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
RFID rfid(10,5);
LiquidCrystal_I2C lcd(0x27,16,2);
byte serNum[5];
byte data[5];
int relay = 6;
int LED_access = 2;
int LED_intruder = 3;
int speaker_pin = 8;
const int buttonPin = 7;
int buttonState = 1;
void setup(){
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.clear();
pinMode(buttonPin, INPUT);
SPI.begin();
rfid.init();
delay(1000);
pinMode(LED_access,OUTPUT);
pinMode(LED_intruder,OUTPUT);
pinMode(speaker_pin,OUTPUT);
pinMode(relay,OUTPUT);
void loop(){
lcd.backlight();
{
lcd.setCursor(0,0);
lcd.print("TEMPELKAN KARTU");
lcd.setCursor(0,1);
lcd.print(" RFID ANDA");
}
buttonState = digitalRead(buttonPin);
if (buttonState == LOW){
digitalWrite(relay,HIGH);
digitalWrite(LED_access,HIGH);
lcd.setCursor(0,0);
lcd.print(" Manual Aktif ");
lcd.setCursor(0,1);
lcd.print(" Pintu Terbuka");
delay(7000);
digitalWrite(relay,LOW);
digitalWrite(LED_access,LOW);
lcd.clear();
}
if (rfid.isCard()){
if (rfid.readCardSerial()){
delay(1000);
data[0] = rfid.serNum[0];
data[1] = rfid.serNum[1];
data[2] = rfid.serNum[2];
data[3] = rfid.serNum[3];
data[4] = rfid.serNum[4];
}
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("ID = ");
if (datarfid_card){
else{
lcd.setCursor(0,1);
lcd.print(" Akses Ditolak");
digitalWrite(LED_intruder, HIGH);
for (int i = 0; i < 6; i++){
int fail_noteDuration = 1000/fail_noteDurations[i];
tone(speaker_pin, fail_melody[i],fail_noteDuration);
int fail_pauseBetweenNotes = fail_noteDuration * 1.30;
delay(fail_pauseBetweenNotes);
noTone(speaker_pin);
}
delay(1000);
digitalWrite(LED_intruder, LOW);
lcd.clear();
}
if (datarfid_card){
lcd.setCursor(0,1);
lcd.print(" Akses Diterima");
digitalWrite(LED_access,HIGH);
delay(1000);
lcd.setCursor(0,0);
lcd.print(" Pintu Terbuka ");
lcd.setCursor(0,1);
lcd.print(" Silahkan Masuk ");
digitalWrite(relay,HIGH);
delay(7000);
digitalWrite(relay,LOW);
digitalWrite(LED_access,LOW);
lcd.clear();
}
Serial.println();
delay(10);
rfid.halt();
lcd.backlight();
}