RFID (Radyo Frekansı Tanımlama), ucuz ve erişilebilir bir teknolojidir. Erişim kontrolü, güvenlik, varlık takibi, kişi takibi vb. Birçok uygulamada kullanılabilir. RFID Kapı Kilidi sistemini Otellerde, ofislerde ve kartı RFID okuyucunun yanına yerleştirmeniz gereken diğer birçok yerde gördünüz. bir saniyeliğine kapı açılacak. RFID tabanlı birçok projede RFID okuyucu ve etiket kullandık.
Önceki yazılarımızda basit bir RFID kapı kilidi oluşturduk, bu sefer gerçek bir Solenoid Kapı Kilidi kullanıp RFID ve Arduino ile kontrol ediyoruz. Burada kapı hareketini algılamak için bir Hall Etkisi sensörü ve bir mıknatıs kullanılır. Hall Etkisi sensörü kapı çerçevesine ve mıknatıs kapının üzerine yerleştirilecektir. Hall Effect sensörü ve mıknatıs birbirine yakın olduğunda, Hall Effect sensörü düşük durumda olacak ve kapı kapalı kalacaktır ve sensör ve mıknatıs kapalı olmadığında kapının açık ve salon sensörünün yüksek olduğu anlamına gelir. durum. Kapıyı otomatik olarak kilitlemek ve açmak için bu Hall Etkisi mekanizmasını kullanacağız. Hall Sensörü ve çalışması hakkında daha fazla bilgi edinmek için bağlantıyı takip edin.
Gerekli Bileşenler
- Arduino Uno
- RFID-RC522 Modülü
- 12v Solenoid Kilidi
- Röle Modülü
- Hall Etkisi Sensörü
- 10kΩ Direnç
- Buzzer
Solenoid Kilit
Bir solenoid kilit, elektronik-mekanik kilitleme mekanizması üzerinde çalışır. Bu tip bir kilit, eğimli bir kesime ve iyi bir montaj braketine sahip bir salgıya sahiptir. Güç uygulandığında, DC sümüklü böcek içeride hareket ettiren ve kapıyı kilitsiz konumda tutan bir manyetik alan oluşturur. Sümüklü böcek, güç kesilene kadar konumunu koruyacaktır. Güç kesildiğinde, sümüklü böcek dışarı çıkar ve kapıyı kilitler. Kilitli durumda herhangi bir güç kullanmaz. Solenoid kilidi sürmek için 12V @ 500mA verebilen bir güç kaynağına ihtiyacınız olacaktır.
Devre şeması
Arduino kullanılan Solenoid Kapı Kilidi için Devre Şeması aşağıda verilmiştir.
Arduino ve RFID arasındaki bağlantılar aşağıdaki tabloda verilmiştir. Buzzerin pozitif pini Arduino'nun dijital pini 4'e ve GND pini Arduino'nun toprak pimine bağlanır. Hall Effect sensörünün VCC ve OUT pini arasında 10K direnç kullanılır. Solenoid kilit, röle modülü aracılığıyla Arduino'ya bağlanır.
RFID Pimi | Arduino Uno Pimi |
SDA | Dijital 10 |
SCK | Dijital 13 |
MOSI | Dijital 11 |
MİSO | Dijital 12 |
IRQ | Bağlantısız |
GND | GND |
RST | Dijital 9 |
3.3V | 3.3V |
Hall Etkisi Sensör Pimi | Arduino Uno Pimi |
5V | 5V |
GND | GND |
DIŞARI | 3 |
Devre şemasına göre kart üzerindeki tüm bileşenleri lehimledikten sonra aşağıdaki görüntüdeki gibi görünür:
Kod Açıklama
Bu Arduino solenoid kilidinin tam kodu belgenin sonunda verilmiştir. Burada daha iyi anlaşılması için bu kodu adım adım açıklıyoruz.
Tüm gerekli kitaplıkları ekleyerek kodu başlatın. Burada, biri Arduino ile RFID arasında SPI iletişimi ve ikincisi RFID modülü için olmak üzere yalnızca iki kitaplık gerektirir. Her iki kütüphane de aşağıda verilen bağlantılardan indirilebilir:
- SPI.h
- MFRC522.h
Şimdi Buzzer, Solenoid Kilit ve RFID Modülü için pinleri tanımlayın
int Buzzer = 4; const int LockPin = 2; #define SS_PIN 10 #define RST_PIN 9
Ardından Kilit pimini ve Buzzer pimini çıkış olarak ve Hall Etkisi sensör pimini giriş olarak tanımlayın ve SPI iletişimini başlatın.
pinMode (LockPin, OUTPUT); pinMode (Buzzer, OUTPUT); pinMode (hall_sensor, INPUT); SPI.begin (); // SPI veriyolunu başlat mfrc522.PCD_Init (); // MFRC522'yi başlatın
İçinde boşluk döngü , salon sensörü değerlerini okumak ve düşük, yakın kapı olduğunda.
durum = digitalRead (hall_sensor); Seri.baskı (durum); gecikme (3000); eğer (durum == LOW) {digitalWrite (LockPin, LOW); Seri.print ("Kapı Kapalı"); digitalWrite (Buzzer, YÜKSEK); gecikme (2000); digitalWrite (Buzzer, DÜŞÜK);}
Boş döngü işlevinin içinde, yeni bir RFID kartının mevcut olup olmadığını kontrol edecek ve yeni bir kart varsa, kartın UID'sini kontrol edecektir. Geçerli bir kart için kilidi açacaktır; aksi takdirde, ' Yetkili değilsiniz. Sonunda verilen videoda tam çalışma gösterilmektedir.
eğer (! mfrc522.PICC_IsNewCardPresent ()) {dönüş; } // if (! Mfrc522.PICC_ReadCardSerial ()) {return; } // Seri monitörde UID'yi göster String content = ""; bayt harfi; for (bayt i = 0; i <mfrc522.uid.size; i ++) {content.concat (String (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (Dize (mfrc522.uid.uidByte, HEX)); } Serial.println (); Serial.print ("Mesaj:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // burada erişim vermek istediğiniz kartın / kartların UID'sini değiştirin {digitalWrite (LockPin, HIGH); Seri.print ("Kapı Kilitli Değil"); digitalWrite (Buzzer, YÜKSEK); gecikme (2000); digitalWrite (Buzzer, DÜŞÜK); } else {Serial.println ("Yetkili değilsiniz"); digitalWrite (Buzzer, YÜKSEK); gecikme (2000); digitalWrite (Buzzer,DÜŞÜK); }}
RFID Solenoid Kilidinin Test Edilmesi
Kod ve donanıma hazır olduğunuzda, Solenoid Kapı Kilidi projesini test etmeye başlayabilirsiniz. Burada, kapak üzerine kolayca monte edilebilmesi için kart üzerindeki tüm bileşenleri lehimledik.
Bu yüzden test etmek için, perf panoyu kapı çerçevesine ve mıknatısı kapının hareketini algılayabilmesi için kapıya monte edin. Aşağıdaki resim mıknatıs ve Hall sensörlerinin kapıya nasıl sabitlendiğini göstermektedir.
Şimdi kapı kilidini açmak için yetkili RFID kartınızı tarayın. Solenoid kapı kilidi, Hall Effect sensör çıkışı yüksek olana kadar açık kalacaktır. Artık kapı kapanırken tekrar Hall sensörüne yaklaştığında, Hall Effect sensörünün durumu manyetik alan (kapıya takılı mıknatıs tarafından üretilen) nedeniyle Düşük olarak değişecek ve kilit tekrar kapanacaktır.
Hall Effect sensörünü kullanmak yerine, kapıyı belirli bir süre açık tutmak için bir gecikme ekleyebilirsiniz.
Tam kod ve çalışma videosu aşağıda verilmiştir. Ayrıca, farklı teknolojiler kullanarak diğer kapı kilidi türlerini kontrol edin.