Kann das auch noch etwas anderes bedeuten? Ich finde da keine Klammer zu viel...
// *****Arduino Getraenkespender*****
#include <SPI.h>
#include <MFRC522.h>
int pumpendauer = 2500;
int LEDblink = 500;
//Schalter für Getraenk Wunsch -> Input für Arduino
#define Getraenk1 8
#define Getraenk2 7
#define Getraenk3 3
// LEDs RFID
#define RFIDright 4
#define RFIDwaiting 5
#define RFIDwrong 6
// Beleuchtung - Bechereinstellung
#define BecherLED 0
//Schalter LEDs (GetraenkxPumpenLED)
#define G1PumpLED 14
#define G2PumpLED 15
#define G3PumpLED 16
bool isRFID = false; // <---- Hatte ich anfangs schon so, kam mir aber komisch vor, daher hab ich es dann unten hingeschrieben.
//Pumpendeklarierung
#define PumpG1 17
#define PumpG2 18
#define PumpG3 19
//**RFID**
long erlaubteKarten[] = { 1011520, 2492530, 171762080, 2467860, 363370 };
byte erlaubteKartenCount = 5;
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
pinMode(Getraenk1, INPUT_PULLUP);
pinMode(Getraenk2, INPUT_PULLUP);
pinMode(Getraenk3, INPUT_PULLUP);
pinMode(RFIDright, OUTPUT);
pinMode(RFIDwaiting, OUTPUT);
pinMode(RFIDwrong, OUTPUT);
pinMode(G1PumpLED, OUTPUT);
pinMode(G2PumpLED, OUTPUT);
pinMode(G3PumpLED, OUTPUT);
pinMode(PumpG1, OUTPUT);
pinMode(PumpG2, OUTPUT);
pinMode(PumpG3, OUTPUT);
pinMode(BecherLED, OUTPUT);
//Standardmäßige "HIGH-Schaltung"//
digitalWrite(RFIDwaiting, HIGH);
}
void loop() {
//RFID-Abfrage beginn
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
long code = 0;
for (byte i = 0; i < mfrc522.uid.size; i++) {
code = ((code + mfrc522.uid.uidByte[i]) * 10);
}
Serial.print(F("Erkannte Kartennummer:")); // Key wird gelesen
Serial.print(code);
if(PruefeKartenberechtigung(code) == true) { // wenn key richtig,
Serial.println(F(" [BERECHTIGT]"));
//RFID-Abfrage ende (Berechtigt / Buttons werden "freigegeben")
digitalWrite(RFIDwaiting, LOW);
digitalWrite(RFIDright, HIGH);
digitalWrite(G1PumpLED, HIGH);
digitalWrite(G2PumpLED, HIGH);
digitalWrite(G3PumpLED, HIGH);
isRFID = true;
// beginn buttons
}
else
{
Serial.println(F(" [NICHT BERECHTIGT]"));
digitalWrite(RFIDwrong, HIGH);
delay(2000);
digitalWrite(RFIDwrong, LOW);
}
if (isRFID)
{
if (digitalRead(Getraenk1) == LOW) // erster Button zur Getränke-Wahl
{
Serial.println("Getraenk 1...");
isRFID = false;
}
if (digitalRead(Getraenk2) == LOW) // zweiter Button zur Wahl
{
Serial.println("Getraenk 2...");
isRFID = false;
}
if (digitalRead(Getraenk3) == LOW) // dritter Button zur Wahl
{
Serial.println("Getraenk 3...");
isRFID = false;
}
}
}
else
{
Serial.println(F(" [NICHT BERECHTIGT]"));
digitalWrite(RFIDwrong, HIGH);
delay(2000);
digitalWrite(RFIDwrong, LOW);
}
boolean PruefeKartenberechtigung(long KartenUUID) {
boolean erlaubt = false;
for(int i=0; i < erlaubteKartenCount; i++) {
if(erlaubteKarten[i] = KartenUUID) {
erlaubt = true;
}
}
return erlaubt;
}