پروژه و ساخت

در بازکن کارتی پیشرفته

مقدمه

پروژه در بازکن پیشرفته یک سیستم هوشمند است که به‌جای استفاده از کلیدهای فیزیکی، با ابزارهای مدرن مثل تلفن همراه، کارت‌های RFID، یا حتی تشخیص چهره، امکان باز کردن در را فراهم می‌کند. این سیستم معمولاً شامل یک بخش سخت‌افزاری (مثل سنسورها، میکروکنترلرها، و قفل برقی) و یک بخش نرم‌افزاری (اپلیکیشن موبایل یا وب، یا کنترل از طریق پیام‌رسان‌ها مثل تلگرام) است. هدف اصلی آن افزایش امنیت، راحتی، و قابلیت کنترل از راه دور برای کاربران است.

پروژه در بازکن کارتی RFID

ما در این مطلب برای شما پروژه دربازکن کارتی با RFID را آماده کردیم، برای مشاهده کامل این پروژه ویدیو زیر را مشاهده فرمایید.

مشاهده ویدیو

کد آردوینو پروژه

#include SPI.h>
#include MFRC522.h>
#include avr/wdt.h>
#define SS_PIN 5
#define RST_PIN 9
#define RELAY 3 //connect the relay to number 3 pin
#define BUZZER 2 // connect the buzzer to 2 pin
#define ACCESS_DELAY 2000
#define DENIED_DELAY 1000
MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.
void setup() 
{
  Serial.begin(9600);   // Initiate a serial communication
  SPI.begin();          // Initiate  SPI bus
  mfrc522.PCD_Init();   // Initiate MFRC522
  pinMode(RELAY, OUTPUT);
  pinMode(BUZZER, OUTPUT);
  noTone(BUZZER);
  digitalWrite(RELAY,LOW);
  Serial.println("Put your card to the reader for scanning ...");
  Serial.println();
}
void loop() 
{
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  //Show UID on serial monitor
  Serial.print("UID tag :");
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++) 
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Message : ");
  content.toUpperCase();
  if (content.substring(1) == " 43 9E D9 13") // enter your own card number after copying it from serial monitor
  {
   wdt_enable(WDTO_2S); 
    Serial.println("Authorized access");
    Serial.println();
    delay(500);
    digitalWrite(RELAY, LOW);
    delay(ACCESS_DELAY);
    digitalWrite(RELAY, HIGH);
    wdt_reset();
    wdt_disable();
  }
          else if (content.substring(1) == "63 1D CB 26") //more tag...
          {
            wdt_enable(WDTO_2S);
          Serial.println("Authorized access");
          Serial.println();
          delay(500);
          digitalWrite(RELAY, LOW);
          delay(ACCESS_DELAY);
          digitalWrite(RELAY, HIGH);
          wdt_reset();
          wdt_disable();
          }
          else if (content.substring(1) == "63 1D CB 26") //more tag...
          {
            wdt_enable(WDTO_2S);
          Serial.println("Authorized access");
          Serial.println();
          delay(500);
          digitalWrite(RELAY, LOW);
          delay(ACCESS_DELAY);
          digitalWrite(RELAY, HIGH);
          wdt_reset();
          wdt_disable();
          }
     else   {
   wdt_enable(WDTO_2S);
    Serial.println(" Access denied");
    tone(BUZZER, 300);
    delay(DENIED_DELAY);
    noTone(BUZZER);
              wdt_reset();
          wdt_disable();
  }
}

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *