工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

ArduinoとRC522で作るセキュアなRFIDドアロック(MIFARE 13.56MHz)

必要な部品と材料

部品数量備考
Arduino UNO1メインマイコン
RFID RC522モジュール1MIFARE 13.56MHz対応
TG9eサーボモーター1錠前駆動用
Adafruit NeoPixelリング(WS2812 5050 RGB LED)1ステータス表示用(1ピクセル)
RFIDタグ2認証用・テスト用

プロジェクト概要

Arduino UNOとRFID RC522リーダーを使用し、登録済みのRFIDタグをかざすとサーボモーターが作動して錠を開ける電子ロックシステムを構築します。NeoPixel LEDで認証結果を視覚的に表示します(緑:許可、赤:拒否)。

配線図

回路図を参照してください。主な接続:

ソフトウェア解説

ライブラリのインクルードと初期化

#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#include <Adafruit_NeoPixel.h>

#define LED_PIN A0
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, LED_PIN, NEO_GRB + NEO_KHZ800);

#define SERVO_PIN 3
Servo myservo;

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);

セットアップ

void setup() {
  Serial.begin(115200);
  SPI.begin();
  mfrc522.PCD_Init();
  Serial.println("For more: https://geek.adachsoft.com");
  Serial.println("Arduino RFID lock");
  Serial.println("");
  
  myservo.attach(SERVO_PIN);
  myservo.write(0); // 施錠位置
  
  pixels.begin();
  pixels.setPixelColor(0, 32, 32, 32); // 白色で起動表示
  pixels.show();
  delay(500);
  pixels.setPixelColor(0, 0, 0, 0);
  pixels.show();
}

メインループ:UID読み取りと認証判定

void loop() {
  // 新しいカードを検出
  if (!mfrc522.PICC_IsNewCardPresent()) return;
  if (!mfrc522.PICC_ReadCardSerial()) return;

  // UIDを文字列化(例:"77-39-50-39")
  String content = "";
  for (byte i = 0; i < mfrc522.uid.size; i++) {
    content.concat(String(mfrc522.uid.uidByte[i], HEX));
    if (i < mfrc522.uid.size - 1) content += "-";
  }
  content.toUpperCase();
  
  Serial.println();
  Serial.println("UID tag :'" + content + "'");

  // 認証判定(ハードコードされたUIDと比較)
  if (content == "77-39-50-39") {
    Serial.println("Authorized access");
    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("Access denied");
    pixels.setPixelColor(0, 32, 0, 0); // 赤
    pixels.show();
    delay(500);
    pixels.setPixelColor(0, 0, 0, 0);
    pixels.show();
  }
  delay(1000);
}

改良のポイント

回路図

配線図を参照してください。

製造プロセス

  1. Arduinoで作るセキュアなRFIDロック – ステップバイステップガイド
  2. Python連携で信頼性向上: Arduino RFID勤怠管理システム
  3. K30 CO2センサで室内空気質をリアルタイム監視する
  4. 1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
  5. スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
  6. ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
  7. DFRobot静電容量式指紋センサーをArduino/ESP8266で使う – 登録・認証・削除の完全ガイド
  8. Arduino MegaとNextion HMIで作る高機能ウェザーステーション
  9. Arduinoベースのヌンチャク操作6自由度ロボットアームキット
  10. ハックスペース向けスマート電子チェックインシステム
  11. Arduino UNOとEthernetシールドで太陽放射を測定する自作ピラノメーター