Elektromagnetyczny zamek do drzwi z autoryzacją przez RFID

Share on facebook
Share on twitter
Share on linkedin
Czas czytania: 5 min.

Zamki elektromagnetyczne coraz częściej stosowane są w obiektach prywatnych. W połączeniu z klawiaturą lub czytnikiem kart RFID stanowią wygodne połączenie, które pozwoli nam na przydzielenie dostępu do danych pomieszczeń wybranym osobom. Dzisiaj zbudujemy taki system i sprawdzimy jego funkcjonalność. Gotowi? To do dzieła!

Główne założenia projektu:

  • Blokowanie dostępu do pomieszczenia dla osób nieuprawnionych,
  • Możliwość przypisania dostępu nawet kilkudziesięciu osobom,
  • Szybka reakcja na przyłożenie taga RFID,
  • Sygnalizowanie statusu zamka za pomocą diod LED.

Niezbędne podzespoły

Projekt oparty będzie o miniaturową płytkę uruchomieniową Arduino Pro Mini. Płytka ze względu na małe rozmiary zmieści się w kompaktowej obudowie, jednak prototyp wykonamy na Arduino Uno. Aby zrealizować zamknięcie pomieszczenia skorzystamy z gotowego modułu elektromagnesu, który można łatwo przykręcić do dowolnej powierzchni, co bardzo ułatwi nam późniejszą pracę. Elektromagnes będzie sterowany przez przekaźnik, który będzie dostawał sygnał od Arduino, jednak aby autoryzacja była możliwa, musimy odczytać ID tagu RFID. Odczyt z tagu realizujemy za pomocą modułu RC522. Lista podzespołów dostępna jest poniżej:

Budowa prototypu na płytce stykowej

W przypadku jakiegokolwiek błędu łatwo będziemy “mogli się poprawić”. Na początku nie użyliśmy przekaźnika i elektromagnesu; do sygnalizacji użyliśmy diody LED. Połączenie powinno wyglądać tak, jak na grafice poniżej:

układ z diodą LED Arduino
Układ z diodą LED symulującą przekaźnik.

Gniazdo podpinamy do VCC i GND płytki stykowej, VCC z płytki stykowej podłączamy do złącza VIN w Arduino, a GND z płytki stykowej do GND Arduino. Diodę symulującą przekaźnik przez rezystor 220 Ohm podłączmy do pinu 8. W diodzie RGB nóżkę odpowiedzialną za czerwony kolor podłączamy przez rezystor 220 Ohm do pinu 7, a nóżkę odpowiedzialną za zielony kolor do pinu 6. Moduł RC522 podłączamy do Arduino według poniższego schematu:

SDA —-> Pin 10
SCK —-> Pin 13
MOSI —->Pin 11
MISO —-> Pin 12
IRQ —-> Nie podłączamy
GND —-> GND
RST —-> Pin 9
3.3V —-> 3.3V w Arduino (układ pracuje na napięciu 3.3V, podłączenie go do 5V może spowodować uszkodzenie.)

Dane dostępowe dla systemu

Abyśmy mogli przydzielić dostęp dla konkretnych tagów RFID, musimy znać ich identyfikator. Jest on indywidualny dla każdej karty. Prawdopodobieństwo spotkania się z tym samym identyfikatorem jest bliskie zeru. Identyfikator oczywiście odczytamy za pomocą zbudowanego przed chwilą układu.

Na początku musimy pobrać i wgrać bibliotekę MFRC522, która pomoże nam w obsłudze modułu RC522. Aby odczytać identyfikatory, musimy wgrać przykład DumpInfo (jest on zawarty w bibliotece). Po wgraniu programu wystarczy uruchomić Serial Monitor i odczytać identyfikator – będzie on oznaczony jako “Card UID:”. Identyfikatory warto zapisać, gdyż będą niezbędne w późniejszym etapie. Gdy zapisaliśmy UID kart, możemy wrzucić do Arduino IDE program, który pozwoli nam na przyznawanie dostępu wybranym tagom. Kod wraz z komentarzami dostępny jest na firmowym GitHub-ie.

W kodzie są dwa miejsca na wpisanie identyfikatora tagu; wyglądają tak:

else if (content.substring(1) == "DRUGIE ID") // !!!TUTAJ WPISZ ID DRUGIEGO TAGA!!!

Jeśli chcemy dodać jeszcze kilka tagów, to musimy skopiować całą instrukcję warunkową i zmienić tylko identyfikator, który podstawiamy do porównania. Sam instrukcja warunkowa to ten element kodu:

else if (content.substring(1) == "DRUGIE ID") // !!!TUTAJ WPISZ ID DRUGIEGO TAGA!!!

 

  {

    digitalWrite(8,HIGH); //Włączamy przekaźnik

    digitalWrite(7, LOW); //Podajemy na pin 7 stan niski, dioda przestaje świecić się na czerwono

    digitalWrite(6, HIGH); //Podajemy napięcie na pin 6, powoduje to zaświecenie się diody na zielono

    delay(10000); //Zamek jest odbezpieczony na 10 sekund

    digitalWrite(8,LOW); //Wyłączamy przekaźnik

    digitalWrite(6, LOW); //Podajemy na pin 6 stan niski, dioda przestaje świecić się na zielono

    digitalWrite(7, HIGH); //Podajemy napięcie na pin 7, dioda zaświeca się na czerwono

  }

Przekaźnik kluczem do sukcesu

Przekaźnik to rodzaj włącznika, który załącza się poprzez podanie prądu na złącza elektromagnesu, który to z kolei pełni funkcję zworki pomiędzy pinami. Dzięki wyjątkowej budowie przekaźniki są niezwykle bezpieczne w użytkowaniu i zmniejszają ryzyko uszkodzenia mikrokontrolera przy przełączaniu dużo wyższych prądów.

Ze względu na to, że nasz elektromagnes pracuje na napięciu 12V, a płytka na napięciu 5V, potrzebujemy pomocnika, którym jest właśnie przekaźnik. Zacznijmy od wykonania połączenia – układ musi wyglądać jak grafice poniżej:

układ z przekaźnikiem Arduino
Układ z podłączonym przekaźnikiem.

Dużo się nie zmieniło, prawda? Musimy tylko pamiętać, że przekaźnik działa na innym napięciu niż moduł RFID, więc nie możemy podłączyć obu modułów do jednego złącza zasilania. Przekaźnik musimy następująco:

VCC —-> 5V

SIG —-> Pin 8

GND —-> GND

Podłączenie elektromagnesu

Tak jak wcześniej opisywaliśmy przekaźnik po podaniu sygnału stworzy zworkę, która połączy sygnał. Do włączania i wyłączania elektromagnesu musimy przeciąć jeden z przewodów zasilających elektromagnes i obie końcówki podłączyć do przekaźnika. My zrobimy to na linii VCC. Moduły przekaźników mają najczęściej trzy wyjścia do sterowania wyższym prądem. Do dyspozycji jest wyjście COM, czyli wspólne, wyjście NC, czyli normalnie zamknięte i wyjście NO, czyli normalnie otwarte. Standardowo bez podania prądu na przekaźnik pomiędzy pinem NC a COM może przechodzić prąd. Po zasileniu przekaźnika następuje rozłączenie COM z NC, COM wtedy łączy się z NO. Połączenie COM z NO jest aktywne do czasu zasilenia przekaźnika. Zasadę działania łatwo zapamiętać patrząc na poniższą grafikę:

Zmiana połączenia w przekaźniku.

Jeśli znamy już zasadę przełączania wyjścia w przekaźniku, to możemy przejść do połączenia. Całość musimy podłączyć jak na grafice poniżej pamiętając, że elektromagnes musi być zasilany napięciem +12V.

Podłączenie elektromagnesu do przekaźnika.

Możemy się zastanawiać: dlaczego nie podłączyliśmy elektromagnesu do NO tak, aby włączał się po podaniu sygnału? Odpowiedź jest banalna – gdy urządzenie podłączone do przekaźnika przez większość czasu musi być włączone (a tutaj tak będzie), to nie ma powodu, aby marnować prąd, który przekaźnik będzie zużywał podczas utrzymywania połączenia pomiędzy NO a COM. Tutaj połączenie jest domyślne i nie zużywa prądu, Wybiegając w przód mamy też pewność, że jeśli ktoś uszkodzi nasz mikrokontroler, to i tak nie dostanie się do pomieszczenia. Dlaczego? Ponieważ przekaźnik będzie przekazywał prąd podtrzymujący cały czas działanie elektromagnesu. 

Montaż elementów na płytce PCB

Aby urządzenie działało i wyglądało profesjonalnie, zastosujemy autorskie płytki PCB, które można zamówić na stronie PCBWay. Do budowy układu z płytką PCB będą potrzebne:

Elementy mocujemy na płytce tak, jak na zdjęciu poniżej i lutujemy. Oprócz elementów przylutowanych na stałe montujemy Pro Mini i RC522 za pomocą złączy typu goldpin.

Cała płytka powinna wyglądać tak:

Gotowa płytka z przylutowanymi elementami

Zamocowanie na ścianie

Po zmontowaniu PCB możemy wybrać na ścianie miejsce, w którym będzie znajdował się nasz zestaw. Teraz wiercimy pięć otworów, tak jak na obudowie – jeden większy dla przewodów na drugą stronę ściany, cztery mniejsze na śruby w kołkach rozporowych. Projekt obudowy dostępny jest na stronie Thingiverse. Po wywierceniu możemy zamocować dolną część obudowy za pomocą śrub. Został nam do przykręcenia elektromagnes. Tutaj jest absolutna dowolność – ja obie części przykręciłem z pomocą krótkich śrub do drzwi i ramy. Jeśli jednak posiadamy drzwi aluminiowe lub z innego materiału niż drewno, to sposób mocowania będzie inny. 

Ułożenie w obudowie

Po przykręceniu obudowy przez duży otwór wprowadzamy przewody od elektromagnesu i zasilania. Elektromagnes montujemy do złącza ARK opisanego jako “RELAY #1”. Tutaj akurat nie musimy wprowadzać żadnych modyfikacji w okablowanie – minus elektromagnesu podłączamy do GND przy opisanym wyżej złączu, VCC elektromagnesu podpinamy do VCC złącza. Do gniazda musimy przylutować dwa przewody i podłączyć je do złącz śrubowych w naszej płycie, dzięki czemu będziemy mieli zasilanie. Polaryzacja jest również opisana na PCB. Tak powinna wyglądać płytka w obudowie:

Gdy połączymy wszystkie elementy, to możemy założyć górną część obudowy i włączyć zasilanie. Po wszystkim elektromagnes się aktywuje, a my bez przyłożenia tagu nie będziemy mogli otworzyć drzwi. Ostatnim elementem, który musimy dodać, jest włącznik, który założymy w wewnętrznej stronie pomieszczenia. Będzie on odcinał zasilanie z zasilacza 12V jednocześnie wyłączając elektromagnes.

Podziel się:

Share on facebook
Share on linkedin
Share on twitter
Marcin Lesiński

Marcin Lesiński

Miłośnik elektroniki, druku 3D i nauk stosowanych, swoją wiedzę gromadzi od 14-tego roku życia. W Botlandzie tworzy projekty i poradniki dla klientów, a w wolnym czasie zajmuje się automatycznymi uprawami i prototypowaniem. Fan muzyki rockowej i brytyjskiego kina.
Marcin Lesiński

Marcin Lesiński

Miłośnik elektroniki, druku 3D i nauk stosowanych, swoją wiedzę gromadzi od 14-tego roku życia. W Botlandzie tworzy projekty i poradniki dla klientów, a w wolnym czasie zajmuje się automatycznymi uprawami i prototypowaniem. Fan muzyki rockowej i brytyjskiego kina.

Zobacz więcej:

Uczenie maszynowe
Ciekawostki
Oskar Pacelt

Uczenie maszynowe. Co to jest?

Efektywność, wydajność, bezawaryjność, redukcja kosztów. Mimo wszystko jednak nie prawdziwa inteligencja – tylko odbicie mądrości ludzkiej. Czym jest i co przyniesie nam uczenie maszynowe (machine learning)?

Dodaj komentarz