- Wymagane składniki
- Blokada elektromagnetyczna
- Schemat obwodu
- Objaśnienie kodu
- Testowanie blokady elektromagnetycznej RFID
RFID (Radio Frequency Identification) to niedroga i dostępna technologia. Może być używany w wielu zastosowaniach, takich jak kontrola dostępu, bezpieczeństwo, śledzenie zasobów, śledzenie osób itp. Widziałeś system zamków RFID w hotelach, biurach i wielu innych miejscach, w których wystarczy umieścić kartę w pobliżu czytnika RFID na sekundę i drzwi zostaną otwarte. Korzystaliśmy z czytnika i tagu RFID w wielu projektach opartych na RFID.
W naszych poprzednich postach zbudowaliśmy prosty zamek drzwiowy RFID, tym razem używamy prawdziwego elektromagnetycznego zamka drzwi i sterujemy nim za pomocą RFID i Arduino. Tutaj czujnik Halla i magnes są używane do wykrywania ruchu drzwi. Czujnik Halla zostanie umieszczony na ramie drzwi, a magnes na samych drzwiach. Kiedy czujnik Halla i magnes są blisko siebie, czujnik Halla będzie w stanie niskim, a drzwi pozostaną zamknięte, a gdy czujnik i magnes nie są zamknięte, oznacza to, że drzwi są otwarte, a czujnik halla jest w stanie wysokim stan. Użyjemy tego mechanizmu Halla, aby automatycznie zablokować i odblokować drzwi. Aby dowiedzieć się więcej o czujniku Halla i jego działaniu, kliknij łącze.
Wymagane składniki
- Arduino Uno
- Moduł RFID-RC522
- Blokada elektromagnetyczna 12v
- Moduł przekaźników
- Czujnik Halla
- Rezystor 10kΩ
- Brzęczyk
Blokada elektromagnetyczna
Zamek elektromagnetyczny działa na elektroniczno-mechanicznym mechanizmie blokującym. Ten typ zamka ma ślimak o skośnym wycięciu i dobry uchwyt montażowy. Po włączeniu zasilania prąd stały wytwarza pole magnetyczne, które przesuwa kulkę do środka i utrzymuje drzwi w pozycji odblokowanej. Ślimak zachowa swoją pozycję do momentu odłączenia zasilania. Po odłączeniu zasilania ślimak wychodzi na zewnątrz i blokuje drzwi. W stanie zablokowanym nie używa żadnej mocy. Do napędzania zamka elektromagnetycznego potrzebne byłoby źródło zasilania, które może dać 12 V przy 500 mA.
Schemat obwodu
Schemat obwodu dla elektromagnetycznego zamka drzwi za pomocą Arduino jest podany poniżej.
Połączenia między Arduino i RFID przedstawiono w poniższej tabeli. Dodatni pin brzęczyka jest połączony z cyfrowym pinem 4 Arduino, a pin GND jest połączony z pinem masy Arduino. Rezystor 10K jest używany między pinami VCC i OUT czujnika Halla. Zamek elektromagnetyczny podłączany jest do Arduino poprzez moduł przekaźnikowy.
Pin RFID | Pin Arduino Uno |
SDA | Cyfrowy 10 |
SCK | Cyfrowy 13 |
MOSI | Cyfrowy 11 |
MISO | Cyfrowy 12 |
IRQ | Niepodłączony |
GND | GND |
RST | Cyfrowy 9 |
3,3 V. | 3,3 V. |
Pin czujnika efektu Halla | Pin Arduino Uno |
5V | 5V |
GND | GND |
NA ZEWNĄTRZ | 3 |
Po wlutowaniu wszystkich komponentów na płycie perf zgodnie ze schematem obwodu wygląda to jak na poniższym obrazku:
Objaśnienie kodu
Pełny kod tej elektrozaworu Arduino jest podany na końcu dokumentu. Tutaj wyjaśniamy krok po kroku ten kod dla lepszego zrozumienia.
Uruchom kod, dołączając wszystkie wymagane biblioteki. Tutaj wymaga tylko dwóch bibliotek, jednej do komunikacji SPI między Arduino i RFID, a drugiej do modułu RFID. Obie biblioteki można pobrać z poniższych linków:
- SPI.h
- MFRC522.h
Teraz zdefiniuj piny dla brzęczyka, zamka elektromagnetycznego i modułu RFID
int Buzzer = 4; const int LockPin = 2; # zdefiniować SS_PIN 10 # zdefiniować RST_PIN 9
Następnie zdefiniuj pin blokady i pin brzęczyka jako wyjście oraz pin czujnika efektu Halla jako wejście i zainicjuj komunikację SPI.
pinMode (LockPin, OUTPUT); pinMode (Buzzer, OUTPUT); pinMode (hall_sensor, INPUT); SPI.begin (); // Zainicjuj magistralę SPI mfrc522.PCD_Init (); // Zainicjuj MFRC522
Wewnątrz pustej pętli odczytaj wartości czujnika halla, a gdy spadnie niski, zamknij drzwi.
state = digitalRead (hall_sensor); Serial.print (stan); opóźnienie (3000); if (stan == LOW) {digitalWrite (LockPin, LOW); Serial.print ("Drzwi zamknięte"); digitalWrite (Buzzer, HIGH); opóźnienie (2000); digitalWrite (Buzzer, LOW);}
Wewnątrz funkcji pustej pętli sprawdzi, czy obecna jest nowa karta RFID, a jeśli jest nowa karta, sprawdzi UID karty. W przypadku ważnej karty otworzy zamek; w przeciwnym razie wyświetli się „ Nie masz uprawnień. 'Całość pracy jest pokazana na wideo podanym na końcu.
if (! mfrc522.PICC_IsNewCardPresent ()) {return; } // Wybierz jedną z kart if (! Mfrc522.PICC_ReadCardSerial ()) {return; } // Pokaż UID na monitorze szeregowym. String content = ""; litera bajtowa; for (byte i = 0; i <mfrc522.uid.size; i ++) {content.concat (String (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (String (mfrc522.uid.uidByte, HEX)); } Serial.println (); Serial.print ("Wiadomość:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // zmień tutaj UID karty / kart, którym chcesz dać dostęp {digitalWrite (LockPin, HIGH); Serial.print ("Drzwi odblokowane"); digitalWrite (Buzzer, HIGH); opóźnienie (2000); digitalWrite (Buzzer, LOW); } else {Serial.println ("Nie masz autoryzacji"); digitalWrite (Buzzer, HIGH); opóźnienie (2000); digitalWrite (Buzzer,NISKA); }}
Testowanie blokady elektromagnetycznej RFID
Gdy będziesz gotowy z kodem i sprzętem, możesz rozpocząć testowanie projektu Elektrozaworu zamka drzwi. Tutaj przylutowaliśmy wszystkie komponenty na płycie perf, aby można ją było łatwo zamontować na drzwiach.
Aby to przetestować, zamontuj płytkę perf na ramie drzwi i magnes na drzwiach, aby mógł wykryć ruch drzwi. Poniższy rysunek przedstawia sposób mocowania magnesu i czujników Halla na drzwiach.
Teraz zeskanuj swoją autoryzowaną kartę RFID, aby otworzyć zamek. Elektrozawór zamka drzwi pozostanie otwarty, dopóki wyjście czujnika Halla nie osiągnie stanu wysokiego. Teraz, gdy drzwi ponownie zbliżą się do czujnika Halla podczas zamykania, stan czujnika Halla zmieni się na Niski z powodu pola magnetycznego (generowanego przez magnes przymocowany do drzwi), a zamek zostanie ponownie zamknięty.
Zamiast używać czujnika Halla, możesz wprowadzić opóźnienie, aby drzwi były otwarte przez określony czas.
Pełny kod i działające wideo są podane poniżej. Sprawdź również inne rodzaje zamków do drzwi wykorzystujące różne technologie.