Использование RFID модуля MFRC522 и Ардуино

Сделаем на основе RFID-считывателя MFRC522 и микроконтроллера Arduino простой в использовании ключ или ключ-сканер брелка.

Если у вас есть модуль RFID MFRC522, светодиоды, резисторы, провода, arduino uno, макетная плата и 9-вольтная батарея (по желанию), тогда вы сможете сделать этот интересный проект.

Комплектующие

Как мы уже перечислили выше, для создания этого проекта вам понадобятся:

  • модуль RFID MFRC522,
  • светодиоды,
  • резисторы,
  • провода,
  • arduino uno,
  • макетная плата,
  • 9-вольтная батарея (опция).

Модуль RFID MFRC522 можно купить в большинстве интернет-магазинов, кроме того его можно найти в таких магазинах, как Амазон или АлиЭкспресс. Остальные детали довольно простые и, скорее всего, они у вас есть, но даже если нет, их легко купить или взять со старых проектов или плат

И, конечно, нам понадобится Arduino IDE - среда разработки для плат и микроконтроллеров Ардуино.

Подключаем RFID MFRC522 к Arduino

Подключите RFID к ардуино, соединения всех контактов ниже:

RFID → Arduino
VCC → 3.3В
RST → D9
GND → GND
MISO → D12
MOSI → D11
SCK → D13
NSS (или SDA) → D10

Подключаем светодиоды к Arduino

Подключите красный светодиод к контакту 8, а зеленый - к контакту 7 с резистором 1 МОм перед ним. Затем заземлите светодиоды.

Подключаем аккумуляторную батарею 9В

Подключите аккумуляторную батарею 9В сначала к держателю батареи, а затем соедините плюс и VIN на ардуине и GND (замлю) батареи к GND на ардуине.

Код проекта

Вы можете скачать библиотеку (zip-файл) и взять код для Ардуино ниже. После загрузки кода красный светодиод должен быть включен. Если вы поднесете 13,56 Mhz ID-карту к сканеру, зеленый светодиод должен будет включиться.

#include 
#include 
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);  
int redled = 8;
int greenled = 7;
void setup() {
  SPI.begin();     
  mfrc522.PCD_Init(); 
  pinMode(redled, OUTPUT);
  pinMode(greenled, OUTPUT);
}

void loop() {
  digitalWrite(redled, HIGH);
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) {
    return;
  }

  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial()) {
    return;
  }

 digitalWrite(redled, LOW);
 digitalWrite(greenled, HIGH);
 delay(1000);
 digitalWrite(greenled, LOW);
 digitalWrite(redled, HIGH);
}

На этом всё. Хороших вам проектов.

Ардуино+