RC522を備えたArduinoRFIDロック-MIFAREプロトコル13.56Mhz
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 |
このプロジェクトについて
ArduinoUNOとRFIDRC522(MIFAREプロトコル)を使用してRFIDロックを簡単に作成する方法を紹介します。このプロジェクトはここでも見ることができます:ArduinoRFIDロック。
ステップ1:コンポーネント <図>
- Arduino UNO
- RFID RC522
- TG9eサーボ
- LED RGB-WS2812
- 2 xRFIDタグ
ステップ2:回路図 <図>
ステップ3:ソフトウェア
最初に、必要なすべてのライブラリをインポートします。
#include #include #include #include // -------------- --------------------------------------------
次に、構成して初期化します: UART速度
rc522を開始します。サーボをゼロに設定しました。
void setup(){Serial.begin(115200); SPI.begin(); mfrc522.PCD_Init(); Serial.println( "詳細:http://geek.adachsoft.com"); Serial.println( "ArduinoRFIDロック"); Serial.println( ""); myservo.attach(SERVO_PIN); myservo.write(0); pixel.begin(); pixel.setPixelColor(0、32、32、32); pixel.show(); delay(500); pixel.setPixelColor(0、0、0、0); pixel.show(); } // ----------------------------------------------- -----------
UIDタグを読み取った後、それを適切なUIDと比較します。 UIDが同じ場合は、サーボを開始します。
if(content =="77-39-50-39"){Serial.println( "許可されたアクセス"); myservo.write(90); pixel.setPixelColor(0、0、32、0); pixel.show(); delay(1000); myservo.write(0); pixel.setPixelColor(0、0、0、0); pixel.show(); } else {Serial.println( "アクセスが拒否されました"); pixel.setPixelColor(0、32、0、0); pixel.show(); delay(500); pixel.setPixelColor(0、0、0、0); pixel.show(); } // ----------------------------------------------- -----------
ソースコードのダウンロード:RFID_with_servo.ino
ステップ4:終了して確認する
コード
- RFID_with_servo.ino
RFID_with_servo.ino Arduino
/ * * http://geek.adachsoft.com * * * * /#include#include #include #include #define LED_PINA0Adafruit_NeoPixelピクセル=Adafruit_NeoPixel(1、LED_PIN、NEO_GRB + NEO_KHZ800);#define SERVO_PIN 3Servo myservo; //サーボを制御するサーボオブジェクトを作成します#defineSS_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( "ArduinoRFIDロック"); Serial.println( ""); myservo.attach(SERVO_PIN); myservo.write(0); pixel.begin(); pixel.setPixelColor(0、32、32、32); pixel.show(); delay(500); pixel.setPixelColor(0、0、0、0); pixel.show();} void loop(){//新しいカードを探すif(!mfrc522.PICC_IsNewCardPresent()){return; } //カードの1つを選択if(!mfrc522.PICC_ReadCardSerial()){return; } String content ="";バイトレター; for(byte i =0; i
回路図
製造プロセス