Advertisement
CreadPag

RFID TARJETA REGISTRADA

Jan 5th, 2017
911
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.09 KB | None | 0 0
  1. #include <SPI.h>
  2. #include <MFRC522.h>
  3. #include <EEPROM.h>
  4.  
  5. #define RST_PIN 9
  6. #define SS_PIN 10
  7. #define ledPin 7
  8.  
  9. MFRC522 mfrc522(SS_PIN, RST_PIN);
  10.  
  11. String lastRfid = "";
  12. String kart1 = "";
  13. String kart2 = "";
  14.  
  15. MFRC522::MIFARE_Key key;
  16.  
  17. void setup()
  18. {
  19.   Serial.begin(9600);
  20.   SPI.begin();
  21.   mfrc522.PCD_Init();
  22.   pinMode(ledPin, OUTPUT);
  23.   Serial.println("RFID KART OKUMA UYGULAMASI");
  24.   Serial.println("--------------------------");
  25.   Serial.println();
  26.   //EEPROM'dan kart bilgisini oku
  27.   readEEPROM();
  28. }
  29.  
  30. void loop()
  31. {
  32.   //yeni kart okununmadıkça devam etme
  33.   if ( ! mfrc522.PICC_IsNewCardPresent())
  34.   {
  35.     return;
  36.   }
  37.   if ( ! mfrc522.PICC_ReadCardSerial())
  38.   {
  39.     return;
  40.   }
  41.   //kartın UID'sini oku, rfid isimli string'e kaydet
  42.   String rfid = "";
  43.   for (byte i = 0; i < mfrc522.uid.size; i++)
  44.   {
  45.     rfid += mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ";
  46.     rfid += String(mfrc522.uid.uidByte[i], HEX);
  47.   }
  48.   //string'in boyutunu ayarla ve tamamını büyük harfe çevir
  49.   rfid.trim();
  50.   rfid.toUpperCase();
  51.  
  52.   if (rfid == lastRfid)
  53.     return;
  54.   lastRfid = rfid;
  55.  
  56.   Serial.print("Kart 1: ");
  57.   Serial.println(kart1);
  58.   Serial.print("Kart 2: ");
  59.   Serial.println(kart2);
  60.   Serial.print("Okunan: ");
  61.   Serial.println(rfid);
  62.   Serial.println();
  63.   //1 nolu kart okunduysa LED'i yak, 2 nolu kart okunduysa LED'i söndür
  64.   if (rfid == kart1)
  65.   {
  66.     digitalWrite(ledPin, HIGH);
  67.     Serial.println("LED yandi.");
  68.   }
  69.   if (rfid == kart2)
  70.   {
  71.     digitalWrite(ledPin, LOW);
  72.     Serial.println("LED sondu.");
  73.   }
  74.   Serial.println();
  75.   delay(200);
  76.  
  77. }
  78.  
  79. void readEEPROM()
  80. {
  81.   //EEPROM'dan ilk kartın UID'sini oku (ilk 4 byte)
  82.   for (int i = 0 ; i < 4 ; i++)
  83.   {
  84.     kart1 += EEPROM.read(i) < 0x10 ? " 0" : " ";
  85.     kart1 += String(EEPROM.read(i), HEX);
  86.   }
  87.   //EEPROM'dan ikinci kartın UID'sini oku
  88.   for (int i = 4 ; i < 8 ; i++)
  89.   {
  90.     kart2 += EEPROM.read(i) < 0x10 ? " 0" : " ";
  91.     kart2 += String(EEPROM.read(i), HEX);
  92.   }
  93.   //Okunan stringleri düzenle
  94.   kart1.trim();
  95.   kart1.toUpperCase();
  96.   kart2.trim();
  97.   kart2.toUpperCase();
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement