Beveilig Je PC Met Een RFID-ingeschakeld Slot – Arduino Relais Project
Onderdelen en benodigdheden
| Onderdeel | Opmerking | Aantal |
|---|---|---|
| Arduino UNO | 1 | |
| RFID-module (generiek) | Ik gebruikte MFRC522 | 1 |
| Relais-module (generiek) | Ik gebruikte een 5V enkele-kanaals relaismodule | 1 |
| Male/Female jumper wires | 7 voor RFID module -> Arduino, 3 voor Relais -> Arduino en 2 voor Relais -> Moederbord | 12 |
Over dit project
Dit project gaat over het toevoegen van een optionele beveiligingsfunctie naast het wachtwoord op je persoonlijke computer.
Ik besloot een RFID + relais deurslotcode te gebruiken die ik op YouTube vond, uit nieuwsgierigheid en omdat ik dacht: "Hey! Ze hebben allebei dezelfde modules, misschien werkt de code ook hetzelfde!"
Eerst moet je de UID's van de RFID-kaarten of tags/sleutels uitlezen met de voorbeeldcodes uit de MFRC522-bibliotheek (ik gebruikte DumpInfo) https://github.com/miguelbalboa/rfid. Vervolgens voeg je de UID toe in de code om het relais te activeren en de desktop-PC aan te zetten.
Het relais wordt geactiveerd door de RFID-kaart en werkt met vertragingtijden die voldoende zijn voor gewone drukknopschakelaars. (Ik gebruikte 500ms vertraging om de PC aan te zetten). En de RFID-sleutel initieert het afsluitproces (alsof je de aan/uit-knop ongeveer 5 seconden ingedrukt houdt en hij dan uitschakelt).
Stel gerust vragen als mijn uitleeg onduidelijk is. Dit is mijn eerste keer hier! LOL.
******************************************************************************
Social Media Links Om Te Volgen (als je wilt):
- Facebook - https://fb.me/HeathenHacks
- Twitter - https://twitter.com/HeathenHacks
- Instagram - https://instagr.am/HeathenHacks
******************************************************************************
Code
RFID-Relais (Arduino)
Dit is eigenlijk een RFID-deurslotcode. Ik gebruikte het om mijn PC aan te zetten.
/*
* ----------------------------------------------------------------------------
* Deze sketch gebruikt de MFRC522-bibliotheek; zie https://github.com/miguelbalboa/rfid
* voor verdere details en andere voorbeelden.
*
* OPMERKING: Het bibliotheekbestand MFRC522.h bevat veel nuttige info. Lees het.
*
* Deze sketch toont een eenvoudig vergrendelingsmechanisme met de RC522 RFID-module.
* ----------------------------------------------------------------------------
* Typische pin-indeling:
* -----------------------------------------------------------------------------------------
* MFRC522 Arduino Arduino Arduino Arduino Arduino
* Reader/PCD Uno Mega Nano v3 Leonardo/Micro Pro Micro
* Signaal Pin Pin Pin Pin Pin
* -----------------------------------------------------------------------------------------
* RST/Reset RST 9 5 D9 RESET/ICSP-5 RST
* SPI SS SDA(SS) 10 53 D10 10 10
* SPI MOSI MOSI 11/ICSP-4 51 D11 ICSP-4 16
* SPI MISO MISO 12/ICSP-1 50 D12 ICSP-1 14
* SPI SCK SCK 13/ICSP-3 52 D13 ICSP-3 15
*/
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9 // Configureerbaar, zie typische pin-indeling hierboven
#define SS_PIN 10 // Configureerbaar, zie typische pin-indeling hierboven
MFRC522 mfrc522(SS_PIN, RST_PIN); // Maak MFRC522 instantie
String read_rfid;
// Voeg zoveel toe als je nodig hebt en vergeet niet de UID op te nemen
String ok_rfid_1 = "e199312d"; // Hoofd RFID-kaart. Die ik gebruik om mijn PC aan te zetten. Kan ook gebruikt worden om af te sluiten.
String ok_rfid_2 = "fbecb673"; // RFID-sleutelhanger. Afsluit-sleutelhanger. Niet raadzaam. Sluit je PC normaal af.
int lock = 7; // Voor de kaart
int lock2 = 7; // Voor de sleutelhanger
/* Initialisatie */
void setup() {
Serial.begin(9600); // Seriële communicatie met PC initialiseren
while (!Serial); // Doen niets als geen seriële poort open is (voor ATMEGA32U4-boards)
SPI.begin(); // SPI-bus initialiseren
mfrc522.PCD_Init(); // MFRC522-kaart initialiseren
// Kies welk slot:
pinMode(lock, OUTPUT);
pinMode(lock2, OUTPUT);
}
/* Helper-routine om byte-array als hex-waarden naar Serial te dumpen */
void dump_byte_array(byte *buffer, byte bufferSize) {
read_rfid = "";
for (byte i = 0; i < bufferSize; i++) {
read_rfid = read_rfid + String(buffer[i], HEX);
}
}
void open_lock() {
// Gebruik deze routine bij werken met relais en solenoides etc.
digitalWrite(lock, HIGH);
delay(500);
digitalWrite(lock, LOW);
}
void close_lock2() {
// Je kunt de kaart ook gebruiken om je PC af te sluiten. Dit is voor momenten dat je het echt snel moet afsluiten.
// Gebruik deze routine bij werken met relais en solenoides etc.
digitalWrite(lock2, HIGH);
delay(5000);
digitalWrite(lock2, LOW);
}
void loop() {
// Zoek naar nieuwe kaarten
if (!mfrc522.PICC_IsNewCardPresent()) return;
// Selecteer een van de kaarten
if (!mfrc522.PICC_ReadCardSerial()) return;
dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
Serial.println(read_rfid);
if (read_rfid == ok_rfid_1) {
// OK, open de deur (zet PC aan)
open_lock();
}
Serial.println(read_rfid);
if (read_rfid == ok_rfid_2) {
// OK, sluit af (PC uitschakelen)
close_lock2();
}
// Voeg hieronder zoveel "sleutels" toe als je wilt
// if (read_rfid == ok_rfid_3) { open_lock(); }
// else niet nodig. Alles wat anders is, is niet OK en opent de deur niet...
}
MFRC522 Bibliotheek
https://github.com/miguelbalboa/rfid
Schema's
Ik maakte dit met Photoshop. De draden hebben verschillende kleuren om verwarring te voorkomen.

Productieproces
- Binnenkijken in bankkluizen: geschiedenis, ontwerp en toekomst van beveiliging
- Draaideuren: Ontwerp, Geschiedenis en Energiebesparende Voordelen
- Kanalen & sluizen: techniek, geschiedenis en toekomst van VS watervervoer
- De Evolutie en Fabricage van Moderne Pin-Tumbler Sloten
- Streepjescodescanner: Technologie, Ontwerp en Toekomstige Trends
- Combinatieslot: Ontwerp, Productie en Historische Evolutie
- Een Slimme Auto-vergrendelende Deur Bouwen met uw Smartphone's Bluetooth-bijnaheid
- WiFi-ingeschakeld slim slot met Arduino & ESP8266 – Ontgrendel via je telefoon
- Een 4-Bit Combinatieslot Ontwerpen met XOR & NOR Poorten
- Jambschakelaars begrijpen: Functie, toepassingen en vervanging
- Een Tcl-gedreven testbench maken voor een VHDL code-lock module