Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Anleitung zum Arduino-RFID-Schloss

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
RFID-Lesegerät (generisch)
× 1

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Liebe Freunde, willkommen zu einem weiteren Tutorial. Dies ist Nick von educ8s.tv und heute werden wir lernen, wie man diesen RFID-Reader mit Arduino verwendet, um ein einfaches Schlosssystem zu bauen.

Zum ersten Mal werden wir RFID-Tags mit Arduino verwenden. Ich habe ein einfaches Projekt erstellt, das die Unique ID (UID) jedes RFID-Tags, den wir in der Nähe des Lesers platzieren, liest und auf diesem OLED-Display anzeigt. Wenn die UID des Tags einem vordefinierten Wert entspricht, der im Speicher von Arduino gespeichert ist, sehen wir im Display die Meldung „Unlocked“. Wenn die eindeutige ID der Karte nicht dem vordefinierten Wert entspricht, wird die Meldung zum Entsperren nicht angezeigt. Cool, nicht wahr?

Es gibt viel zu besprechen, also fangen wir an!

Schritt 1:Holen Sie sich alle Teile

Die Teile, die zum Bau dieses Projekts benötigt werden, sind diese:

  • Ein Arduino Uno ▶ https://store.arduino.cc/arduino-uno-rev3
  • Ein RFID-Lesegerät ▶ http://educ8s.tv/part/RFID
  • OLED-Display ▶ http://educ8s.tv/part/OLED096
  • Ein kleines Steckbrett ▶ http://educ8s.tv/part/SmallBreadboard
  • Einige Kabel ▶ http://educ8s.tv/part/Wires

Optionale Teile:

  • Powerbank ▶ http://educ8s.tv/part/Powerbank

Die Gesamtkosten des Projekts betragen etwa 15 $.

Schritt 2:Das RC522 RFID-Lesegerät

Jedes RFID-Tag hat einen kleinen Chip im Inneren. Wenn ich eine Taschenlampe unter diese RFID-Karte lege, sieht man den kleinen Chip und die ihn umgebende Spule. Dieser Chip hat keine Batterie, um Strom zu bekommen. Es wird über diese große Spule drahtlos vom Lesegerät, diesem Gerät, mit Strom versorgt. Der Leser kann eine solche RFID-Karte aus einer Entfernung von bis zu 20 mm lesen!

Der gleiche Chip existiert auch in Schlüsselbund-RFID-Tags.

Jeder RFID-Tag hat eine eindeutige Nummer, die ihn identifiziert. Das ist die UID, die wir auf dem OLED-Display anzeigen. Außer dieser UID kann jedes Tag Daten speichern. In dieser Art von Karten können wir bis zu 1K Daten speichern! Beeindruckend nicht wahr? Wir werden diese Funktionalität heute nicht verwenden, aber in einem zukünftigen Tutorial. Heute geht es uns nur noch darum, eine bestimmte Karte anhand ihrer UID zu identifizieren. Die Kosten für das RFID-Lesegerät und diese beiden RFID-Karten betragen etwa 4 $.

Schritt 3:OLED-Display

Dies ist ein sehr schönes Display für die Verwendung mit Arduino. Es ist ein OLED-Display und das bedeutet, dass es einen geringen Stromverbrauch hat. Der Stromverbrauch dieses Displays beträgt etwa 10-20 mA und hängt davon ab, wie viele Pixel beleuchtet sind.

Das Display hat eine Auflösung von 128×64 Pixel und ist winzig klein. Es gibt zwei Varianten der Anzeige. Einer von ihnen ist monochrom, und der andere, wie der, den ich verwende, kann zwei Farben anzeigen, Gelb und Blau. Der obere Teil des Bildschirms kann nur Gelb anzeigen, der untere Teil nur Blau.

Dieses OLED-Display ist sehr hell und bietet eine großartige Bibliotheksunterstützung. Adafruit hat für dieses Display eine sehr schöne Bibliothek entwickelt. Darüber hinaus verwendet das Display die I2C-Schnittstelle, sodass die Verbindung mit Arduino unglaublich einfach ist. Sie müssen nur zwei Drähte außer Vcc und GND anschließen. Wenn Sie neu bei Arduino sind und ein kostengünstiges und benutzerfreundliches Display für Ihr Projekt wünschen, beginnen Sie mit Display. Es ist der einfachste Weg, Ihrem Arduino-Projekt ein Display hinzuzufügen. Ich habe ein ausführliches Tutorial zur Verwendung dieses Displays vorbereitet, das ich diesem Tutorial beigefügt habe.

Schritt 4:Alle Teile verbinden

Die Verbindung mit dem Arduino Uno Board ist sehr einfach. Verbinden wir zunächst die Stromversorgung des Lesegeräts und des Displays.

Achtung, der RFID-Leser muss an den 3.3V-Ausgang des Arduino Uno angeschlossen werden, sonst wird er zerstört. Da das Display auch mit 3,3 V arbeiten kann, verbinden wir die Vcc von beiden Modulen mit der positiven Schiene des Steckbretts. Diese Schiene wird dann mit dem 3,3V-Ausgang des Arduino Uno verbunden. Als nächstes verbinden wir beide GNDs mit der GND-Schiene des Steckbretts. Dann verbinden wir die GND-Schiene des Steckbretts mit Arduino GND.

OLED-Display - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Analog Pin 5

SDA ▶ Analoger Pin

RFID-Lesegerät - Arduino

RST ▶ Digitaler Pin 9

IRQ ▶ Nicht verbunden

MISO ▶ Digitaler Pin 12

MOSI ▶ Digitaler Pin 11

SCK ▶ Digitaler Pin 13

SDA ▶ Digitaler Pin 10

Das RFID-Lesemodul verwendet die SPI-Schnittstelle, um mit Arduino zu kommunizieren. Wir werden also die Hardware-SPI-Pins des Arduino UNO verwenden. RST-Pin geht auf Digital-Pin 9. IRQ-Pin bleibt unbeschaltet. MISO-Pin geht an Digital-Pin 12. MOSI-Pin geht an Digital-Pin 11. SCK-Pin geht an Digital-Pin 13 und zuletzt geht SDA-Pin an Digital-Pin 10. Das war's. Der RFID-Leser ist angeschlossen. Wir müssen nun das OLED-Display über die I2C-Schnittstelle mit Arduino verbinden. Der SCL-Pin des Displays geht also auf Analog-Pin 5 und der SDA-Pin des Displays auf Analog-Pin 4. Wenn wir nun das Projekt einschalten und eine RFID-Karte in die Nähe des Lesegeräts legen, können wir sehen, dass das Projekt gut funktioniert! Jetzt ist es an der Zeit, einen Blick auf den Code des Projekts zu werfen.

Schritt 5:Der Code des Projekts

Damit der Projektcode kompiliert werden kann, müssen wir einige Bibliotheken einbinden. Als erstes benötigen wir die MFRC522 Rfid-Bibliothek. Um es zu installieren, gehen Sie zu Sketch -> Bibliotheken einschließen -> Bibliotheken verwalten. Suchen Sie nach MFRC522 und installieren Sie es. Für die Darstellung benötigen wir außerdem die Adafruit SSD1306 Library und die Adafruit GFX Library. Installieren Sie beide Bibliotheken mit dem gleichen Verfahren. Die Adafruit SSD1306-Bibliothek benötigt eine kleine Modifikation. Gehen Sie zum Ordner Arduino -> Libraries, öffnen Sie den Ordner Adafruit SSD1306 und bearbeiten Sie die Bibliothek Adafruit_SSD1306.h. Kommentarzeile 70 und Kommentarzeile 69. Unser Display hat eine Auflösung von 128x64, das definieren wir hier. Jetzt können wir uns den Code kurz ansehen.

Zuerst deklarieren wir den Wert des RFID-Tags, den das Arduino erkennen soll. Es ist ein Array von ganzen Zahlen.

int-Code[] ={69,141,8,136}; //Dies ist die gespeicherte UID 

Als nächstes initialisieren wir den RFID-Reader und das Display.

rfid.PCD_Init();display.begin(SSD1306_SWITCHCAPVCC, 0x3C); 

Danach prüfen wir in der Loop-Funktion alle 100 ms, ob ein Tag auf dem Reader vorhanden ist.

Wenn sich ein Tag auf dem Leser befindet, lesen wir dessen UID und drucken ihn auf dem Display aus. Als nächstes vergleichen wir die UID des gerade gelesenen Tags mit dem Wert, der in der Codevariablen gespeichert ist. Wenn die Werte gleich sind, zeigen wir die UNLOCK-Meldung an, andernfalls zeigen wir diese Meldung nicht an.

if (match) { Serial.println("\nIch kenne diese Karte!"); printUnlockMessage(); } Sonst { Serial.println ("\nUnbekannte Karte"); } 

Natürlich können Sie diesen Code ändern, um mehr als 1 UID-Werte zu speichern, damit das Projekt mehr RFID-Tags erkennt.

Dies ist nur ein Beispiel. Wie immer finden Sie den Code des Projekts im Anhang dieses Tutorials.

RFID.ino

Schritt 6:Abschließende Gedanken und Verbesserungen

Wie Sie sehen, können wir unsere Projekte mit sehr geringen Kosten um einen RFID-Reader erweitern. Mit einem Lesegerät wie diesem können wir ganz einfach ein Sicherheitssystem aufbauen oder weitere lustige Projekte bauen.

Meine Hauptabsicht ist es, mit diesem RFID-Lesegerät und vielen RFID-Tags einige interaktive Spiele für Kinder zu bauen. In einem zukünftigen Video werden wir auch versuchen, Daten von einem RFID-Tag zu schreiben und zu lesen. An dieser Stelle würde ich gerne Ihre Meinung zu diesem RFID-Kartenleser hören. Planen Sie, es in einem Ihrer Projekte zu verwenden? Bitte posten Sie Kommentare oder Ideen in diesem Kommentarbereich unten, danke!

Code

  • RFID.ino
  • Code-Snippet #3
RFID.inoArduino
Keine Vorschau (nur Download).
Code-Snippet #3Kurztext
if (match) { Serial.println ( "\nIch kenne diese Karte!"); printUnlockMessage(); } Sonst { Serial.println ("\nUnbekannte Karte"); }

Herstellungsprozess

  1. Arduino RFID-Schloss mit RC522 - MIFARE-Protokoll 13,56 Mhz
  2. Anleitung zum Arduino-Fingerabdrucksensor
  3. Arduino-Tutorial:Mini-Klavier
  4. DIY-Idee mit RFID
  5. RFID+Relais+RFID-Türschlosscode =RFID-PC-Schalter!
  6. HID Prox RFID zu Arduino
  7. Arduino Ethernet-RFID-Kartenleser
  8. Windows PC Sperren/Entsperren mit RFID
  9. Multithreading eines Arduino (Protothreading-Tutorial)
  10. Arduino-Tutorial 01:Erste Schritte