Помогите со скетчем для RC522

Нет ответов
kesha81
Offline
Зарегистрирован: 29.08.2016

Привет . Я новичек в программирование . Помогите со скетчем  пожайлуста.

Нужно сделать чтоб проверка была не по UID  а по блоку или сектору как правильно не знаю.

 Как то так.

byte Users[2][16] = {{1,2,3,4, 5,6,7,8, 9,10,255,12, 13,14,15,16}
 
Вот код в него надо дабавить проверку  вместо UID.
Зарание спасибо за помощь
 
 
#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);       // Create MFRC522 instance.



unsigned long uidDec, uidDecTemp;
boolean switchOn = false;
boolean cardRead = false;

void setup() {
  Serial.begin(9600);     // Initialize serial communications with the PC
  SPI.begin();                    // Init SPI bus
  mfrc522.PCD_Init();     // Init MFRC522 card
  mfrc522.PCD_SetAntennaGain(mfrc522.RxGain_max);
  Serial.println("Waiting for card...");

  pinMode(7, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(4, OUTPUT);
  digitalWrite(7, LOW);
  digitalWrite(6, LOW);
}
void loop() {

  byte status;
  byte byteCount;
  byte buffer[2]; // длинa мaccивa (16 бaйт + 2 бaйтa кoнтрoльнaя cуммa)

  byteCount = sizeof(buffer);
  uidDec = 0;
  status = mfrc522.PICC_RequestA(buffer, &byteCount);
  if (mfrc522.PICC_ReadCardSerial()) {
    for (byte i = 0; i < mfrc522.uid.size; i++)
    {
      uidDecTemp = mfrc522.uid.uidByte[i];
      uidDec = uidDec * 256 + uidDecTemp;
    }


    if ((uidDec == 1704400979) && (switchOn == false))
       
    {
      digitalWrite(4, HIGH);
      digitalWrite(7, HIGH);   // Turn on red LED
      switchOn = true;
      Serial.println("Switched On");
      Serial.println(uidDec);
      delay(3000);
    }
    mfrc522.PICC_ReadCardSerial();
 
  }
  else {
    if (switchOn == true)
    
  {
    Serial.println("Switched Off");
    digitalWrite(4, LOW);
    digitalWrite(7, LOW);
    switchOn = false;

  }

  }
}