рфайди

#include <MFRC522.h> #include <SPI.h> // В настройках можно указать пины, на которых находятся RC522 #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // Создаем экземпляр объекта RC522 void setup() { Serial.begin(9600); SPI.begin(); // Инициализируем SPI mfrc522.PCD_Init(); // Инициализируем RC522 Serial.println("RFID ready!"); } void loop() { // Находимся в ожидании RFID-карты if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } // Cчитываем серийный номер карты if ( ! mfrc522.PICC_ReadCardSerial()) { return; } // Выводим серийный номер карты Serial.print(F("Card UID:")); String cardContent = ""; for (byte i = 0; i < mfrc522.uid.size; i++) { Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(mfrc522.uid.uidByte[i], HEX); cardContent.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ")); cardContent.concat(String(mfrc522.uid.uidByte[i], HEX)); } Serial.println(); // Перезаписываем значения метки byte newData[] = {11, 22, 33, 44}; // Новые данные для записи0xDE, 0xAD, 0xBE, 0xEF byte dataLen = sizeof(newData); if (mfrc522.MIFARE_Write(1, newData, dataLen)) { Serial.println(F("Data written successfully")); } else { Serial.println(F("Error writing data")); } // Для того, чтобы проверить, что значения метки были перезаписаны, можем считать данные с метки byte readData[dataLen]; if (mfrc522.MIFARE_Read(1, readData, &dataLen) && memcmp(newData, readData, dataLen) == 0) { Serial.println(F("готово")); } else { Serial.println(F("нет")); } mfrc522.PICC_HaltA(); // Завершаем работу с картой }

этот код на С++ меняет рфайди метки значение на раннее указанное через модуль RFID- RC522

распиновка

GND GND

питанию 3.3V

SDA 10

SCK 13

MOSI 11

MISO 12

#include <MFRC522.h> // Определение пинов, на которых подключены RC522 модуль #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // Создание экземпляра MFRC522 void setup() { pinMode(3, OUTPUT);//мае Serial.begin(9600); // Настройка Serial SPI.begin(); // Настройка SPI mfrc522.PCD_Init(); // Настройка RC522 модуля // Serial.println("RC522 started"); // Вывод сообщения о запуске модуля Serial.println("RFID MFRC522 подключен и готов к работе!"); } void loop() { // Проверка наличия RFID-карты if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { // Вывод значений UID карты 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) == "1D 62 22 3E") { // Здесь нужно заменить на нужный UID ||F0 34 EC 19 FF B2 8E DF 04 69 56 3A E6 4C 81 Serial.println("открыто"); // Вывод сообщения об открытии двери digitalWrite(3, HIGH);//мае delay(2000); // Задержка на 2 секунды digitalWrite(3, LOW);//мае } else { Serial.println("ошибка перепрелажите ключ"); // Вывод сообщения об отказе digitalWrite(4, HIGH);//мае delay(2000); // Задержка на 2 секунды digitalWrite(4, LOW);//мае } } }

а этот код проверяет рфайди метки через модуль RFID- RC522

распиновка

ножку 9 модуля RFID к пину 9 на Arduino;

ножку 10 модуля RFID к пину 10 на Arduino;

ножку SDA модуля RFID к пину MOSI на Arduino;

ножку SCK модуля RFID к пину SCK на Arduino;

ножку MOSI модуля RFID к пину MISO на Arduino;

ножку MISO модуля RFID к пину MOSI на Arduino;

ножку 3.3V модуля RFID к 3.3V на Arduino;

ножку GND модуля RFID к GND на Arduino.

303303 показа
184184 открытия
4 комментария

Комментарий недоступен

Ответить

Кажется, человек решил использовать DTF как альтернативу GitHub Gist

Ответить

Что за калыч

Ответить

ардуинка-это вещь!

Ответить