🪪 قفل در با کارت 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();
}
چطور اجرایش کنم؟
- شبیهساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
- از پنل «نمونهها»، «قفل در با کارت RFID» را بارگذاری کن — مدار و کد با هم میآیند.
- دکمهی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
- حالا کد را تغییر بده — عددها، پینها، ترتیب — و دوباره اجرا کن!