//RFID-Bibiothk (mfrc522)
#include <MFRC522.h>
#include <SPI.h>
#include<avr/wdt.h>
const int RoteLED = 3;
const int GrueneLED = 2;
const int Ton = 4;
const int Heligkeit=A0;
const int Florlampe= 5;
// RFID-Empfänger benennen
MFRC522 mfrc522(10, 9); //SS_PIN,RST_PIN
void setup() {
Serial.begin(9600); // Initiate a serial communication
SPI.begin(); // Initiate SPI bus
mfrc522.PCD_Init(); // Initiate MFRC522
pinMode(RoteLED, OUTPUT);
digitalWrite(RoteLED,LOW);
pinMode(GrueneLED, OUTPUT);
digitalWrite(GrueneLED,LOW);
pinMode(Ton, OUTPUT);
pinMode(Florlampe, OUTPUT);
pinMode(Heligkeit, INPUT);
wdt_disable(); //Disable WDT
wdt_enable(WDTO_2S); //Enable WDT with a timeout of 2 seconds
}
void loop() {
delay(200);
wdt_reset(); //Zurücksetzen
if ( ! mfrc522.PICC_IsNewCardPresent()){
return;
}
if ( ! mfrc522.PICC_ReadCardSerial()){
return;
}
String content= "";
for (byte i = 0; i < mfrc522.uid.size; i++){
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println(content);
if (content.substring(1) == "b3 46 3f ac"){ // Karte Genehmigen
//
int value = analogRead(Heligkeit);
Serial.println(value);
if(value <80){ digitalWrite(Florlampe, HIGH); }
//
digitalWrite(GrueneLED, HIGH);
digitalWrite(Ton, HIGH);
delay(200);
digitalWrite(Ton, LOW);
delay(1300);
digitalWrite(GrueneLED, LOW);
delay(1500);
digitalWrite(Florlampe, LOW);
}
else{ // Karte sperren
digitalWrite(RoteLED, HIGH);
digitalWrite(Ton, HIGH);
delay(1000);
digitalWrite(RoteLED, LOW);
digitalWrite(Ton, LOW);
}
}