RFID (Radio Frequency Identification) adalah teknologi yang murah dan mudah diakses. Ia boleh digunakan dalam banyak aplikasi seperti kawalan akses, keselamatan, penjejakan aset, pengesanan orang, dll. Anda pernah melihat sistem RFID Door Lock di Hotel, pejabat, dan banyak tempat lain di mana anda hanya perlu meletakkan kad berhampiran pembaca RFID sekejap dan pintu akan dibuka. Kami menggunakan pembaca dan tag RFID dalam banyak projek berasaskan RFID.
Dalam catatan sebelumnya, kami telah membina kunci pintu RFID sederhana, kali ini kami menggunakan Kunci Pintu Solenoid sebenar dan mengawalnya dengan RFID dan Arduino. Di sini sensor Hall Effect dan magnet digunakan untuk mengesan pergerakan pintu. Sensor Hall Effect akan diletakkan pada bingkai pintu dan magnet pada pintu itu sendiri. Apabila sensor Hall Effect dan magnet saling berdekatan, sensor Hall Effect akan berada dalam keadaan rendah dan pintu akan tetap tertutup, dan apabila sensor dan magnet tidak dekat berarti pintu terbuka dan sensor hall berada di tinggi negeri. Kami akan menggunakan mekanisme Hall Effect ini untuk mengunci dan membuka kunci pintu secara automatik. Untuk mengetahui lebih lanjut mengenai Hall Sensor dan yang berfungsi, ikuti pautan.
Komponen Diperlukan
- Arduino Uno
- Modul RFID-RC522
- Kunci Solenoid 12v
- Modul Relay
- Sensor Kesan Dewan
- Perintang 10kΩ
- Buzzer
Kunci Solenoid
Kunci solenoid berfungsi pada mekanisme penguncian mekanikal elektronik. Kunci jenis ini mempunyai slug dengan potongan miring dan pendakap pemasangan yang baik. Apabila daya digunakan, DC membuat medan magnet yang menggerakkan slug ke dalam dan memastikan pintu berada dalam kedudukan tidak terkunci. Slug akan mengekalkan kedudukannya sehingga kuasa dikeluarkan. Apabila kuasa terputus, slug bergerak ke luar dan mengunci pintu. Ia tidak menggunakan kuasa dalam keadaan terkunci. Untuk mengunci kunci solenoid, anda memerlukan sumber kuasa yang dapat memberikan 12V @ 500mA.
Rajah Litar
Diagram Litar untuk Kunci Pintu Solenoid menggunakan Arduino diberikan di bawah.
Sambungan antara Arduino dan RFID diberikan dalam jadual di bawah. Pin positif buzzer disambungkan ke pin digital 4 Arduino, dan pin GND disambungkan ke pin tanah Arduino. Perintang 10K digunakan antara pin VCC dan OUT sensor Hall Effect. Kunci solenoid disambungkan ke Arduino melalui modul geganti.
Pin RFID | Arduino Uno Pin |
SDA | Digital 10 |
SCK | Digital 13 |
MOSI | Digital 11 |
MISO | Digital 12 |
IRQ | Tidak bersambung |
GND | GND |
RST | Digital 9 |
3.3V | 3.3V |
Pin Sensor Kesan Dewan | Arduino Uno Pin |
5V | 5V |
GND | GND |
KELUAR | 3 |
Setelah menyolder semua komponen pada papan perf mengikut rajah litar, ia seperti gambar di bawah:
Penjelasan Kod
Kod lengkap untuk kunci solenoid Arduino ini diberikan di akhir dokumen. Di sini kami menerangkan kod ini langkah demi langkah untuk pemahaman yang lebih baik.
Mulakan kod dengan memasukkan semua perpustakaan yang diperlukan. Di sini hanya memerlukan dua perpustakaan, satu untuk komunikasi SPI antara Arduino dan RFID, dan yang kedua untuk modul RFID. Kedua-dua perpustakaan boleh dimuat turun dari pautan yang diberikan di bawah:
- SPI.h
- MFRC522.h
Sekarang tentukan pin untuk Buzzer, Solenoid Lock dan RFID Module
int Buzzer = 4; const int LockPin = 2; #tentukan SS_PIN 10 #tentukan RST_PIN 9
Kemudian tentukan pin Lock dan pin Buzzer sebagai output, dan pin sensor Effect Hall sebagai input dan mulakan komunikasi SPI.
pinMode (LockPin, OUTPUT); pinMode (Buzzer, OUTPUT); pinMode (hall_sensor, INPUT); SPI.begin (); // Mulakan bas SPI mfrc522.PCD_Init (); // Mulakan MFRC522
Di dalam gelung kekosongan , baca nilai sensor ruang, dan apabila ia menjadi rendah, tutup pintu.
nyatakan = digitalRead (hall_sensor); Serial.print (negeri); kelewatan (3000); jika (state == LOW) {digitalWrite (LockPin, LOW); Serial.print ("Pintu Ditutup"); digitalWrite (Buzzer, TINGGI); kelewatan (2000); digitalWrite (Buzzer, RENDAH);}
Di dalam fungsi gelung void, ia akan memeriksa sama ada kad RFID baru ada, dan jika kad baru ada, maka ia akan memeriksa UID kad. Untuk kad yang sah, ia akan membuka kunci; jika tidak, ia akan mencetak ' Anda tidak dibenarkan. 'Kerja lengkap ditunjukkan dalam video yang diberikan di akhir.
jika (! mfrc522.PICC_IsNewCardPresent ()) {kembali; } // Pilih salah satu kad jika (! Mfrc522.PICC_ReadCardSerial ()) {return; } // Tunjukkan UID pada monitor bersiri String content = ""; surat bait; untuk (byte i = 0; i <mfrc522.uid.size; i ++) {content.concat (String (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (Rentetan (mfrc522.uid.uidByte, HEX)); } Bersiri.println (); Serial.print ("Mesej:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // ubah di sini UID kad / kad yang ingin anda beri akses {digitalWrite (LockPin, TINGGI); Serial.print ("Pintu Tidak Berkunci"); digitalWrite (Buzzer, TINGGI); kelewatan (2000); digitalWrite (Buzzer, RENDAH); } lain {Serial.println ("Anda tidak Dibenar"); digitalWrite (Buzzer, TINGGI); kelewatan (2000); digitalWrite (Buzzer,RENDAH); }}
Menguji Kunci Solenoid RFID
Setelah anda siap dengan kod dan perkakasan, anda boleh mula menguji projek Solenoid Door Lock. Di sini kita telah menyolder semua komponen pada papan perf supaya dapat dipasang di pintu dengan mudah.
Jadi untuk mengujinya, pasangkan papan perf pada bingkai pintu dan magnet di pintu sehingga dapat mengesan pergerakan pintu. Gambar di bawah menunjukkan bagaimana magnet dan sensor Hall terpasang di pintu.
Sekarang imbas kad RFID anda yang sah untuk membuka kunci pintu. Kunci pintu solenoid akan tetap terbuka sehingga output sensor Hall Effect tinggi. Sekarang apabila pintu kembali mendekati sensor Hall semasa ditutup, status sensor Hall Effect akan berubah menjadi Rendah kerana medan magnet (dihasilkan oleh magnet yang terpasang di pintu), dan kunci akan ditutup lagi.
Daripada menggunakan sensor Hall Effect, anda boleh memperkenalkan kelewatan untuk membiarkan pintu terbuka untuk waktu yang ditentukan.
Kod lengkap dan video kerja diberikan di bawah. Juga, periksa jenis kunci pintu lain menggunakan teknologi yang berbeza.