Module/Perangkat yang dibutuhkan:
Arduino Uno
Modul RFID RC522
Kartu RFID
Jumper Male-Female secukupnya
Langkah perakitan
-Hubungkan Arduino UNO dan RFID RC522 dengan kabel Jumper seperti pada gambar di bawah ini:
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
byte card_ID[7];
byte Name1[7] = {0x4A, 0x70, 0xE6, 0x0B};
byte Name2[7] = {0x05, 0x88, 0x24, 0x6F, 0xB6, 0x32, 0x00};
int NumbCard[2];
int j = 0;
int statu[2];
int s = 0;
int const RedLed = 6;
int const GreenLed = 5;
int const Buzzer = 8;
String Log;
String Nama;
long Identitas;
int n ;
void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("CLEARSHEET");
Serial.println("LABEL,Date,Nama,Identitas,Waktu Masuk,Waktu Keluar");
pinMode(RedLed, OUTPUT);
pinMode(GreenLed, OUTPUT);
pinMode(Buzzer, OUTPUT);
delay(200);
}
void loop() {
//look for new card
if ( ! mfrc522.PICC_IsNe wCardPresent()) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
for (byte i = 0; i < mfrc522.uid.size; i++) {
card_ID[i] = mfrc522.uid.uidByte[i];
if (card_ID[i] == Name1[i]) {
Nama = "White Card";
Identitas = 123456;
j = 0;
s = 0;
}
else if (card_ID[i] == Name2[i]) {
Nama = "KTP";
Identitas = 789101;
j = 1;
s = 1;
}
else {
digitalWrite(GreenLed, LOW);
digitalWrite(RedLed, HIGH);
goto cont;
}
}
if (NumbCard[j] == 1 && statu[s] == 0) {
statu[s] = 1;
Serial.print("DATA,DATE," + Nama);
Serial.print(",");
Serial.print(Identitas);
Serial.print(",");
Serial.print("");
Serial.print(",");
Serial.println("TIME");
}
else if (NumbCard[j] == 0) {
NumbCard[j] = 1;
n++;
Serial.print("DATA,DATE," + Nama);
Serial.print(",");
Serial.print(Identitas);
Serial.print(",");
Serial.print("TIME");
Serial.print(",");
Serial.println("");
digitalWrite(GreenLed, HIGH);
digitalWrite(RedLed, LOW);
digitalWrite(Buzzer, HIGH);
delay(30);
digitalWrite(Buzzer, LOW);
}
else if (statu[s] == 1) {
digitalWrite(RedLed, HIGH);
}
delay(1000);
cont:
delay(2000);
digitalWrite(GreenLed, LOW);
digitalWrite(RedLed, LOW);
}
Comments
Post a Comment