PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino RFID Zugangskontrolle



StephanG90
21.07.2024, 15:44
Hallo,
ich habe nach einiger zeit mal wieder angefangen Arduino zu Programmieren.
Aktuell bin ich dran eine Zugangskontrolle per RFID zu Programmieren. Aktuell soll einfach das LCD Display Zugang/ kein Zugang ausgeben. Das Programm funktioniert soweit auch, nur möchte ich gerne noch weitere karten hinzufügen die Zugang bekommen. Wie füge ich das am besten ein?
Wenn ich im Programm
if (WertDEZ == "243 142 107 1" eingebe, funktioniert das - bei der Karte kommt "Zugang" alle anderen "kein Zugang".
Wenn ich die andere Karte auf folgende weise hinzufüge funktioniert es nicht mehr
if (WertDEZ == "243 142 107 1"; "52 88 17 60")

Das komplette Programm:


#include <LiquidCrystal.h>
#include "MFRC522.h"

const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

#define SDA 10
#define RST 9
MFRC522 mfrc522(SDA, RST);



void setup()
{
lcd.begin(16, 2);
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
}

void loop()
{
String WertDEZ;
if (!mfrc522.PICC_IsNewCardPresent())
{
return;
}
if (!mfrc522.PICC_ReadCardSerial())
{
return;
}

Serial.println("Karte entdeckt!");
for (byte i = 0; i < mfrc522.uid.size; i++)
{
WertDEZ = WertDEZ + String(mfrc522.uid.uidByte[i], DEC) + " ";
}
WertDEZ.trim();
Serial.println("Dezimalwert: " + WertDEZ);

if (WertDEZ == "243 142 107 1"; "52 88 17 60")
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Zugang");
}

else
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("kein Zugang");
}

delay(1000);
}

Vielen Dank im Voraus
Stephan

Rabenauge
22.07.2024, 16:43
Ja, logisch funktioniert das so nicht.
Du solltest mal die Doku zur if{} -Schleife lesen.
Das schreibt man ein bisschen anders.

Kleiner Tipp: mach dir ne Liste, in die du später weitere Karten einfügen kannst, die dann, ebenfalls in einer Schleife, abgearbeitet wird.
Spätestens ab vier, fünf Karten wird _dein_ Konstrukt da nämlich unübersichtlich, auch, wenn du es _richtig_ schreibst.

StephanG90
22.07.2024, 20:40
Oh okay, super, ich glaube das hat mir geholfen. Werde das nochmal aufbauen und testen wie ich es jetzt denke. Vielen Dank