Rfid + LCD
Rfid + LCD
RST : PIN D9
RQ : -
1 GND ke GND
2 VCC ke 5V
4 RS ke PORT D7
5 RW ke GND
6 EN ke PORT D6
7 0 tidak di pakai
8 1 tidak di pakai
9 2 tidak di pakai
10 3 tidak di pakai
11 4 ke PORT D5 ARDUINO
12 5 ke port D4 ARDUINO
13 6 ke PORT D3 ARDUINO
14 7 ke PORT D2 ARDUINO
15 +backlight ke +5v
16 -backlight ke GND
#include <RFID.h>
#include <LiquidCrystal.h>
#include <Wire.h>
#include <SPI.h>
#define SS_PIN 10
#define RST_PIN 9
RFID rfid(SS_PIN,RST_PIN);
const int buzzer = 1;
int serNum[5];
{52,80,74,255,209},{22,163,98,139,92}
};
int alarm = 0;
uint8_t alarmStat = 0;
uint8_t maxError = 5;
//gariss
void setup(){
lcd.begin(16, 2);
Serial.begin(9600);
SPI.begin();
rfid.init();
pinMode(doorLock, OUTPUT);
digitalWrite(doorLock, HIGH);
tone (buzzer,1200);
lcd.setCursor (0,0);
lcd.setCursor (0,1);
delay (5000);
lcd.clear();
noTone (buzzer);
void loop(){
alarmStat = 1; }
if (alarmStat == 0){
lcd.setCursor (0,0);
lcd.setCursor (0,1);
if(rfid.readCardSerial()){
if(rfid.readCardSerial()){
Serial.print(rfid.serNum[0]);
Serial.print(" ");
Serial.print(rfid.serNum[1]);
Serial.print(" ");
Serial.print(rfid.serNum[2]);
Serial.print(" ");
Serial.print(rfid.serNum[3]);
Serial.print(" ");
Serial.print(rfid.serNum[4]);
Serial.println("");
if(rfid.serNum[i] != cards[x][i]) {
access = false;
break;
} else {
access = true;
}
if(access) break;
if(access){
Serial.println("Welcome!");
lcd.setCursor (0,0);
lcd.setCursor (0,1);
lcd.print("ID:");
lcd.print(rfid.serNum[0]); lcd.print(rfid.serNum[1]);
lcd.print(rfid.serNum[2]); lcd.print(rfid.serNum[3]);
lcd.print(rfid.serNum[4]);
digitalWrite(doorLock, LOW);
tone (buzzer,900);
delay(100);
tone (buzzer,1200);
delay(100);
tone (buzzer,1800);
delay(200);
noTone(buzzer);
delay(600);
lcd.setCursor (0,0);
delay (1000);
digitalWrite(doorLock, HIGH);
lcd.clear();
}else {
alarm = alarm+1;
Serial.println("Not allowed!");
lcd.setCursor (0,0);
lcd.setCursor (0,1);
lcd.print("ID:");
lcd.print(rfid.serNum[0]); lcd.print(rfid.serNum[1]);
lcd.print(rfid.serNum[2]); lcd.print(rfid.serNum[3]);
lcd.print(rfid.serNum[4]);
tone (buzzer,900);
delay(200);
noTone(buzzer);
delay(200);
tone (buzzer,900);
delay(200);
noTone (buzzer);
delay(500);
lcd.clear();