Сегодня я пошагово опишу процесс подключения RFID модуля RDM630 к Arduino Mega 2560.
Данный модуль может быть использован для создания системы радиочастотной идентификации с использованием RFID чипов.
Области применения:
- Системы контроля и управления доступом
- Наблюдение за перемещением по объектам
- Инвентаризация на складах
- Электронные паспорта
- Транспортные платежи
- и т.д.
Для начала познакомлю вас с самим модулем RDM630.
Технические характеристики RFID модуля RDM630
- Назначение – чтение карт EM4100 и TK4100
- Напряжение питание модуля – 5 Вольт.
- Потребляемый ток- менее 50 мА
- Скорость передачи данных – 9600
- Рабочая частота – 125 кГц
- Интерфейс – RS232
- Дальность считывания – 50 мм (зависит от типа RFID чипа)
Datasheet RDM630
RDM630.pdf (83,0 KiB, 2 444 hits)
Комплект поставки RFID модуля RDM630
В комплект поставки входят:
- RFID модуль RDM630
- Антенна
Назначение выводов RFID модуля RDM630
На модуле расположены три разъема:
Назначение выводов P1:
- 1 – TX
- 2 – RX
- 3 – не используется
- 4 – GND
- 5 - +5 V
Назначение выводов P2:
- 1 – антенна - вывод 1
- 2 – антенна – вывод 2
Назначение выводов P3:
- 1 – LED
- 2 - +5 V
- 3 – GND
Подключение RFID модуля RDM630 к Arduino Mega 2560
Схема подключения достаточно проста и не имеет никаких заморочек. Единственное, что я изменил в стандартном варианте подключения – это перенес, с помощью библиотеки SoftwareSerial, пин передачи данных с RX вывода Arduino на 50-й дискретный пин. Это позволило не отключать RDM630 от Arduino при загрузке скетча.
- 1 пин (TX) RDM630 – к дискретному выводу 50 на Arduino
- 4 пин (GND) RDM630 – к GND на Arduino
- 5 пин (+5 V) RDM630 – к +5 V на Arduino
Получилось как-то так:
Проверочный скетч для работы с RFID модулем RDM630
В данном коде реализовано считывание данных с RFID чипов и вывод их в COM порт. Сразу уточню, что выводимая информация - это не код карты, а полностью все данные.
Весь код я прокомментировал, поэтому вопросов у вас возникнуть не должно.
#include <SoftwareSerial.h>
int input;
String s;SoftwareSerial RFIDSerial(50, 51); // RX, TX
void setup()
{
// Очищаем буфер
Serial.flush();
// Устанавливаем скорость работы с портом
Serial.begin(9600);
// Устанавливаем скорость работы с модулем RDM630
RFIDSerial.begin(9600);
s="";
}void loop()
{
// если есть данные, то
if (RFIDSerial.available() > 0) {
// читаем блок данных с модуля RDM630 и заносим их в переменную input
input = RFIDSerial.read();
// присваиваем все считанные в переменную input значения переменной s, так как за 1 цикл loop мы получаем 1 значение, а их 12
s+=input; // то же самое, что и s=s+input;
// если длинна кода равна 26 символам (в памяти чипа можно разместить 26 байт информации), то
if (s.length()==26) {
// выводим данные
Serial.println(s);
// очищаем переменную
s="";
}
}
}
При поднесении RFID чипов к антенне модуля RDM630, в Мониторе порта мы увидим значения кодов RFID чипов:
На всех имеющихся у меня в наличии чипах первый символ в выводимых данных всегда был 2, а последний 3. По информации из документации, так будет абсолютно на всех картах.
Формат данных RFID
У китайцев я покупал RFID чипы, которые были выполнены в виде карт и брелков.
При покупке RFID чипов обратите внимание на их частоту. Она должна быть 125 кГц, а не 13,56 МГц или 860-930 МГц.
Сам RFID модуль RDM630 я покупал у китайцев на dx.com за $13.5.
Функциональные отличия RFID модулей серии RDM6XX
- RDM611 - Только для чтения карт TI 134.2KHz
- RDM630 - Только для чтения карт EM4100/TK4100
- RDM650 - Чтение и запись карт TK5557/5567
- RDM660 - Чтение и запись Hitags-256/2048 Hitags-карт
- RDM671 - Только для чтения карт EM4005/EM4105
- RDM680 – Чтение и запись карт EM4569/EM4469
На этом всё! Если возникнут вопросы – задавайте их в комментариях.
Спасибо. Интересна статься, я бы с удовольствием почитал статью о ток как сделать считыватель рфид карт и записыватель...
Этот модуль не поддерживает запись чипов
спасыбо автору ...
можете выложить исходники программы...
заранее благодарень...
не за что
исходники же есть на страничке - скопируйте
я не очень развераюсь програмировании программ для вида...
можете прислать в архиве рабочии исходник....
отправил
подскаэиье пожалуйста, как узнать какого типа карточка иментся у меня в наличии,? для того чтооооо бы знать какой райдер поеупать.
Спасибо
Даже не знаю. На карточках и брелках, которые есть у меня, по поводу используемого чипа и частоты информации никакой не написано.
Спасибо за статью! Подскажите, а как анализировать полученные данные? Чип вернул массив из 26ти строк, 4 разных комбинации. Данный массив одинаковый всегда и уникален для каждого чипа?
1 строка - это данные с 1 карты
все строки должны быть одинаковы для 1-го чипа
возможно, какая-то наводка вносит свои коррективы
Спасибо!
Kakoy rfid chip obladaet minimalnym rassoyaniem shchityvaniya?
Автор, спасибо за статью! Рфид заработал.
У меня есть еще радиочастотные метки какого то другого стандарта, тоже на 125 кГц. Конструкционно 1 в 1, только чип поменьше, толщина катушки раза в 2 меньше. Только я их прочитать не могу.
Осциллографом мерил, с rdm630 не идут биты. Пробовал разные скорости, китайский брелок и карта читаются, а неизвестный нет. Может знаешь в чем загвоздка?
Буду признателен, если подскажешь в каком направлении двигаться!
не сталкивался с такой проблемой
Здравствуйте.
Подскажите, а к аппаратному порту можно подключить или только к программному?
конечно
можно сразу на COM порт, а питание подтянуть от USB
Скажите, а как переключаться между стандартами?
по мануалу плата выдает Wiegand26 (соответственно выдаются 3 последних байта кода карты(24 бита)) или RS232 когда выдается весь код (40 бит - 5 байт)
Нигде в мануале не указано как осуществлять выбор...
Заранее спасибо
а как скопировать и записать на другой чип домофонный на плптеRC522,считывать я понял как а вот как клонитровать я не знаю может есть видео?а то видео в основном как считать а мне записать нужно пару
Спасибо всё работает!!
Скажите пожалуйста как можно сохранит код карти на еепром, после чтение карты сравнит с картой в еепром, и если совподает сгорел светодиод? заранее спасибо.