А кто-нибудь пробовал подключить rc522 через UART протокол, судя по даташиту это возможно. Где пин SDA это RX, а MISO-TX. Пробовал подключить через softwareSerial к Arduino и напрямую к USB-UART конвертёру, но порт молчит. Получалось ли у кого нибудь связаться по UART или по I2C может?
А кто-нибудь пробовал подключить rc522 через UART протокол, судя по даташиту это возможно. Где пин SDA это RX, а MISO-TX. Пробовал подключить через softwareSerial к Arduino и напрямую к USB-UART конвертёру, но порт молчит. Получалось ли у кого нибудь связаться по UART или по I2C может?
Спасибо за ссылку! А нет ли статьи какой-нибудь к этой библиотеке или описания? А то пример слишком уж скудный и не собирается... Не могу понять в чём причина.
оставляйте как есть, т.е. 9, и попробуйте загрузить в плату, но подключить к reset пину
MFRC522 Software Version: 0x0 (unknown)
WARNING: Communication failure, is the MFRC522 properly connected?
Scan PICC to see UID, type, and data blocks...
Прошу помочь разобраться почему не читает метки. Уже пробовал пины переставлять
Может я не правильно их переназначал (в коде правил RST_PIN 5 и ставил 9 тую и переставлял провод на плате ), может нужно по другому ?
Мега
Уже второй день подряд вожусь с этим китайским счастьем
Прошу помочь разобраться почему не читает дамп
ТОлько учусь
Firmware Version: 0xFF = (unknown)
WARNING: Communication failure, is the MFRC522 properly connected?
Scan PICC to see UID, SAK, type, and data blocks...
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 5 // Configurable, see typical pin layout above
#define SS_PIN 53 // Configurable, see typical pin layout above
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
void setup() {
Serial.begin(9600); // Initialize serial communications with the PC
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522
mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details
Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));
}
void loop() {
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
// Dump debug info about the card; PICC_HaltA() is automatically called
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}
собрал систему доступа на RFID. всё работало отлично. решил добавить, чтоб и с радио брелка открыть можно было.
в месте они в одном коде не работают, радио кнопка и NFC, а по отдельности, если заремить, пол кода, вполне даже быстро. вот если за ремить с 37 по 56 строки , Радио брелок открывает замок. вот если оставить как есть то только, карты доступа. а Радио доступ отазывается работать. и после После 56 строки ничего не работает. Ардвинка на код не ругается.
подскажите как заставить их работать, чтоб и карта доступа работала и радио брелок. конечно не синхронно. а на выбор. у кого есть карта, и удалённо с радио брелка . Что не так с этим кодом. возможно что тут конфликт библиотек ??
#include <SPI.h>
#include <MFRC522.h>
#include <LiquidCrystal_I2C.h>
#include <RCSwitch.h>
LiquidCrystal_I2C lcd(0x27,16,2); // SDA - A4; SCL - A5
RCSwitch mySwitch = RCSwitch();
#define SS_PIN 10
#define RST_PIN 9
#define ted 5 // замок с мотором #5
#define tet 6 // замок с мотором
int but =0;
word Rkod=0;
MFRC522 mfrc522(SS_PIN, RST_PIN);
unsigned long uidDec, uidDecTemp;
void setup() { // **********************************************************
Serial.begin(9600); // Initialize serial communications with the PC.
Serial.println("Prilozhite kartu .");
// lcd.init(); // Активировать дисплей
// lcd.backlight(); // подсветка дисплея
// lcd.print(" Zamok Nevidimka");
SPI.begin(); // инициализация SPI / Init SPI bus.
mfrc522.PCD_Init(); // инициализация MFRC522 / Init MFRC522 card.
pinMode(ted , OUTPUT);
pinMode(tet , OUTPUT);
mySwitch.enableReceive(0);
}
void loop() { // *************************************************
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
uidDec = 0;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
uidDecTemp = mfrc522.uid.uidByte[i];
uidDec = uidDec*256+uidDecTemp;
}
// ------------------------------------------------------------------
if (uidDec == 20460007958)
{
digitalWrite(ted, HIGH);
Serial.println(" Hi Liza");
}
// ------------------------------------------------------------------------------------
// void cikl1 () {
// while(1){
// Serial.println(" Ne Rabotaet "); // ------------------
if (mySwitch.available()) {
Rkod= mySwitch.getReceivedValue();
Serial.print(Rkod);
Serial.println();
if ( Rkod == 528 ) {
digitalWrite(ted, HIGH); delay(100); digitalWrite(ted, LOW); // lcd.setCursor(0, 1);
// lcd.print("OTKRITO po Radio");}
}
mySwitch.resetAvailable(); // сброс радио кода
} }
Блоки данных:
Каждый блок данных состоит из 16 байт, доступных для записи/чтения (кроме блока 0 сектора 0, где хранится нестираемая информация завода-изготовителя). Запись/чтение данных производится по ключу и битам доступа. Блоки данных могут конфигурироваться как блоки для обычной записи/чтения, или как блоки хранения условных единиц (функция электронного кошелька). В обычные блоки данных моно записывать любую информацию (цифры, символы и т.п.). Если блок данных конфигурирован как блок для хранения условных единиц, то работа с таким блоком происходит по командам increment/decrement. Т.е., числовое значение, хранящееся в таком блоке, можно только увеличивать и уменьшать.
Сектор
Блок
Порядковый номер блока
Функция
0
0
0
UID и информация завода-изготовителя чипа
0
1
1
Данные
0
2
2
Данные
0
3
3
Sector Trailer (Ключ A, условие доступа, Ключ B)
...
...
...
...
15
0
60
Данные
15
1
61
Данные
15
2
62
Данные
15
3
63
Sector Trailer (Ключ A, условие доступа, Ключ B)
Организация памяти чипа MIFARE 1K (16 секторов, по 4 блока в каждом секторе, по 16 байт каждый блок (в секторе 0, блоке 0 содержится информация завода-изготовителя).
сделал макет с помощью rc522 для чтения транспортных карт. всё нормально, видно дату покупки сколько поездок. а вот вопрос можно ли силами этой макетки клонировать бесконтактные карты. если нет то вообще можно ли ардуино клонировать бесконтактные брелки
клонировать можно, и они даже будут работать (например, пропуска на проход по предприятию), кроме общественного транспорта (там этот хак уже учтен и отработан).
Всё, разобрался.вот как должно быть...for (byte i = 0; i < mfrc522.uid.size; i++). Спасибо!
У вас не проверки статуса вот код для проверки буфера. Отредактируйте под себя...
Спасибо, droncs!
Удачи!
А кто-нибудь пробовал подключить rc522 через UART протокол, судя по даташиту это возможно. Где пин SDA это RX, а MISO-TX. Пробовал подключить через softwareSerial к Arduino и напрямую к USB-UART конвертёру, но порт молчит. Получалось ли у кого нибудь связаться по UART или по I2C может?
А кто-нибудь пробовал подключить rc522 через UART протокол, судя по даташиту это возможно. Где пин SDA это RX, а MISO-TX. Пробовал подключить через softwareSerial к Arduino и напрямую к USB-UART конвертёру, но порт молчит. Получалось ли у кого нибудь связаться по UART или по I2C может?
https://github.com/zodier/MFRC522-UART-Arduino
Спасибо за ссылку! А нет ли статьи какой-нибудь к этой библиотеке или описания? А то пример слишком уж скудный и не собирается... Не могу понять в чём причина.
Доброго дня всем.
Нужна помощ. Надо поменять распиновку в скетче чтобы было как внизу
* -----------------------------------------------------------------------------------------
* Arduino |
* Mega | НЕОБХОДИМО
* Signal Pin | ПОМЕНЯТЬ НА
* -----------------------------------------------------------------------------------------
* RST/Reset 5 | 7
* SPI SDA/SS 53 | 53
* SPI SCK 52 | 51
* SPI MOSI 51 | 49
* SPI MiSO 50 | 47
Где в в скетче прописаны номера пин-ов для SCK, MOSI, MiSO.
Это аппаратный интерфейс SPI. Если его поменять на програмный - придется переписать функции передачи данных.
Я это имел виду
Я это имел виду
Библиотеку ковырять нужно...
Вам придется заменить функции SPI.begin(), SPI.transfer(), SPI.read(), на свои.
SPI.begin() - инициализация выбраных пинов, установка начального состояния. SCK - выход, MOSI - выход, MISO - вход
SPI.transfer() - манипуляция выбранными пинами для передачи 1 байта информации - установка бита на MOSI, передергивание SCK.
SPI.read() - манипуляция выбранными пинами для чтения информации - передергивание SCK, чтение бита с пина MISO
Код можете найти погуглив на тему Software SPI
Не получается подключить leonardo к шилду RFID. RST подключаем к RESET leonardo? а в коде как нужно писать тут
библиотека вот
https://github.com/miguelbalboa/rfid
в начале каждого примера расписано что и куда подключать
библиотека вот
https://github.com/miguelbalboa/rfid
в начале каждого примера расписано что и куда подключать
библиотека уже скачана эта, я подключил согласно примеру. у меня затруднения в другом как в коде прописать
под леонардо
оставляйте как есть, т.е. 9, и попробуйте загрузить в плату, но подключить к reset пину
оставляйте как есть, т.е. 9, и попробуйте загрузить в плату, но подключить к reset пину
у меня нет леонардо, попробуйте подключить rst к 9 пину, по дш rst пин должен быть подключен к выводу который может шим
у меня нет леонардо, попробуйте подключить rst к 9 пину, по дш rst пин должен быть подключен к выводу который может шим
пробывал, порт перестает определяться в программе
Хорошего дня! Модуль RC 522, как в посте #98, 8 пинов. В принципе рабочий. Подскажите для чего pin(5) - RQ?
при работе с Arduino он не используется.
Господа, нужно сделать бюджетное сохранение списка карточек.
Т.е. просто список, какой сомый простой способ для этого, сопоставление ID карты можно и потом сделать.
Есть на алиэспресс дешевые считыватели, я так понимаю они заменяют ардуинку + сабж. Какой софт можно использовать?
На выходе хочу получить что-то вроде этого:
Понедельник:
Вторник:
Всем заранее спасибо
А остальные пины у вас походу не подключенны.
А остальные пины у вас походу не подключенны.
у меня ещё по этому вопросу было сомнение , не видел в коде заданых пинов
но подумал что так должно быть поскольку смотрел видео в ютюбе и другие стати все писали код толь с этими пинами
возможно они на апаратной части заданы по умолчанию ?
я их подключал к 51 53 и.д.
у меня ATMEGA 2560
я почему-то думал что если есть такие строки в коде и нет отдельно заданых пинов то это по умолчанию заданы пин на апаратном уровне
#include <SPI.h>
SPI.begin();
программно они подключены в библиотеке.
А физически ты из подключил?
ну конечно, как на картинке ниже
заработало
подвел проводок все прозвонил а один забыл и тут он мне сделал
не могу понять почему ен читает метрополитеновскую карту, киевский метрополитен
может кто-то пытался считать карту метро этим ридером ?
у меня карты московского метро не читает.
может кто-то пытался считать карту метро этим ридером ?
Я считывал и номер парсил и дату
Хотя дата не верно расчитвывается, надо было дни перевести в секунды и как юникстайм счеитать.
не пробовали ради интереса поправить количество поездок/дней ?
может кто-то пытался считать карту метро этим ридером ?
Я считывал и номер парсил и дату
Хотя дата не верно расчитвывается, надо было дни перевести в секунды и как юникстайм счеитать.
не пробовали ради интереса поправить количество поездок/дней ?
Почитай статейку может чтото прояснишь для себя http://news.metro.ru/hk112008.html
да я её читал, как раз после того как тут написал ))
но думаю что вероятность все таки есть, когда то делал себе восстановление проездного(перестал работать) и в тот момент видел как они это делают.
Сначала ставят свою карту (работника метро) на ридер потом ставят мою карту и туда зашивают скопированый ранее код
Но скорее всего что принцип у нашего метро и московского один и тот же
да я её читал, как раз после того как тут написал ))
но думаю что вероятность все таки есть, когда то делал себе восстановление проездного(перестал работать) и в тот момент видел как они это делают.
Сначала ставят свою карту (работника метро) на ридер потом ставят мою карту и туда зашивают скопированый ранее код
Но скорее всего что принцип у нашего метро и московского один и тот же
Доброго дня.
Как визуально отличить ключи RFID 13,5 мгц от 125 кгц?
Доброго дня.
Как визуально отличить ключи RFID 13,5 мгц от 125 кгц?
Визуально никак. Они одинаковые по размерам.
На 125кгц под ардунку какой лучше читальщик брать? Или он всего один тот что с рамкой?
На 125кгц под ардунку какой лучше читальщик брать? Или он всего один тот что с рамкой?
Я пользовался RDM6300(он может только читать, записывать у него не предусмотрено) тот что с рамкой, другими пока не пользовался.
Последний вопрос.
Чем задаётся время залипания магнита или это по аналогиии движения серв. двигателя?
Последний вопрос.
Чем задаётся время залипания магнита или это по аналогиии движения серв. двигателя?
Хоть код покажи, а то гадание на кофейной гуще.
Вопрос пока снят, мне одноразовое действие надо (свойство замка).
Установлю, пойдёт не так, извини, спрошу опять.
Уже конкретно с кодом.
помогите разобраться.
собрал систему доступа на RFID. всё работало отлично. решил добавить, чтоб и с радио брелка открыть можно было.
в месте они в одном коде не работают, радио кнопка и NFC, а по отдельности, если заремить, пол кода, вполне даже быстро. вот если за ремить с 37 по 56 строки , Радио брелок открывает замок. вот если оставить как есть то только, карты доступа. а Радио доступ отазывается работать. и после После 56 строки ничего не работает. Ардвинка на код не ругается.
подскажите как заставить их работать, чтоб и карта доступа работала и радио брелок. конечно не синхронно. а на выбор. у кого есть карта, и удалённо с радио брелка . Что не так с этим кодом. возможно что тут конфликт библиотек ??
Здравствуйте!
Подскажите, пожалуйста знающие люди!
В наличии: ардуино уно (клон) + rfid-rc522 + библиотека https://github.com/miguelbalboa/rfid + брелок S50 1K UID сменный https://ru.aliexpress.com/item/UID-Changeable-1K-S50-Chinese-Magic-Card-Back-Door-LIBNFC-13-56Mhz-ISO14443A-Block-0-Sector/32529497211.html?spm=2114.13010608.0.0.s6xKJj
Без проблем записал нужный UID. А вот записать инфу в блок 0 сектор 0 не могу (только UID).
Вообще возможно с помощью вышеописанного полностью перезаписать сектор 0 блок 0?
Спасибо.
нашел ответ сам: http://www.neftocard.ru/articles/mifare/organizatsiya-pamyati-mifare-classic.php
Блоки данных:
Каждый блок данных состоит из 16 байт, доступных для записи/чтения (кроме блока 0 сектора 0, где хранится нестираемая информация завода-изготовителя). Запись/чтение данных производится по ключу и битам доступа. Блоки данных могут конфигурироваться как блоки для обычной записи/чтения, или как блоки хранения условных единиц (функция электронного кошелька). В обычные блоки данных моно записывать любую информацию (цифры, символы и т.п.). Если блок данных конфигурирован как блок для хранения условных единиц, то работа с таким блоком происходит по командам increment/decrement. Т.е., числовое значение, хранящееся в таком блоке, можно только увеличивать и уменьшать.
сделал макет с помощью rc522 для чтения транспортных карт. всё нормально, видно дату покупки сколько поездок. а вот вопрос можно ли силами этой макетки клонировать бесконтактные карты. если нет то вообще можно ли ардуино клонировать бесконтактные брелки
У некоторых продавцов на Aliexpresse есть в продаже с перезаписываемым 0 блок и 0 сектором. Ищите там.
клонировать можно, и они даже будут работать (например, пропуска на проход по предприятию), кроме общественного транспорта (там этот хак уже учтен и отработан).
У некоторых продавцов на Aliexpresse есть в продаже с перезаписываемым 0 блок и 0 сектором. Ищите там.
брелки или rс522? почему то в интернете есть огромное количество как считать данные, но ни одного(я искал) где идёт запись на "болванку" вот это кстати можно считать болванкой? https://ru.aliexpress.com/item/5PCS-Yellow-RFID-Sensor-Proximity-Card-IC-Key-Tags-Keyfobs-Keychain-13-56MHz/32745066583.html?spm=2114.13010608.0.0.Ha8FpB