Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Veilige Arduino RFID-deurslot bouwen met RC522 (MIFARE 13,56 MHz)

Onderdelen en benodigdheden

Arduino UNO × 1
RFID RC522 × 1
TG9e servo × 1
Adafruit NeoPixel Ring: WS2812 5050 RGB LED × 1
RFID-tag × 2

Over dit project

In deze handleiding laat ik zien hoe je eenvoudig een RFID-slot maakt met een Arduino UNO en de RFID RC522 (MIFARE-protocol). Dit project is ook te vinden op: Arduino RFID lock.

Stap 1: Onderdelen

Veilige Arduino RFID-deurslot bouwen met RC522 (MIFARE 13,56 MHz)
  • Arduino UNO
  • RFID RC522
  • TG9e servo
  • LED RGB - WS2812
  • 2 × RFID-tag

Stap 2: Schema

Veilige Arduino RFID-deurslot bouwen met RC522 (MIFARE 13,56 MHz)

Stap 3: Software

We beginnen met het importeren van de benodigde bibliotheken:

#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#include <Adafruit_NeoPixel.h>
//----------------------------------------------------------

Vervolgens configureren en initialiseren we de UART-snelheid, starten de RC522 en zetten de servo op nul:

void setup() {
  Serial.begin(115200);
  SPI.begin();
  mfrc522.PCD_Init();
  Serial.println("Meer info: https://geek.adachsoft.com");
  Serial.println("Arduino RFID slot");
  Serial.println("");
  myservo.attach(SERVO_PIN);
  myservo.write(0);
  pixels.begin();
  pixels.setPixelColor(0, 32, 32, 32);
  pixels.show();
  delay(500);
  pixels.setPixelColor(0, 0, 0, 0);
  pixels.show();
}
//----------------------------------------------------------

Na het lezen van de UID van de tag vergelijken we deze met de geautoriseerde UID. Bij overeenkomst draait de servo open:

if (content == "77-39-50-39") {
  Serial.println("Toegang geautoriseerd");
  myservo.write(90);
  pixels.setPixelColor(0, 0, 32, 0);
  pixels.show();
  delay(1000);
  myservo.write(0);
  pixels.setPixelColor(0, 0, 0, 0);
  pixels.show();
} else {
  Serial.println("Toegang geweigerd");
  pixels.setPixelColor(0, 32, 0, 0);
  pixels.show();
  delay(500);
  pixels.setPixelColor(0, 0, 0, 0);
  pixels.show();
}
//----------------------------------------------------------

Broncode downloaden: RFID_with_servo.ino

Stap 4: Afronden en testen

Test het systeem door de tags voor de reader te houden. De servo moet draaien bij een geldige tag en de NeoPixel ring geeft visuele feedback (groen = toegang, rood = geweigerd).

Code

RFID_with_servo.ino Arduino

/* 
 * https://geek.adachsoft.com 
 */
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#include <Adafruit_NeoPixel.h>
#define LED_PIN A0
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, LED_PIN, NEO_GRB + NEO_KHZ800);
#define SERVO_PIN 3
Servo myservo;
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);

void setup() {
  Serial.begin(115200);
  SPI.begin();
  mfrc522.PCD_Init();
  Serial.println("For more: https://geek.adachsoft.com");
  Serial.println("Arduino RFID lock");
  Serial.println("");
  myservo.attach(SERVO_PIN);
  myservo.write(0);
  pixels.begin();
  pixels.setPixelColor(0, 32, 32, 32);
  pixels.show();
  delay(500);
  pixels.setPixelColor(0, 0, 0, 0);
  pixels.show();
}

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

  String content = "";
  for (byte i = 0; i < mfrc522.uid.size; i++) {
    content.concat(String(mfrc522.uid.uidByte[i], HEX));
    if (i < mfrc522.uid.size - 1) content += "-";
  }
  content.toUpperCase();
  Serial.println();
  Serial.println("UID tag: '" + content + "'");

  if (content == "77-39-50-39") {
    Serial.println("Authorized access");
    myservo.write(90);
    pixels.setPixelColor(0, 0, 32, 0);
    pixels.show();
    delay(1000);
    myservo.write(0);
    pixels.setPixelColor(0, 0, 0, 0);
    pixels.show();
  } else {
    Serial.println("Access denied");
    pixels.setPixelColor(0, 32, 0, 0);
    pixels.show();
    delay(500);
    pixels.setPixelColor(0, 0, 0, 0);
    pixels.show();
  }
  delay(1000);
}

Schema's

Veilige Arduino RFID-deurslot bouwen met RC522 (MIFARE 13,56 MHz)

Productieproces

  1. Maak een Veilige Arduino RFID Slot – Stapsgewijze Handleiding
  2. Betrouwbaar Arduino RFID Aanwezigheidssysteem Aangedreven door Python
  3. K30 CO2-sensor: Real-time binnenluchtkwaliteitmonitoring met Arduino
  4. Communicatie voor doofblinden vergemakkelijken met 1Sheeld en Arduino
  5. Slimme spaarpot bouwen: Muntenacceptor besturen met Arduino Nano
  6. Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
  7. Een DFRobot Capacitieve Vingerafdruksensor integreren met Arduino of ESP8266
  8. Interactief Nextion HMI-weerstation met Arduino Mega en sensoren
  9. Arduino-gebaseerde 6-DoF Robotarm Gestoeerd met Wii Nunchuk
  10. Slim Elektronisch Check-in Systeem voor Hackerspaces
  11. Accurate zonnestralingsmeting met Arduino UNO en Ethernet Shield