带有 RC522 的 Arduino RFID 锁 - MIFARE 协议 13.56 Mhz
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 |
关于这个项目
我将向您展示如何使用 Arduino UNO 和 RFID RC522(MIFARE 协议)轻松制作 RFID 锁。这个项目也可以在这里看到:Arduino RFID锁。
第 1 步:组件
- Arduino UNO
- RFID RC522
- TG9e伺服
- LED RGB - WS2812
- 2 x RFID 标签
第 2 步:示意图
第 3 步:软件
一开始,我们导入所有需要的库。
#include #include #include #include //-------------- -----------------------------------------
然后我们配置和初始化:UART speed
我们启动rc522。我们将伺服设置为零。
void setup() { Serial.begin(115200); SPI.begin(); mfrc522.PCD_Init(); Serial.println("更多信息:http://geek.adachsoft.com"); Serial.println("Arduino RFID 锁"); Serial.println(""); myservo.attach(SERVO_PIN); myservo.write(0);像素。开始(); pixel.setPixelColor(0, 32, 32, 32);像素显示();延迟(500); pixel.setPixelColor(0, 0, 0, 0);像素显示(); }//---------------------------------------------- -----------
读取 UID 标签后,我们将其与正确的 UID 进行比较。如果UID相同则启动舵机。
if( content =="77-39-50-39" ){ Serial.println("授权访问"); myservo.write(90);pixels.setPixelColor(0, 0, 32, 0);pixels.show();delay(1000);myservo.write(0);pixels.setPixelColor(0, 0, 0, 0);pixels.show(); }else{ Serial.println("访问被拒绝"); pixel.setPixelColor(0, 32, 0, 0);像素显示();延迟(500); pixel.setPixelColor(0, 0, 0, 0);像素显示(); }//---------------------------------------------- -----------
下载源代码:RFID_with_servo.ino
第 4 步:结束并检查
代码
- RFID_with_servo.ino
RFID_with_servo.inoArduino
/* * http://geek.adachsoft.com * * * */#include#include #include #include #define LED_PIN A0Adafruit_NeoPixel 像素 =Adafruit_NeoPixel(1, LED_PIN, NEO_GRB + NEO_KHZ800);#define SERVO_PIN 3Servo myservo; // 创建舵机对象来控制舵机 #define SS_PIN 10#define RST_PIN 9MFRC522 mfrc522(SS_PIN, RST_PIN); // 创建 MFRC522 instance.void setup() { Serial.begin(115200); SPI.begin(); mfrc522.PCD_Init(); Serial.println("更多信息:http://geek.adachsoft.com"); Serial.println("Arduino RFID 锁"); Serial.println(""); myservo.attach(SERVO_PIN); myservo.write(0);像素。开始(); pixel.setPixelColor(0, 32, 32, 32);像素显示();延迟(500); pixel.setPixelColor(0, 0, 0, 0); pixel.show();}void loop(){ //寻找新卡片 if ( !mfrc522.PICC_IsNewCardPresent() ){ return; } //选择一张卡片 if ( !mfrc522.PICC_ReadCardSerial() ) { return; } 字符串内容="";字节字母; for( byte i =0; i
示意图
制造工艺