在本教程中,我们将设计一个读取RFID卡ID的系统。RFID代表射频识别。每张卡中都嵌入了一个唯一的ID。这些系统具有许多应用程序,例如在办公室,大型购物中心以及仅允许拥有授权卡的人进入房间的许多其他地方。RFID在购物商场中用于阻止盗窃的发生,此处将使用RFID芯片对产品进行标记,当有人使用RFID芯片离开建筑物时,会自动发出警报,因此盗窃得以停止。RFID标签的设计尺寸与沙粒一样小。RFID认证系统易于设计并且成本低廉。如今,一些学校和学院使用RFID作为出勤记录。
所需组件
硬件: ARDUINO UNO,电源(5v),100uF电容器,按钮(两片),1KΩ电阻(两片),EM-18(RFID读取器模块),LED,JHD_162ALCD(16 * 2LCD)。
软体: arduino IDE(Arduino nightly)。
电路图和说明
在16x2 LCD中,如果有背光,则全部有16个引脚,如果没有背光,则有14个引脚。一个人可以给背光灯供电或离开。现在,在14个引脚中,有8个数据引脚(7-14或D0-D7),2个电源引脚(1&2或VSS&VDD或GND&+ 5v),第三个用于对比度控制的引脚(VEE控制字符的粗细)如图所示)和3个控制引脚(RS&RW&E)。
在电路中,您可以观察到我只接了两个控制引脚,因为他提供了更好地理解的灵活性。对比度位和READ / WRITE不经常使用,因此它们可以接地。这使LCD处于最高对比度和读取模式。我们只需要控制ENABLE和RS引脚即可相应地发送字符和数据。
LCD的连接如下所示:
PIN1或VSS接地
PIN2或VDD或VCC至+ 5v电源
PIN3或VEE接地(为初学者提供最大对比度)
ARDUINO UNO的PIN4或RS(寄存器选择)至PIN8
PIN5或RW(读/写)接地(将LCD置于读模式可简化用户的通信)
ARDUINO UNO的PIN6或E(启用)至PIN9
ARDUINO UNO的PIN11或D4至PIN10
ARDUINO UNO的PIN12或D5至PIN11
ARDUINO UNO的PIN13或D6至PIN12
ARDUINO UNO的PIN14或D7至PIN13
在继续之前,我们需要了解串行通信。RFID模块在此以串行方式将数据发送到控制器。它具有其他通信模式,但是为了便于通信,我们选择RS232。模块的RS232引脚连接到UNO的RXD引脚。
RFID模块发送的数据如下:
现在要在RFID阅读器和Arduino Uno之间建立连接,我们需要在UNO中启用串行通信。可以使用单个命令来完成UNO中的串行通信。
|
如上图所示,RFID的通信以每秒9600位的BAUD速率完成。因此,为使UNO建立这样的波特率并开始串行通信,我们使用命令“ Serial.begin(9600);”。9600是波特率,可以更改。
现在,UNO收到数据后,就可以将其提取。该数据由命令“ data = Serial.read();”获取。通过此命令,串行数据被带到名为整数的“数据”中。
一旦将卡带到读卡器附近,读卡器将读取串行数据并将其发送到UNO,UNO将被编程为在LCD上显示该值,因此我们将在LCD上显示卡的ID。
您可以在本教程中了解有关RFID的更多信息:基于RFID的投票机,基于RFID的收费广场系统。