Spisu treści:
- Krok 1: Potrzebne części
- Krok 2: Zbuduj kontroler Arduino
- Krok 3: Zbuduj czytnik RFID
- Krok 4: Program
- Krok 5: Rozwiń
Wideo: Zamek drzwi Arduino RFID: 5 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:34
***Zaktualizowano 8.09.2010*** Chciałem w łatwy i bezpieczny sposób dostać się do mojego garażu. RFID to najlepszy sposób na odblokowanie moich drzwi, nawet z pełnymi rękami mogę otworzyć drzwi i je otworzyć! Zbudowałem prosty układ z podstawowym układem arduino ATMega 168 i czytnikiem RFID ID-20 do sterowania elektronicznym zamkiem drzwi. Obwód składa się z 3 oddzielnych części, Czytnika do odczytu tagów RFID, Kontrolera do przyjmowania danych z czytnika i sterowania wyjściem LED RGB oraz Elektrozamka drzwi. Zamek drzwi jest najpierw instalowany w drzwiach i testowany z baterią 9V, aby zapewnić prawidłową instalację. W większości przypadków potrzebujesz obwodu normalnie otwartego na zamku drzwi lub zabezpieczenia w razie awarii. Oznacza to, że drzwi pozostają zamknięte, gdy nie przepływa przez nie prąd. Po przejściu 12vDC przez elektromagnes w zamku drzwi, płytka w zamku ustępuje i umożliwia swobodne otwieranie drzwi. Czytnik jest umieszczony na zewnątrz drzwi i jest odseparowany od kontrolera od wewnątrz, aby nikt nie mógł obejść zabezpieczeń poprzez wyłamanie czytnika i próbę zwarcia czytnika. Kontroler odbiera dane szeregowe z czytnika i steruje diodą LED RGB oraz zamkiem drzwi. W tym przypadku umieściłem oba na osobnych deskach do testowania. Oto wideo przedstawiające działanie systemu Czytaj dalej, aby zobaczyć, jak zbudować go dla siebie! **Aktualizacja** Cały kod, schematy i projekty PCB zostały przetestowane i dopracowane. Wszystkie są zamieszczone tutaj od 8.09.2010 Zaktualizowany film pokazujący zainstalowany i działający system.
Krok 1: Potrzebne części
Oto lista części i linki do SparkFun.com, gdzie je kupiłem. Jest to podstawowy zestaw części, które musisz zbudować i arduino oraz obwód do odczytu tagów RFID do arduino. Zakładam, że masz już płytkę stykową, zasilanie i przewody przyłączeniowe.
Arduino Rzeczy
ATmega168 z bootloaderem Arduino 4,95 USD
Kryształ 16 MHz 1,50 USD
Kondensator ceramiczny 22pF 0,25 USD (x2)
Rezystor 10k Ohm 1/6 wat PTH 0,25 $
Mini przełącznik przyciskowy 0,35 USD
Potrójne wyjście LED RGB - rozproszone 1,95 USD
Rzeczy RFID
Każdy z nich, 20 ma lepszy zasięg, 12 jest mniejszy Czytnik RFID ID-12 29,95 USD Czytnik RFID ID-20 34,95 USD
Breakout czytnika RFID 0,95 USD
Oderwij nagłówki – proste 2,50 $
Znacznik RFID - 125 kHz 1,95 USD
Inne
Tranzystor TIP31A (budynek radiowy/lokalny sklep z elektroniką 1,5 USD)
Zamek do drzwi pochodzi z serwisu eBay. Bezpieczna kontrola dostępu do drzwi Electric Strike v5 NIE 17,50 USD (kawamall, zatoka)
Krok 2: Zbuduj kontroler Arduino
Pierwszym krokiem do zbudowania zamka drzwiowego RFID z podstawowym Arduino jest wyłożenie podstawowego działającego arduino. Większość wstępnie flashowanych układów Arduino ATMega 168 ma fabrycznie zainstalowany domyślny program blink. Podłącz diodę LED do wyjścia cyfrowego 13 i sprawdź, czy wszystko działa.
Część sprzętowa tego czytnika RFID byłaby zbyt prosta, gdybyśmy użyli zwykłego arduino z wbudowanym programatorem USB. Ponieważ planuję umieścić to w ścianie i nie dotykać go ponownie, nie chcę używać dużej, nieporęcznej płyty arduino za 30 USD, kiedy mogę kupić ATMega 168 za 5 USD i zrobić znacznie mniejszą niestandardową płytkę drukowaną.
Ponieważ zdecydowałem się na samodzielne wykonanie podstawowego układu Arduino, potrzebuję zewnętrznego programatora USB->Serial FDIT. Dołączyłem schemat sterownika Eagle z zasilaczem zbudowanym z regulatora napięcia 7805. W testach użyłem zasilacza do płytek chlebowych.
Aby uruchomić arduino, wszystko, czego naprawdę potrzebujesz, to ATMega168 z oprogramowaniem arduino, 2 kondensatory 22pF, kryształ 16mhz, rezystor 10k omów, przycisk i płytka stykowa. Podłączenie do tego jest dobrze znane, ale dołączyłem cały schemat obwodu.
Arduino wyzwoli 4 wyjścia, po 1 dla czerwonych/zielonych/niebieskich diod LED i 1 w celu wyzwolenia TIP31A w celu wysłania 12vDC do zamka drzwi. Arduino odbiera dane szeregowe na swojej linii Rx z czytnika RFID ID-20.
Krok 3: Zbuduj czytnik RFID
Teraz, gdy masz już włożony chleb arduino i pracujesz, możesz połączyć część obwodu z czytnikiem RFID, która będzie zawierać diodę LED ID-10 lub ID-20 i RGB, aby wskazać stan obwodu. Pamiętaj, że czytnik będzie znajdował się na zewnątrz i oddzielony od kontrolera wewnątrz, aby ktoś nie mógł łatwo się do niego włamać.
Aby to zbudować, wyślemy 5v/Ground z podstawowej płyty chlebowej do dodatkowej płyty chlebowej, na której budujemy czytnik. Wyślij również 3 przewody z 3 pinów wyjściowych arduino, aby sterować diodą LED RGB, po jednym dla każdego koloru. Jeszcze jeden przewód, Brown na zdjęciach, będzie połączeniem szeregowym dla ID-20, aby komunikować się z wejściem szeregowym Rx arduino. To bardzo prosty obwód do podłączenia. Diody LED otrzymują rezystory, a kilka punktów na ID-20 jest podłączonych do masy/5V, aby ustawić prawidłowy stan.
Aby ułatwić wkładanie płytek, ID-10/ID-20 Sparkfun sprzedaje płytkę Breakout, która umożliwia dołączenie dłuższych nagłówków pinów, które są rozmieszczone tak, aby pasowały do płytki chleba. Ta część i pinheaders i wymienione na liście części.
Schemat powinien być prosty i łatwy do naśladowania.
Krok 4: Program
Czas zaprogramować swoje arduino. Może to być trochę trudne przy użyciu podstawowego arduino, może być konieczne wielokrotne naciśnięcie przycisku resetowania przed i podczas pierwszej części przesyłania. Bardzo ważna rzecz do zapamiętania, otrzymasz błąd przesyłania, jeśli tymczasowo nie odłączysz linii szeregowej ID-20 od linii Rx arduino. ATMega168 ma tylko 1 wejście Rx i używa go do przesyłania kodu, aby porozmawiać z programistą. Odłącz ID-20 podczas programowania, a po zakończeniu podłącz go ponownie. Użyłem programatora FTDI, który pozwala na programowanie arduino przez USB za pomocą tylko 4 przewodów. Schemat kontrolera pokazuje połączenie nagłówka pinów, aby umożliwić bezpośrednie podłączenie. Sparkfun również sprzedaje tę część, ale wielu może już ją mieć.
Możesz łatwo wgrać mój kod do swojego arduino i nigdy nie oglądać się za siebie, ale jaka jest w tym zabawa? Pozwólcie, że wyjaśnię podstawową ideę, jak to działa.
Przede wszystkim nie chciałem żadnych zewnętrznych przycisków/przełączników/itd i nie chciałem przeprogramowywać arduino za każdym razem, gdy chciałem dodać nową kartę. Dlatego chciałem wykorzystać tylko RFID do kontroli działania obwodu, a także kontroli nad zamkiem drzwi.
Program włącza niebieską diodę LED, sygnalizując gotowość do odczytu nowej karty. Kiedy karta jest odczytywana, decyduje, czy jest to ważna karta, czy nie, porównując to, co wczytała z listą ważnych kart. Jeśli użytkownik jest prawidłowy, arduino wyłącza niebieską diodę LED i włącza zieloną diodę LED na 5 sekund. Włącza również inne wyjście w stan wysoki na 5 sekund. To wyjście jest podłączone do tranzystora TIP31A i pozwala maleńkiemu arduino sterować znacznie większym zamkiem drzwiowym 12v 300mA bez uszkodzenia. Po 5 sekundach zamek ponownie się blokuje, a dioda LED zmienia kolor na niebieski, czekając na odczytanie kolejnej karty. Jeśli karta jest nieważna, dioda LED zmienia się na CZERWONY na kilka sekund i z powrotem na Niebieską, aby czekać na kolejną kartę.
Ważne jest, aby zamek drzwi nadal działał, nawet jeśli arduino w nocy straci zasilanie lub zostanie zresetowane. Dlatego wszystkie ważne identyfikatory kart są przechowywane w pamięci EEPROM. ATMega168 posiada 512 bajtów pamięci EEPROM. Każda karta RFID posiada numer seryjny 5 Hex Byte oraz sumę kontrolną 1 Hex Byte, którą możemy wykorzystać do sprawdzenia, czy nie wystąpiły błędy w transmisji między ID-20 a arduino.
Prawidłowe karty są przechowywane w pamięci EEPROM przy użyciu pierwszego bajtu jako licznika. Na przykład, jeśli zapisane są 3 ważne karty, pierwszy Bajt w EEPROM to 3. EEPROM.read(0); = 3. Znając to i fakt, że każdy identyfikator ma długość 5 bajtów wiemy, że 1-5 to karta pierwsza, 6-10 to karta 2, a 11-15 to karta 3. Możemy zrobić pętlę, która przegląda EEPROM 5 bajtów na raz i próbuje znaleźć kartę, która została wczytana przez czytnik.
Ale jak możemy dodać nowe karty do EEPROM po zainstalowaniu układu? Przeczytałem jedną z posiadanych przeze mnie kart RFID i na stałe zakodowałem ją jako kartę Master RFID. Więc nawet jeśli cała pamięć EEPROM zostanie wyczyszczona, karta master nadal będzie działać. Za każdym razem, gdy karta jest odczytywana, najpierw sprawdza, czy jest to karta główna, jeśli nie, a następnie sprawdza, czy jest to ważna karta, czy nie. Jeśli karta jest kartą master, arduino przechodzi w „tryb programowania”, w którym miga RGB i czeka na odczytanie kolejnego ważnego tagu. Kolejny odczytany znacznik jest dodawany do następnego wolnego miejsca w pamięci EEPROM, a licznik jest zwiększany o 1, jeśli karta nie istnieje już w pamięci EEPROM. Czytnik powraca wtedy do normalnego trybu i czeka na odczytanie nowej karty.
Obecnie nie zaprogramowałem sposobu usunięcia karty, ponieważ powodem usunięcia karty najprawdopodobniej byłaby jej zgubienie lub kradzież. Ponieważ najprawdopodobniej będzie to używane z 1-10 osobami, najłatwiej byłoby zaprogramować kartę Master Erase, która usunie wszystkie karty z EEPROM, a następnie ponownie je doda, co zajmuje tylko kilka sekund. Dodałem kod do czyszczenia pamięci EEPROM, ale jeszcze nie zaimplementowałem tej funkcji..
Kod jest dołączony w pliku tekstowym wraz z kopią listy części.
Krok 5: Rozwiń
To tylko niektóre z fajnych rzeczy, które możesz zrobić z RFID. Można to znacznie rozszerzyć o wyjście LCD, rejestrowanie, kto wchodzi i kiedy, połączenie sieciowe/twitter itp. Planuję wykonanie gotowej wersji tego obwodu na płytce drukowanej. Nigdy wcześniej nie robiłem PCB, więc nadal pracuję nad projektem i układem części. Gdy już je ukończę, również je opublikuję. Zachęcam każdego do wzięcia napisanego przeze mnie kodu i zmodyfikowania go, aby robić jeszcze więcej fajnych rzeczy!
Finalista konkursu Arduino
Zalecana:
Wifi do RF - Zamek drzwi: 3 kroki (ze zdjęciami)
Wifi do RF - Blokada drzwi: Przegląd Ta instrukcja daje możliwość blokowania / odblokowywania drzwi wejściowych za pomocą oprogramowania do automatyzacji domu (takiego jak OpenHAB - bezpłatne oprogramowanie do automatyzacji domu, którego osobiście używam) Powyższy obrazek pokazuje przykładowy zrzut ekranu OpenHAB
Elektryczny zamek do drzwi ze skanerem linii papilarnych i czytnikiem RFID: 11 kroków (ze zdjęciami)
Elektryczny zamek do drzwi z czytnikiem linii papilarnych i czytnikiem RFID: Projekt został zaprojektowany tak, aby uniknąć konieczności używania kluczy, aby osiągnąć nasz cel wykorzystaliśmy optyczny czujnik odcisków palców i Arduino. Są jednak osoby, które mają nieczytelny odcisk palca i czujnik go nie rozpozna. Następnie myślenie
Automatyczny zamek drzwi: 5 kroków
Automatyczny zamek do drzwi: Hej TAM!! To mój pierwszy Instruktaż! Mam nadzieję, że wszystkim się spodoba. W tym projekcie zbudujemy zautomatyzowany (chroniony hasłem) zamek do drzwi. Klasyczny zamek i klucz to dosłownie 100-letni wynalazek, a jak wiemy „zmień
Inteligentny zamek do drzwi za pomocą Raspberry_pi_and_GSM_modemSim800_RFID: 5 kroków
Smart-door-lock-using-raspberry_pi_and_GSM_modemSim800_RFID: W tym samouczku omówię, jak zintegrować moduł czytnika RFID EM-18 z płytą Raspberry Pi. Pokazuję również jak zintegrować siłownik, w tym przypadku przekaźnik, aby reagował na poprawny odczyt z modułu RFID. Ten siłownik może być sol
Prosty zamek do drzwi sterowany głosem: 5 kroków (ze zdjęciami)
Prosty zamek do drzwi sterowany głosem: Zdecydowałem więc, że chcę zbudować drzwi na półkę do mojego biura w domu. Teraz jest wiele instrukcji, które wyjaśniają, jak zbudować tego typu rzeczy. Mój problem dotyczył tego, jak trzymać dzieci z dala od mojego biura. Mam małe dzieci i będą się przydać