在本教程中,我们设计了一个使用msp430 和 rfid 阅读器读取 rfid卡的系统。rfid 代表 射频识别。每张卡都有一个唯一的id,这使其成为许多身份验证应用程序的完美选择,例如在办公室,购物中心和许多其他地方,只允许持有授权卡的人进入。rfid在购物中心用于阻止盗窃的发生,产品将被标记为rfid芯片,如果有人带着rfid芯片离开建筑物,则会自动发出警报,从而停止盗窃。rfid标签设计得像沙粒一样小。rfid认证系统易于设计且成本低廉。如今,一些学校和学院使用rfid作为出勤登记。
所需材料
1. msp430 启动板
2. em-18 (无线射频识别读写器模块)
3. 16*2液晶显示器
4. 电位器
5. 面包板
6. 跳线
软件:energia ide
em-18 无线射频识别读写器
每张rfid卡中都嵌入了一个唯一的id,rfid阅读器用于读取rfid卡号。em-18 rfid阅读器的工作频率为125 khz,并配有片上天线,可采用5v电源供电。它提供串行输出以及 weigand 输出。范围约为8-12厘米。串行通信参数为9600bps,8个数据位,1个停止位。
em-18 rfid阅读器提供的输出为12位ascii格式。在 12 位数字中,前 10 位数字是卡号,后两位数字是卡号的异或结果。最后两位数字用于错误检查。
例如,从读卡器读取的卡号是0200107d0d62,那么卡上的卡号将如下所示。
02 – 序言
00107d0d = 十进制1080589。
62 是 (02 xor 00 xor 10 xor 7d xor 0d) 的 xor 值。
因此,卡上的数字是0001080589。
msp430 rfid阅读器电路图和工作原理图
我们将使用 msp430 的硬件 uart,因此,请确保板上的 rxd 和 txd 跳线处于硬件 uart 模式。然后将em-18的发射连接到msp430的rxd(p1.1)。
在进一步讨论之前,我们需要了解串行通信。这里的rfid模块以串行方式将数据发送到控制器。它具有其他通信模式,但为了便于通信,我们选择rs232。模块的rs232引脚连接到msp430的rxd引脚。
rfid 模块发送的数据如下:
现在,为了在rfid阅读器和msp430之间建立连接,我们需要在msp430中启用串行通信。msp430 中的串行通信可以通过使用单个命令来完成。
serial.begin(9600);
data = serial.read();
如上图所示,rfid的通信是通过每秒9600比特的波特率完成的。因此,为了使msp430建立这样的波特率并开始串行通信,我们使用命令“serial.begin(9600);”。这里 9600 是波特率,是可变的。
现在,一旦设置波特率,msp就可以接收串行数据了。此数据由命令“data = serial.read();”获取。通过此命令,串行数据以名为整数的“数据”形式获取。
一旦将卡靠近读卡器,读卡器读取串行数据并将其发送到msp,msp将被编程为在lcd中显示该值,因此我们将在lcd上具有卡的id。
代码和说明
我们将在energia ide中编写代码。它与arduino ide相同,易于使用。在这个项目的末尾给出了完整的代码,在这里我们解释了它的几个部分。
首先,包括用于lcd显示的库,并声明字符数组以存储rfid号码。
#include
liquidcrystal lcd(p2_0, p2_1, p2_2, p2_3, p2_4, p2_5);
char input[12];
在设置功能中,通过定义波特率9600来启用lcd和串行通信。
void setup()
{
lcd.begin(16, 2);
serial.begin(9600);
...
..
在循环功能中,我们将检查串行数据是否可用。如果可用,将数据存储在 serial.read() 的输入[计数] 数组中,并使用 while 循环将其逐个显示在 lcd 上。
while(serial.available() && count < 12) // read 12 characters and store them in input array
{
input[count] = serial.read(); //storing 12 characters one by one
serial.print(input[count]);
lcd.print(input[count]);
delay(300);
count++;
if (count==12)
{
lcd.print( );
count = 0; // once 12 characters are read get to start and wait for second id
…
…
这就是我们使用msp430启动板在lcd上读取和显示rfid号码的方式。
24
TE Connectivity推出新SOLARLOK连接器 安装快速简便
为什么车规级的芯片,就那么难做呢?
MEMS器件类型和MEMS应用
基于计算机技术实现铜箔基板产品质量的智能检测系统的设计
使用MSP430启动板在LCD上读取和显示RFID号码的方式
如何测量蓄电池的充电电流?
奥海科技获充电器类产品全球首批PD3.1认证证书
压力传感器在无创血压测量中的技术应用
ChatGPT到底有何不同
什么是等效电路模型?等效电路元件有哪些?
SystemVerilog的覆盖率建模方式
政策赋能 深圳坪山区科技产业规划及发展概况
设计和制造的较量 IC分为有产者和无产者
小米6跑分超110万?鲁大师官方:网友PS的图片
夏普最快一季度量产OLED 并推出OLED屏智能手机
示波器怎么测电流波形 示波器可以测量哪些物理参数
细分市场科普:光伏产业中的温度传感器
不同光纤芯数,有什么不同含义?
使用技巧大揭秘,轻松搞定腾达路由AC10