Guten Abend,
die Zutrittskontrolle für mein Sicherheitssystem ist einen großen Schritt weitergekommen.
Mittels RFID-Karten kann man nun erfassen wer sich anmeldet.
Wer sich anmeldet, bleibt bis jetzt angemeldet.
Code
#include <SoftwareSerial.h>
SoftwareSerial rfid(3, -1);
char code[10 + 1];
int Readingbytes = 0;
int BadInput = 0;
String Pin0 = "0000000000";
String Pin1 = "2222222222";
String Pin2 = "1111111111";
boolean User1 = false;
boolean User2 = false;
void setup(){
Serial.begin(9600);
rfid.begin(9600);
}
void loop(){
Serial.flush();
if (rfid.available() >= 10){
if(rfid.read() == 02){
Readingbytes = 0;
while(Readingbytes < 10){
char zeichen = rfid.read();
code[Readingbytes] = zeichen;
Readingbytes++;
}
code[Readingbytes] = 0;
Pin0 = code;
if (Pin0 == Pin1){
BadInput = 0;
User1 = true;
Pin0 = 0;
delay(5000);
}
else if (Pin0 == Pin2){
BadInput = 0;
User2 = true;
Pin0 = 0;
delay(5000);
}
else{BadInput++;}
Pin0 = 0;
signal();
serial_flush_buffer();
}
}
UserState();
}
void signal(){
if (BadInput <= 9 && BadInput>0 ){
//WARN
}
}
void UserState(){
if(User1){Serial.println("User1 (active)");}
if(User2){Serial.println("User2 (active)");}
if(!User1){Serial.println("User1 (inactive)");}
if(!User2){Serial.println("User2 (inactive)");}
}
void serial_flush_buffer(){
while (Serial.read() >= 0);
}
Fritzing
Aufgrund von fehlenden Teilen für die Fritzing Software (RFID Leser), fällt das dieses mal flach.


