помогите новичку

89896668369
Offline
Зарегистрирован: 31.01.2017

есть скетч для RFID считывателя,туда можно зарегистрировать только 1 карту,как добавить еще карты?

вот скетч 

/* MOSI: Pin 11 / ICSP-4
* MISO: Pin 12 / ICSP-1
* SCK: Pin 13 / ISCP-3
* SS: Pin 10
* RST: Pin 9
*/
 
#include <SPI.h>
#include <RFID.h>
 
#define SS_PIN 10
#define RST_PIN 9
#define BLUE_LED 6
#define YELLOW_LED 7
 
RFID rfid(SS_PIN, RST_PIN); 
 
unsigned char reading_card[5]; //for reading card
unsigned char master[5] = {100,30,46,91,15}; // allowed card 
unsigned char i;
 
void indication(int led);
void allow();
void denied();
 
void setup()
  Serial.begin(9600);
  SPI.begin(); 
  rfid.init();
  pinMode(BLUE_LED, OUTPUT);
  pinMode(YELLOW_LED, OUTPUT);
  digitalWrite(BLUE_LED, HIGH);
  digitalWrite(YELLOW_LED, HIGH);
}
 
void loop()
{
    if (rfid.isCard()) 
    {
        if (rfid.readCardSerial()) 
        {
                /* Reading card */
                Serial.println(" ");
                Serial.println("Card found");
                Serial.println("Cardnumber:"); 
                for (i = 0; i < 5; i++)
                {     
                  Serial.print(rfid.serNum[i]);
                  Serial.print(" ");
                  reading_card[i] = rfid.serNum[i];
                }
                Serial.println();
                //verification
                for (i = 0; i < 5; i++)
                {
                  if (reading_card[i]!=master[i])
                  {
                    break;
                  }
                }
                if (i == 5)
                {
                  allow();
                  
                }
                else
                {
                  denied();
                  
                }
         } 
    }
    else{
     digitalWrite(YELLOW_LED, HIGH);
     // rfid.halt();
 } 
   
}
 
void allow()
{
  Serial.println("Access accept!"); //доступ получен
   digitalWrite(YELLOW_LED, LOW); 
   delay(1000);
}
void denied()
{
  Serial.println("Access denied!"); //доступ закрыт
   digitalWrite(YELLOW_LED, HIGH);
   delay(1000);
}
 
ZIA
ZIA аватар
Offline
Зарегистрирован: 04.02.2017
89896668369
Offline
Зарегистрирован: 31.01.2017
/* MOSI: Pin 11 / ICSP-4
* MISO: Pin 12 / ICSP-1
* SCK: Pin 13 / ISCP-3
* SS: Pin 10
* RST: Pin 9
*/

#include <SPI.h>
#include <RFID.h>

#define SS_PIN 10
#define RST_PIN 9
#define BLUE_LED 6
#define YELLOW_LED 7

RFID rfid(SS_PIN, RST_PIN); 

unsigned char reading_card[5]; //for reading card
unsigned char master[5] = {100,30,46,91,15}; // allowed card 
unsigned char i;

void indication(int led);
void allow();
void denied();

void setup()
{ 
  Serial.begin(9600);
  SPI.begin(); 
  rfid.init();
  pinMode(BLUE_LED, OUTPUT);
  pinMode(YELLOW_LED, OUTPUT);
  digitalWrite(BLUE_LED, HIGH);
  digitalWrite(YELLOW_LED, HIGH);
}

void loop()
{
    if (rfid.isCard()) 
    {
        if (rfid.readCardSerial()) 
        {
                /* Reading card */
                Serial.println(" ");
                Serial.println("Card found");
                Serial.println("Cardnumber:"); 
                for (i = 0; i < 5; i++)
                {     
                  Serial.print(rfid.serNum[i]);
                  Serial.print(" ");
                  reading_card[i] = rfid.serNum[i];
                }
                Serial.println();
                //verification
                for (i = 0; i < 5; i++)
                {
                  if (reading_card[i]!=master[i])
                  {
                    break;
                  }
                }
                if (i == 5)
                {
                  allow();
                  
                }
                else
                {
                  denied();
                  
                }
         } 
    }
    else{
     digitalWrite(YELLOW_LED, HIGH);
     // rfid.halt();
 } 
   
}

void allow()
{
  Serial.println("Access accept!"); //доступ получен
   digitalWrite(YELLOW_LED, LOW); 
   delay(1000);
}
void denied()
{
  Serial.println("Access denied!"); //доступ закрыт
   digitalWrite(YELLOW_LED, HIGH);
   delay(1000);
}

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016
/* MOSI: Pin 11 / ICSP-4
  MISO: Pin 12 / ICSP-1
  SCK: Pin 13 / ISCP-3
  SS: Pin 10
  RST: Pin 9
*/

#include <SPI.h>
#include <RFID.h>
#define SS_PIN 10
#define RST_PIN 9
#define BLUE_LED 6
#define YELLOW_LED 7

RFID rfid(SS_PIN, RST_PIN);
unsigned char reading_card[5]; //for reading card
unsigned char master[5] = {100, 30, 46, 91, 15}; // allowed card
unsigned char master_2[5] = {100, 30, 46, 91, 15}; // allowed card
unsigned char i;

void allow() {
  Serial.println("Access accept!"); //доступ получен
  digitalWrite(YELLOW_LED, LOW);
  delay(1000);
}
void denied() {
  Serial.println("Access denied!"); //доступ закрыт
  digitalWrite(YELLOW_LED, HIGH);
  delay(1000);
}

void setup() {
  Serial.begin(9600);
  SPI.begin();
  rfid.init();
  pinMode(BLUE_LED, OUTPUT);
  pinMode(YELLOW_LED, OUTPUT);
  digitalWrite(BLUE_LED, HIGH);
  digitalWrite(YELLOW_LED, HIGH);
}

void loop() {
  if (rfid.isCard()) {
    if (rfid.readCardSerial()) {
      /* Reading card */
      Serial.println(" ");
      Serial.println("Card found");
      Serial.println("Cardnumber:");
      for (i = 0; i < 5; i++) {
        Serial.print(rfid.serNum[i]);
        Serial.print(" ");
        reading_card[i] = rfid.serNum[i];
      }
      Serial.println();
      //verification 1
      for (i = 0; i < 5; i++) {
        if (reading_card[i] != master[i]) {
          break;
        }
      }
      if (i == 5) allow();
      else denied();
      for (i = 0; i < 5; i++) {
        if (reading_card[i] != master_2[i]) {
          break;
        }
      }
      if (i == 5) allow();
      else denied();
    }
  }
  else digitalWrite(YELLOW_LED, HIGH);// rfid.halt();
}

ПС: Не проверял , так как библиотеку ставить облом.