Sicheres Arduino RFID-Schloss bauen – Schritt-für-Schritt-Anleitung
Komponenten und Zubehör
- 1× Arduino UNO
- 1× RFID-Reader (RC522, generisch)
- 1× OLED-Display (0,96″, 128×64 Pixel, I2C)
- 1× kleines Breadboard
- Jumper-Kabel
- Optional: Powerbank für mobilen Betrieb
Die Gesamtkosten liegen bei ca. 15 €.
Benötigte Software
- Arduino IDE
Projektübersicht
In diesem Tutorial bauen wir ein einfaches RFID-Schloss. Der RC522-Reader liest die eindeutige ID (UID) eines RFID-Tags und zeigt sie auf dem OLED-Display an. Stimmt die UID mit einem im Arduino gespeicherten Wert überein, erscheint die Meldung „Unlocked“ (Entsperrt). Andernfalls bleibt die Meldung aus.
Schritt 1: Bauteile besorgen
Neben dem Arduino UNO und dem RFID-Reader (RC522) benötigen Sie ein OLED-Display (SSD1306, I2C), ein Breadboard und Kabel. Eine Powerbank macht das Projekt mobil.
Schritt 2: Der RC522 RFID-Reader
Jeder RFID-Tag enthält einen winzigen Chip mit einer Spule. Der Chip wird induktiv über die Spule des Readers mit Energie versorgt (keine Batterie nötig). Die Reichweite beträgt bis zu 20 mm. Jeder Tag hat eine weltweit eindeutige UID (4 Byte). Zudem können bis zu 1 kB Daten gespeichert werden – hier nutzen wir nur die UID zur Identifikation.
Schritt 3: OLED-Display (SSD1306)
Das 0,96″ OLED-Display (128×64 Pixel) arbeitet mit I2C (nur zwei Signalleitungen: SDA, SCL) und verbraucht nur 10–20 mA. Es gibt monochrome und zwei‑farbige Versionen (gelb/blau). Die Bibliothek Adafruit_SSD1306 zusammen mit Adafruit_GFX ermöglicht eine einfache Ansteuerung.
Schritt 4: Verdrahtung
Wichtiger Hinweis
Der RFID-Reader muss an 3,3 V angeschlossen werden – 5 V zerstören ihn! Das OLED-Display verträgt ebenfalls 3,3 V.
Anschlüsse
| RFID Reader (RC522) | Arduino UNO |
|---|---|
| VCC | 3,3 V |
| GND | GND |
| RST | Digital Pin 9 |
| IRQ | nicht verbunden |
| MISO | Digital Pin 12 |
| MOSI | Digital Pin 11 |
| SCK | Digital Pin 13 |
| SDA (SS) | Digital Pin 10 |
| OLED Display (I2C) | Arduino UNO |
|---|---|
| VCC | 3,3 V |
| GND | GND |
| SCL | Analog Pin 5 (A5) |
| SDA | Analog Pin 4 (A4) |
Der RFID-Reader nutzt das Hardware-SPI des Arduino. Das OLED wird über I2C (A4/A5) angebunden. Nach dem Einschalten und Auflegen eines Tags sollte die UID auf dem Display erscheinen.
Schritt 5: Der Programmcode
Benötigte Bibliotheken
- MFRC522 (über Bibliotheksverwalter installieren)
- Adafruit_SSD1306 und Adafruit_GFX (ebenfalls über Bibliotheksverwalter)
In Adafruit_SSD1306.h muss Zeile 70 auskommentiert und Zeile 69 aktiviert werden (für 128×64 Pixel).
Code-Struktur
// Erlaubte UID (Beispiel)
int code[] = {69, 141, 8, 136};
void setup() {
rfid.PCD_Init();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
}
void loop() {
// Alle 100 ms nach Tag suchen
if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
// UID anzeigen
// UID mit 'code' vergleichen
if (match) {
Serial.println("\nI know this card!");
printUnlockMessage(); // „Unlocked“ anzeigen
} else {
Serial.println("\nUnknown Card");
}
}
delay(100);
}
Der vollständige Sketch (RFID.ino) ist im Projekt enthalten. Sie können das Array code erweitern, um mehrere Tags zu akzeptieren.
Schritt 6: Fazit & Erweiterungen
Mit geringem Aufwand lässt sich ein RFID-basiertes Zugangssystem realisieren. Zukünftige Projekte könnten Daten auf dem Tag schreiben/lesen oder interaktive Spiele für Kinder umsetzen. Der Reader eignet sich auch für Anwesenheitskontrollen, Zeiterfassung oder smarte Türschlösser (in Kombination mit einem Servo oder Relais).
Herstellungsprozess
- Sicheres RFID-Türschloss mit Arduino & RC522 (MIFARE 13,56 MHz)
- Arduino Nano Fingerabdruck-Sensor-Projekt – Schritt-für-Schritt-Tutorial
- Mini-Klavier mit Arduino UNO bauen – Schritt-für-Schritt-Anleitung
- Portables RFID-Türschloss mit Arduino bauen – Schritt-für-Schritt-Anleitung
- PC per RFID-Türschloss absichern – Arduino Relais Projekt
- HID Prox RFID mit Arduino UNO verbinden – Schritt-für-Schritt-Anleitung
- Netzwerkfähiger RFID-Kartenleser mit Arduino, ENC28J60 Ethernet & MFRC522
- Windows PC per RFID sperren/entsperren: Arduino Micro/Leonardo Projekt
- Arduino Multithreading mit Protothreading meistern: Ein Schritt-für-Schritt-Tutorial
- Arduino Einsteiger Tutorial #1: Erstes Projekt (Blink)