将RDM6300 RFID阅读器与Arduino连接的方式

RF/无线

1773人已加入

描述

  RFID(射频识别的缩写)标签是一种身份识别系统,它使用射频中的电磁波来传输数据。一个简单的 RFID 系统仅由两个组件组成:标签本身和读/写设备。读/写设备由射频模块和产生高频电磁场的天线组成,而标签通常是包含存储和处理信息的微芯片的无源设备。

  在本教程中,我们将连接RDM6300 RFID 阅读器模块与 Arduino Nano。RDM6300 RFID 阅读器是一种频率为 125 kHz 的 RFID 模块。该 RFID 模块可以从 125 kHz 兼容的只读标签读取数据并读/写 125 kHz 卡。

  将 RDM6300 与 Arduino 连接所需的组件

  Arduino纳米

  RDM6300 RFID阅读器模块

  125 kHz 标签

  跳线

  面包板

  RDM6300 RFID阅读器模块

  RDM6300 125 kHz EM4100 RFID 卡 ID 读取器模块设计用于从 125 kHz 兼容标签读取和写入数据。它可用于工作场所和住宅的监控系统、个人身份验证、访问管理、防伪、数字玩具和输出控制系统等。RDM6300系列非接触式RFID板卡采用先进的射频接收电路和内置MCU架构,结合高效解码算法,读取EM4100及所有兼容卡。它使用 9600 波特率的串行 TTL 来传输 RFID 标签数据。任何带有 UART 串​​行外设的微控制器都可用于此 RFID 阅读器。

RFID阅读器

  RDM6300 RFID 阅读器模块引脚分配

RFID阅读器

  RDM6300 RFID 阅读器模块规格:

  工作频率:125KHZ

  波特率:9600

  接口:TTL电平RS232格式

  工作电压:DC 5V

  工作电流:《50mA

  接收距离:20~50mm

  尺寸(毫米):38.5 x 20

  重量:7g

  RDM6300 RFID 模块类似于 EM-18 RFID 阅读器模块。两个模块具有相同的工作频率,即 125 KHz,并支持串行 RS232/TTL 输出,而 RC522 的工作频率为 13.56 kHz。

  将 RDM6300 与 Arduino 连接的电路图

  RDM6300 RFID阅读器模块与Arduino的接口示意图如下:

RFID阅读器

  如图所示,将 Arduino 连接到 RDM6300 RFID 阅读器模块。RDM6300 模块的 5V 和 GND 引脚连接到 Arduino Nano 的 5V 和 GND 引脚,而模块的 TX 引脚连接到 Nano 的 D6。RX 引脚不是必需的,因为在本教程中我们不向 RFID 模块发送数据。最后,将天线以任意极性连接到 ANT1 和 ANT2 引脚。

RFID阅读器

为RDM6300 RFID 阅读器编程 Arduino

使用 Arduino Nano 和 RDM6300 的 RFID 读卡器代码非常简单。这里我们使用rdm6300 库来读取数据。完整的代码在文档末尾给出。代码解释如下:

通过包含 RDM6300 RFID 阅读器库来启动代码。

 

#include 

 

然后定义读取传感器数据和控制 LED 所需的所有必要引脚。

 

#define RDM6300_RX_PIN 6

 

然后在setup()函数中,将串行监视器初始化为 9600 以进行调试。此外,初始化 RFID 阅读器模块。

 

无效设置()
{
  序列号.开始(9600);
  rdm6300.begin(RDM6300_RX_PIN);
  Serial.println("\n在 rdm6300 附近放置 RFID 标签...");
}

 

然后在loop()函数中,检查标签是否在附近,如果是,则读取标签号并将其打印到串行监视器上。

 

无效循环()
{
  如果 (rdm6300.update())
    Serial.println(rdm6300.get_tag_id(), HEX);
  延迟(10);
}

 

  测试 RDM6300 RFID 阅读器

  准备好代码和硬件后,将 Arduino 连接到笔记本电脑并上传代码。之后,以 9600 的波特率打开串口监视器,扫描模块天线上的 RFID 标签。标签号将打印在串行监视器上。

RFID阅读器
#include


#define RDM6300_RX_PIN 2

#define READ_LED_PIN 13

Rdm6300 rdm6300;

无效设置()

{

序列.开始(9600);

pinMode(READ_LED_PIN,输出);

数字写入(READ_LED_PIN,低);

rdm6300.begin(RDM6300_RX_PIN);

Serial.println("\n在 rdm6300 附近放置 RFID 标签...");

}

void loop()

{

/* 如果 tag_id 非零,update() 返回 true - 一个新标签就在附近!*/

if (rdm6300.update())

Serial.println(rdm6300.get_tag_id(), HEX);

digitalWrite(READ_LED_PIN, rdm6300.is_tag_near());

延迟(10);

}
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分