Мы соберем электронный замок)))

Для начала разработки замка рассмотрим процесс считывания и почитаем данные карты метрополитена.Именно их мы и будем использовать их.Для этого нам понадобиться:



Библиотеки можно скачать в каталоге файлов

Перейдем к схеме:



Если тут не возникает вопросов.То перейдем к коду:

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN 9 
#define SS_PIN 10

MFRC522 mfrc522(SS_PIN, RST_PIN); // Создаем экземпляр MFRC522

void setup() {
Serial.begin(9600); // Настраиваем порт
while (!Serial); 
SPI.begin(); //Начинаем работать по spi с устройством 
mfrc522.PCD_Init();
ShowReaderDetails(); // Показать детали карты
Serial.println(F("Сканирование PICC, смотрим блоки UID ..."));
}

void loop() {
// Ищем новые карты
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}

// Выберите одну из карт
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}

// Выдача отладочной информации о карточке
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

void ShowReaderDetails() {
// Получаем программное обеспечение MFRC522
byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);
Serial.print(F("MFRC522 Software Version: 0x"));
Serial.print(v, HEX);
if (v == 0x91)
Serial.print(F(" = v1.0"));
else if (v == 0x92)
Serial.print(F(" = v2.0"));
else
Serial.print(F(" (unknown)"));
Serial.println("");
// Когда 0x00 0xFF , вероятно, не удалось связаться
if ((v == 0x00) || (v == 0xFF)) {
Serial.println(F("WARNING: Карты неисправна или проверьте считыватель!"));
}
}

Теперь в "Мониторе порта" вы можете наблюдать данные с карты.Модуль работает по интерфейсу SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным (англ. four-wire) интерфейсом.Удачи.

@Элемик