kode untuk sistem RFID Arduino yang dapat mendeteksi masuk dan keluar, serta memberikan pesan jika jumlah masuk dan keluar telah mencapai target yang ditentukan
Berikut ini adalah contoh kode untuk sistem RFID Arduino yang dapat mendeteksi masuk dan keluar, serta memberikan pesan jika jumlah masuk dan keluar telah mencapai target yang ditentukan:
#include <SoftwareSerial.h>
#include <MFRC522.h>
// Define pins for MFRC522 RFID reader
#define SS_PIN 10
#define RST_PIN 9
// Create instance of MFRC522 RFID reader
MFRC522 mfrc522(SS_PIN, RST_PIN);
// Define variables for storing RFID tag data
byte tagData[4];
char tagString[16];
// Define variables for storing attendance data
int presentCount = 0;
int absentCount = 0;
// Define software serial for sending attendance data to computer
SoftwareSerial mySerial(2, 3); // RX, TX
// Define target number of entries
int targetEntries = 2;
void setup() {
// Initialize serial communication
Serial.begin(9600);
mySerial.begin(9600);
// Initialize RFID reader
SPI.begin();
mfrc522.PCD_Init();
mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max);
// Print message to indicate setup is complete
Serial.println("Ready to scan RFID tags");
}
void loop() {
// Check if a tag is present
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
// Read tag data
for (byte i = 0; i < 4; i++) {
tagData[i] = mfrc522.uid.uidByte[i];
}
// Convert tag data to a string
sprintf(tagString, "%02X%02X%02X%02X", tagData[0], tagData[1], tagData[2], tagData[3]);
// Check if the tag is already registered
if (tagString == "00112233") { // Replace with the RFID tag ID for registered students
// Determine if the student is entering or exiting
if (presentCount < targetEntries) {
presentCount++;
mySerial.println("PRESENT");
} else if (absentCount < targetEntries) {
absentCount++;
mySerial.println("ABSENT");
} else {
Serial.println("Maximum number of entries reached");
}
// Print attendance data to serial monitor
Serial.print("Present: ");
Serial.print(presentCount);
Serial.print(" Absent: ");
Serial.println(absentCount);
} else {
Serial.println("Unauthorized tag");
}
// Halt PICC and prepare for new card
mfrc522.PICC_HaltA();
mfrc522.PCD_StopCrypto1();
}
}
0 Response to "kode untuk sistem RFID Arduino yang dapat mendeteksi masuk dan keluar, serta memberikan pesan jika jumlah masuk dan keluar telah mencapai target yang ditentukan"
Post a Comment