- Požadované komponenty
- Elektromagnetický zámek
- Kruhový diagram
- Vysvětlení kódu
- Testování elektromagnetického zámku RFID
RFID (Radio Frequency Identification) je levná a dostupná technologie. Lze jej použít v mnoha aplikacích, jako je řízení přístupu, zabezpečení, sledování majetku, sledování osob atd. Systém zámku dveří RFID jste viděli v hotelech, kancelářích a na mnoha dalších místech, kde stačí umístit kartu poblíž čtečky RFID na vteřinu a dveře se otevřou. V mnoha projektech založených na RFID jsme použili čtečku a tag RFID.
V našich předchozích příspěvcích jsme vytvořili jednoduchý zámek dveří RFID, tentokrát používáme skutečný zámek dveří Solenoid a ovládáme jej pomocí RFID a Arduino. Zde se k detekci pohybu dveří používá snímač Hall Effect a magnet. Senzor Hall Effect bude umístěn na rámu dveří a magnet na samotných dveřích. Když jsou snímač a magnet Hall Effect blízko u sebe, bude snímač Hall Effect v nízkém stavu a dvířka zůstanou zavřená, a když snímač a magnet nejsou zavřeny, znamená to, že jsou dveře otevřené a Hallův snímač je ve vysokém Stát. Tento mechanismus Hall Effect použijeme k automatickému zamykání a odemykání dveří. Chcete-li se dozvědět více o Hallově senzoru a jeho fungování, klikněte na odkaz.
Požadované komponenty
- Arduino Uno
- Modul RFID-RC522
- 12V elektromagnetický zámek
- Reléový modul
- Hallův snímač
- 10kΩ rezistor
- Bzučák
Elektromagnetický zámek
Solenoidový zámek funguje na elektronicko-mechanickém zajišťovacím mechanismu. Tento typ zámku má slimák se šikmým řezem a dobrou montážní konzolu. Když je aplikováno napájení, DC vytváří magnetické pole, které pohybuje slimákem dovnitř a udržuje dveře v odemčené poloze. Slimák si udrží svou polohu, dokud není odstraněna síla. Když je napájení odpojeno, slimák se pohybuje ven a zamkne dveře. V uzamčeném stavu nepoužívá žádnou energii. K ovládání elektromagnetického zámku budete potřebovat zdroj energie, který může napájet 12V @ 500mA.
Kruhový diagram
Schéma zapojení elektromagnetického zámku dveří pomocí Arduina je uvedeno níže.
Spojení mezi Arduino a RFID jsou uvedena v tabulce níže. Kladný kolík bzučáku je připojen k digitálnímu kolíku 4 Arduina a kolík GND je připojen k uzemňovacímu kolíku Arduina. Mezi pin VCC a OUT snímače Hall Effect se používá 10K odpor. Solenoidový zámek je připojen k Arduinu přes reléový modul.
PIN RFID | Pin Arduino Uno |
SDA | Digitální 10 |
SCK | Digitální 13 |
MOSI | Digitální 11 |
MISO | Digitální 12 |
IRQ | Nepřipojeno |
GND | GND |
RST | Digitální 9 |
3,3 V | 3,3 V |
Hallův snímač Pin | Pin Arduino Uno |
5V | 5V |
GND | GND |
VEN | 3 |
Po připájení všech komponentů na desce perf podle schématu zapojení to vypadá jako na následujícím obrázku:
Vysvětlení kódu
Kompletní kód pro tento solenoidový zámek Arduino je uveden na konci dokumentu. Zde vysvětlujeme tento kód krok za krokem pro lepší pochopení.
Spusťte kód zahrnutím všech požadovaných knihoven. Zde to vyžaduje pouze dvě knihovny, jednu pro komunikaci SPI mezi Arduino a RFID a druhou pro modul RFID. Obě knihovny lze stáhnout z níže uvedených odkazů:
- SPI.h
- MFRC522.h
Nyní definujte piny pro bzučák, solenoidový zámek a modul RFID
int Bzučák = 4; const int LockPin = 2; #define SS_PIN 10 #define RST_PIN 9
Poté definujte Lock pin a Buzzer pin jako výstup a Hall Effect pin senzoru jako vstup a zahajte komunikaci SPI.
pinMode (LockPin, OUTPUT); pinMode (bzučák, VÝSTUP); pinMode (hall_sensor, INPUT); SPI.begin (); // Zahájení sběrnice SPI mfrc522.PCD_Init (); // Spusťte MFRC522
Ve smyčce prázdnoty odečtěte hodnoty Hallova snímače a jakmile se sníží, zavřete dveře.
state = digitalRead (hall_sensor); Serial.print (stav); zpoždění (3000); if (state == LOW) {digitalWrite (LockPin, LOW); Serial.print ("Dveře zavřené"); digitalWrite (bzučák, VYSOKÝ); zpoždění (2000); digitalWrite (bzučák, NÍZKÝ);}
Uvnitř funkce void loop zkontroluje, zda je přítomna nová karta RFID, a pokud je přítomna nová karta, zkontroluje UID karty. U platné karty se otevře zámek; jinak se vytiskne „ Nemáte oprávnění. „Kompletní práce je zobrazena na videu na konci.
if (! mfrc522.PICC_IsNewCardPresent ()) {návrat; } // Vyberte jednu z karet if (! Mfrc522.PICC_ReadCardSerial ()) {return; } // Zobrazit UID na sériovém monitoru String content = ""; bajtové písmeno; 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 ("Zpráva:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // zde změňte UID karty / karet, kterým chcete udělit přístup {digitalWrite (LockPin, HIGH); Serial.print ("Dveře odemčeny"); digitalWrite (bzučák, VYSOKÝ); zpoždění (2000); digitalWrite (bzučák, NÍZKÝ); } else {Serial.println ("Nejste oprávněni"); digitalWrite (bzučák, VYSOKÝ); zpoždění (2000); digitalWrite (bzučák,NÍZKÝ); }}
Testování elektromagnetického zámku RFID
Jakmile budete připraveni na kód a hardware, můžete začít testovat projekt elektromagnetického zámku dveří. Zde jsme pájeli všechny komponenty na desce perf tak, aby ji bylo možné snadno namontovat na dveře.
Chcete-li to otestovat, namontujte desku perf na rám dveří a magnet na dveře, aby detekoval pohyb dveří. Níže uvedený obrázek ukazuje, jak jsou magnet a Hallovy senzory upevněny na dveřích.
Nyní naskenujte autorizovanou RFID kartu a otevřete zámek dveří. Zámek dveří elektromagnetu zůstane otevřený, dokud nebude vysoký výkon snímače Hall Effect. Nyní, když se dveře během zavírání opět dostanou do blízkosti Hallova senzoru, stav senzoru Hall Effectu se změní na nízký kvůli magnetickému poli (generovanému magnetem připojeným ke dveřím) a zámek se znovu zavře.
Místo použití senzoru Hall Effect můžete zavést zpoždění, aby zůstaly dveře otevřené po stanovenou dobu.
Kompletní kód a pracovní video jsou uvedeny níže. Zkontrolujte také jiné typy zámku dveří pomocí různých technologií.