🪪 قفل در با کارت RFID

کارت سفید را بزن تا چراغ سبز روشن شود؛ کارت ناشناس چراغ قرمز می‌گیرد.

سطح: چالشی ⭐⭐⭐ · مود: آردوینو (سه‌بعدی + کد)

قطعات لازم

کد کامل پروژه

// RFID door lock: the white card opens (green), any other card is refused (red).
// Select the RFID reader and tap a card in the Properties panel.
#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN);

const int GREEN = 6;
const int RED = 7;
String allowed = "D34A1F9B";         // the white card

void setup() {
  Serial.begin(9600);
  SPI.begin();
  rfid.PCD_Init();
  pinMode(GREEN, OUTPUT);
  pinMode(RED, OUTPUT);
  Serial.println("Tap a card...");
}

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

  String id = "";
  for (byte i = 0; i < rfid.uid.size; i++) {
    if (rfid.uid.uidByte[i] < 0x10) id += "0";
    id += String(rfid.uid.uidByte[i], HEX);
  }
  id.toUpperCase();
  Serial.println("Card: " + id);

  int led = (id == allowed) ? GREEN : RED;
  Serial.println(id == allowed ? "Welcome!" : "Access denied");
  digitalWrite(led, HIGH);
  delay(1500);
  digitalWrite(led, LOW);
  rfid.PICC_HaltA();
}

چطور اجرایش کنم؟

  1. شبیه‌ساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
  2. از پنل «نمونه‌ها»، «قفل در با کارت RFID» را بارگذاری کن — مدار و کد با هم می‌آیند.
  3. دکمه‌ی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
  4. حالا کد را تغییر بده — عددها، پین‌ها، ترتیب — و دوباره اجرا کن!
این پروژه را رایگان در شبیه‌ساز اجرا کن 🤖