Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [ hier ] und treten Sie heute bei!
Zugangskontrollsystem
Die Hauptfunktion dieses Codes besteht darin, die Benutzerauthentifizierung mit einem RFID-Modul durchzuführen. Wenn die Authentifizierung erfolgreich ist, steuert er einen Schrittmotor, um die Tür zu öffnen, und gibt über einen Summer einen Ton aus, um das Ergebnis der Authentifizierung anzuzeigen. Scheitert die Authentifizierung, wird die Tür nicht geöffnet.
Sie können den seriellen Monitor öffnen, um die ID Ihrer RFID-Karte zu sehen und das Passwort in diesem Code neu zu konfigurieren.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Elite Explorer Kit |
300+ |
Sie können sie auch einzeln über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
|---|---|
- |
|
- |
|
- |
Verdrahtung
Schaltplan
Code
Bemerkung
Sie können die Datei
09_access_control_system.inodirekt unter dem Pfadelite-explorer-kit-main\fun_project09_access_control_systemöffnen.Oder kopieren Sie diesen Code in die Arduino IDE.
Bemerkung
Hier wird die
RFID1-Bibliothek verwendet. Die Bibliothek finden Sie im Verzeichniselite-explorer-kit-main/library/, oder Sie können hierRFID1.zipklicken, um sie herunterzuladen. Sehen Sie sich Manuelle Installation für eine Anleitung zur Installation an.
Wie funktioniert des?
Hier ist eine schrittweise Erklärung des Codes:
Bibliotheksdateien einbinden: Sie haben drei Bibliotheksdateien eingebunden:
rfid1.h,Stepper.hundWire.h. Diese Bibliotheken werden verwendet, um mit dem RFID-Modul, dem Schrittmotor und für die I2C-Kommunikation zu kommunizieren.Konstantendefinitionen: Sie haben einige Konstanten definiert, darunter
ID_LEN(Länge der ID),stepsPerRevolution(Schritte pro Umdrehung für den Schrittmotor),rolePerMinute(Geschwindigkeit des Schrittmotors), sowie die vier Schrittmotorpins (IN1, IN2, IN3, IN4), Buzzerpin (buzPin) und Variablen im Zusammenhang mit der Authentifizierung.Variablendefinitionen: Sie haben Variablen wie ein Array definiert, um die gelesene Benutzer-ID (
userIdRead), authentifizierte Benutzer-ID (userId) und eine boolesche Variable (approved) zur Anzeige einer erfolgreichen Authentifizierung zu speichern.Objektinstanzen: Sie haben Instanzen von zwei Objekten erstellt:
RFID1 rfidundStepper stepperzur Interaktion mit dem RFID-Modul und Schrittmotor.setup(): In der Funktionsetup()initialisieren Sie die Geschwindigkeit des Schrittmotors, stellen den Buzzerpin als Ausgang ein und initialisieren das RFID-Modul.loop(): In der Funktionloop()läuft Ihre Hauptlogik. Wennapproved0 ist (noch nicht authentifiziert), ruft es die FunktionrfidRead()auf, um Daten vom RFID-Modul zu lesen und löscht dann das ArrayuserIdRead. Wennapproved1 ist (erfolgreiche Authentifizierung), ruft es die FunktionopenDoor()auf, um die Tür zu öffnen, und setztapprovedauf 0 zurück.beep(): Diese Funktion steuert den Summer basierend auf den bereitgestellten Parameterndurationundfrequency.verifyPrint(): Diese Funktion erzeugt unterschiedliche Summergeräusche basierend auf dem Parameterresult, um anzuzeigen, ob die Authentifizierung erfolgreich war.openDoor(): Diese Funktion steuert den Schrittmotor, um die Tür bis zu einem bestimmten Winkel (doorStep) zu öffnen und wartet dann eine Weile, bevor die Tür geschlossen wird.rfidRead(): Diese Funktion liest Daten vom RFID-Modul, ruft zuerstgetId()auf, um die Benutzer-ID zu erhalten, und dannidVerify(), um zu überprüfen, ob die Benutzer-ID mit der authentifizierten ID übereinstimmt.getId(): Diese Funktion holt die Benutzer-ID vom RFID-Modul und speichert sie im ArrayuserIdRead. Sie gibt einen Piepton aus, wenn das Lesen fehlschlägt.idVerify(): Diese Funktion überprüft, ob die Benutzer-ID mit der authentifizierten ID übereinstimmt, und erzeugt einen Ton, der eine erfolgreiche oder fehlgeschlagene Authentifizierung anzeigt.