Windows PCをRFIDでロック/アンロック: Arduino Pro Microで作る簡易セキュリティ
必要なパーツと材料
| パーツ | 数量 | 備考 |
|---|---|---|
| Arduino Pro Micro (または Leonardo) | 1 | ATmega32U4搭載必須。Uno/Mega/Nanoでは動作しません |
| RC522 RFIDモジュール | 1 | 3.3V動作。5V直接接続厳禁 |
| 抵抗 10kΩ | 3 | 電圧分割用 (5V→3.3V) |
必要な工具
- はんだごて
使用するソフトウェア
- Arduino IDE
プロジェクト概要
PCのロック解除に毎回パスワードを入力する手間を、RFIDカード/タグをかざすだけで解消するシステムです。ATmega32U4搭載ボード (Pro Micro/Leonardo) のHID機能 (Keyboardライブラリ) を利用し、カード認証時に Win+L (ロック) とパスワード入力 + Enter (アンロック) のキーストロークを自動送信します。
RFIDの基礎
RFID (Radio-Frequency Identification) は電磁場/電波で情報をやり取りする無線技術。古くからある技術ですが、メイカーの間で実用的な応用が見直されています。
プロトタイプの組み立て (ブレッドボード)
重要: RC522は3.3V動作です。Arduinoの5V出力を抵抗分圧 (またはレギュレーター) で3.3Vに降圧してVCCに供給してください。SPIバス使用のため、以下のピンは固定です。
- MISO → ピン14
- MOSI → ピン16
- SCK → ピン15
その他の接続:
- RST → ピン5 (コードで変更可)
- GND → GND
- IRQ → 未接続
- SDA → ピン10 (コードで変更可)
スケッチの設定と書き込み
- Arduino IDEでボード「Arduino Leonardo」を選択 (Pro Microも同一扱い)
- シリアルモニタを開き (9600 bps)、カードをスキャンしてUIDを取得
- コード内の
card1変数にUIDを設定 (16進数文字列) Keyboard.print("PASSWORD")の部分を実際のWindowsパスワード/PINに変更- 書き込み直して動作確認
動作ロジック
正しいカード検出時、ロックコマンドとアンロックコマンドをほぼ同時に送信します。ロック状態ならロックコマンドは無視されアンロックが実行され、未ロック状態ならロックが実行されます (アンロックコマンドはロック処理中に無視される)。
はんだ付けとケース制作
プロトタイプ動作確認後、ユニバーサル基板にはんだ付けします。ArduinoとRFIDモジュールはソケット (ピンヘッダー) 経由で接続し、熱ダメージを防ぎます。筆者は段ボールとカーボン調シールで簡易ケースを作成しました。
注意事項
これはホビープロジェクトであり、セキュリティを保証するものではありません。 物理アクセス可能な環境での使用はリスクを理解した上で判断してください。複数カード対応や用途別パスワード設定など、コード拡張の余地は大きいです。
ソースコード
Keyboard.h, SPI.h, MFRC522.h を使用。UID取得用のスケッチと、最終的なロック/アンロックスケッチが提供されています。
回路図
配線図 (写真) が提供されています。
製造プロセス
- 銀行金庫の中身:歴史、設計、セキュリティの未来
- 運河と閘門:米国水上輸送のエンジニアリング、歴史、そして未来
- 現代ピンタンブラー錠の進化と製造
- ダイヤル式南京錠:設計、製造、歴史的進化
- Raspberry Pi 3とPubNubでリモート気象監視
- TI SensorTagをNode-RED経由でBlynkと統合 – Raspberry Pi Zero編
- Raspberry PiでPIRモーションセンサーとLEDを制御
- Bridge Shield でスマートロボットを構築:Raspberry Pi と Arduino の統合
- Windows 10 IoT Coreで音声制御コンピュータビジョンロボットを構築
- ArduinoとESP8266で作るWi-Fi対応スマートドアロック — スマホで解錠
- C# usingステートメント完全ガイド:名前空間インポート、エイリアス、静的ディレクティブ