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();

  }

}

Dalam kode ini, kita menambahkan variabel targetEntries untuk menentukan jumlah target masuk dan keluar yang ingin dicapai. Dalam contoh ini, kita mengatur target masuk dan keluar menjadi 2.

Ketika tag dibaca, kode akan memeriksa apakah tag sudah terdaftar atau tidak. Jika tag terdaftar, kode akan menambahkan jumlah masuk atau keluar tergantung pada jumlah entri yang sudah tercatat. Jika jumlah masuk atau keluar telah mencapai target yang ditentukan, sistem akan memberikan pesan "Maximum number of entries reached". Jika tag tidak terdaftar, sistem akan memberikan pesan "Unauthorized tag".

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

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel

Iklan Bawah Artikel