помогите новичку
- Войдите на сайт для отправки комментариев
Втр, 28/02/2017 - 19:51
есть скетч для 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);
}
Для начала опубликовать код по правилам форума
/* 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); }/* 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(); }ПС: Не проверял , так как библиотеку ставить облом.