您將走到一個只有鑰匙才能看到的隱形鎖,然后甚至不動它就打開它。聽起來不錯?今天,我們將以Arduino為骨干和一些便宜的組件來構建基于RFID的簡單智能鎖。
該項目背后的技術已在許多行業中使用。在現代化的辦公室工作或使用公共交通工具的任何人都可能每天都會使用它。 RFID(射頻識別)可以識別存儲在卡或加密狗中芯片上的數據,并將其與已掃描的標簽列表進行比較。
我們將建立一個測試電路,以控制使用Mifare MFRC522閱讀器模塊,用于打開和關閉鎖。我們將使用主鑰匙卡添加或刪除對不同標簽的訪問,并創建一個簡單的LED讀數以告訴我們系統中正在發生什么。
最后,我們將添加一個螺線管來充當
MFRC522讀取器可以將數據讀取和寫入RC522芯片,并將這些數據存儲在Arduino的EEPROM中。
這將是對任何DIY設置的重要補充,尤其與任何基本的家庭安全系統有關。它可以與DIY警報系統或DIY安全監控系統一起使用。
您將需要
Arduino。我們使用了Uno,盡管任何Arduino電路板或克隆都足夠。
3 x 220歐姆電阻
1 x 10k歐姆電阻
邏輯級N通道Mosfet
MFRC522模塊,至少要讀取兩個卡/卡。大多數都帶有一個,并且可以不到2美元的價格購買,但是您可能已經以公共旅行卡的形式在錢包中放了一個。
紅色,藍色和綠色的LED li》
12v電磁閥($ 2)
12v電源
面包板和連接線
MFRC522模塊
此設置的關鍵是便宜的MFRC522模塊,該卡同時帶有包含 s50 芯片的卡和密鑰卡,每個模塊都存儲有自己的唯一永久標識號(UID)。它們在功能上都是相同的,只是形狀不同。
從庫管理器中搜索 MFRC522 庫開始并安裝它。或者,您可以下載庫并手動將其安裝到庫文件夾。如果您是Arduino的新手,您可能會覺得入門入門很有用!
該庫還包含一個Fritzing圖,我已注釋了該圖,指示如何將模塊連接到Arduino。
《圖id =“ attachment_636607” aria- describeby =“ caption-attachment-636607” class =“ wp-caption aligncenter”》
圖片來源:通過Github的Miguel Balboa
請注意:該評估板的工作電壓為3.3V,而不是5V,因此請務必將其連接至
要測試設置,請從文件》示例》 MFRC522》 DumpInfo 中打開 DumpInfo 草圖并將其上傳到Arduino板上。打開串行監視器,然后將其中一個RFID對象放在讀取器上。您應該看到以下內容:
如果讀取時出現錯誤,提示MIFARE_Read() failed: Timeout in communication或PCD_Authenticate() failed: Timeout in communication,請不要不用擔心這很可能意味著您沒有將標簽放在讀取器上的時間太長,無法讀取所有數據。只要您獲得卡的UID(只要標簽在讀取器的范圍內,就會讀取該卡),它將與該項目一起使用。如果您根本無法閱讀,請檢查接線,然后重試。
電路的其余部分
現在,我們已經驗證了我們模塊的功能,請添加其余部分的組件。像這樣連接您的組件:
我們的12v電源(目前未插入)連接到面包板的導軌。將Arduino GND引腳和MFRC522 GND引腳連接到接地軌。
LED通過220歐姆電阻連接到引腳2、3和4以及接地軌。
我們的MOSFET的柵極腳(圖左)連接到引腳5,并通過10k歐姆電阻接地。漏極腳(中間)連接到12v螺線管的負極,源極腳(右邊)連接到接地軌。
連接12v電磁閥的正極和VIN。 Arduino連接到試驗板上的12v導軌。
使用此設置,每當我們從Arduino向MOSFET發送HIGH信號時,它將允許電流流到電磁閥。盡管您需要一個降壓變壓器來為Arduino提供高于12V的電壓,但是并沒有阻止您使用功率更高或功率更大的螺線管的功能。還要密切注意MOSFET的數據表,以確保不會使它過載。
一旦將它們放在一起,它應該看起來像這樣:
雖然沒有必要,但我創建了一個小裝備來模擬廢木門鎖。
修改草圖
電路已建立,是時候設置我們的Arduino Sketch了。方便的是,MFRC522庫附帶了一個名為訪問控制的示例草圖,該草圖幾乎完全可以完成我們想要做的事情。將您的Arduino連接到計算機,然后在Arduino IDE中打開文件》示例》 MFRC522》 AccessControl 。
示例草圖以及相關內容中均提供了大量信息。庫的GitHub頁面。我們只需要修改幾行。或者,您可以從此Github Gist下載我們的修改后的代碼。
首先,該草圖是為具有單個RGB LED且使用共陽極的電路設計的。我們將不會使用它,因此只需注釋掉本節。
//#define COMMON_ANODE
現在,將我們的LED引腳與草圖中定義的引腳匹配。
#define redLed 3 // Set Led Pins
#define greenLed 4
#define blueLed 2
我們需要更改繼電器引腳(盡管在這種情況下使用MOSFET)以匹配我們的設置。
#define relay 5 // Set MOSFET Pin
要為了更輕松地更改鎖稍后保持打開狀態的時間,我們將為其創建一個變量。
int lockDelay=10000; // lock stays open for 10 seconds.
我們只需要再進行一次更改。在 loop 方法的底部,埋在if語句中的是方法調用 granted(300)。我們需要更改它,以便它使用我們的 lockDelay 變量。
granted(lockDelay); // Open the door lock for lockDelay duration
以新名稱保存草圖,并將其上傳到您的Arduino 。完成后,打開串行監視器。第一次執行此操作時,它將要求您掃描某些內容以用作主卡。將您的卡放在讀卡器上,卡的UID應該會顯示在串行監視器上,并顯示消息一切就緒
就是這樣!您的主密鑰已設置完畢。從計算機上拔下Arduino開發板。即使關閉電源,您的主密鑰詳細信息也將保存在Arduino的EEPROM中。
測試完整設置
最后仔細檢查一下接線,檢查是否一切就緒,然后連接12v電源。在這一點上,值得一提的是,您應該警惕螺線管的占空比。我為此測試使用的便宜的螺線管沒有100%的占空比,因此不應將其長時間放置在鎖定位置。要使其成為永久設置,請使用占空比為100%的螺線管。更好的是常閉(NC)電磁閥,在不通電時仍保持鎖定狀態。這也意味著任何想繞過系統的人都不能簡單地拔掉它的電源!
電路上電時,藍色LED應該亮起,以表明該設備可以運行。將主卡放在讀卡器上,使其處于管理模式,這將導致所有三個LED閃爍。當它們閃爍時,您可以將其他卡或卡片放在讀卡器上,以添加或取消訪問權限。它將閃爍綠色以提供訪問權限,并閃爍藍色以取走。再次使用主卡退出管理模式。
現在,當您手持可訪問讀卡器的卡或密鑰卡時,它應呈綠色閃爍并打開鎖。如果它閃爍紅色,則表示訪問被拒絕!
全部完成!
該項目只是使用RFID的簡單開始DIY設置中的設備,這不是最安全的設置。我們不建議陪審團索要這個玩具前門。
您可以將整個機構組裝到一個盒子中,然后使用螺線管將其鎖定。在包裝盒中填入Cookie,然后使用您的主密鑰來確定哪些人可以訪問,哪些人沒有訪問權限。成為Cookie的主人!
您可以完全取消螺線管,并在其中安裝一個LED燈條,并使用RFID激活燈。當可以將具有訪問權限的卡或便攜式計算機拿到閱讀器時,您可以使用相同的想法將Wi-Fi密碼之類的數據顯示在小屏幕上。
責任編輯:wv
-
RFID
+關注
關注
388文章
6161瀏覽量
238053 -
Arduino
+關注
關注
188文章
6471瀏覽量
187244 -
智能鎖
+關注
關注
18文章
1067瀏覽量
39138
發布評論請先 登錄
相關推薦
評論