- Bahan Yang Digunakan
- Modul Pembaca RFID EM18
- Ketahui RFID Tag Unik 12 digit Kod menggunakan Arduino
- Rajah Litar
- Modul Sensor Cetakan Jari
- Pengaturcaraan untuk Pencucuhan Tanpa Kunci RFID
Pada masa ini, kebanyakan kereta dilengkapi dengan sistem masuk tanpa kunci dan butang tekan, di mana anda hanya perlu membawa kunci di dalam poket anda dan hanya perlu meletakkan jari anda pada sensor kapasitif pada pemegang pintu untuk membuka pintu kereta. Di sini, dalam projek ini, kami menambahkan beberapa lagi ciri keselamatan ke sistem ini dengan menggunakan sensor RFID dan Cap Jari. Sensor RFID akan mengesahkan lesen pengguna dan sensor cap jari hanya akan membenarkan orang yang berwenang di dalam kenderaan.
Untuk Sistem Pencucuhan Kereta Berasaskan Sidik Jari ini, kami menggunakan Arduino dengan sensor cap jari R305 dan pembaca EM18 RFID.
Bahan Yang Digunakan
- Arduino Nano
- Sensor cap jari R305
- Pembaca RFID EM18
- 16 * 2 LCD Alphanumerik
- Motor DC
- IC Pemacu motor L293D
- Veroboard atau Breadboard (Mana-mana yang ada)
- Menyambung wayar
- Bateri DC 12V
Modul Pembaca RFID EM18
RFID bermaksud pengenalan frekuensi Radio. Ini merujuk pada teknologi, di mana data digital dikodekan dalam tag RFID dan mereka dapat didekode oleh pembaca RFID menggunakan gelombang radio. RFID mirip dengan barcoding di mana data dari tag didekod oleh peranti. Teknologi RFID digunakan dalam pelbagai aplikasi seperti Sistem keselamatan, sistem kehadiran Karyawan, Kunci Pintu RFID, Mesin Pengundian Berasaskan RFID, Sistem Pengumpulan Tol, dll.
EM18 Reader adalah modul yang dapat membaca maklumat ID yang tersimpan dalam tag RFID. Tag RFID menyimpan 12 digit nombor unik yang dapat disahkod oleh modul pembaca EM18, apabila tag tersebut berada dalam jarak dekat dengan Pembaca. Modul ini beroperasi pada frekuensi 125 kHz, yang mempunyai antena terbina dalam, dan dikendalikan menggunakan bekalan kuasa DC 5 volt.
Ini memberikan output data bersiri, dan mempunyai jarak 8-12 cm. Parameter komunikasi bersiri adalah 8 bit data, 1 stop bit, dan 9600 baud rate.
Ciri EM18:
- Voltan operasi: + 4.5V hingga + 5.5V DC
- Penggunaan semasa: 50mA
- Kekerapan operasi: 125KHZ
- Suhu operasi: 0-80 darjah C
- Kadar Baud Komunikasi: 9600
- Jarak bacaan: 8-12 cm
- Antena: Terbina dalam
Pin Pin EM18:
Huraian pin:
VCC: Input voltan DC 4.5- 5V
GND: Pin tanah
Buzzer: Buzzer atau pin LED
TX: Pin pemancar data bersiri EM18 untuk RS232 (Output)
SEL: Ini mesti TINGGI untuk menggunakan RS232 (RENDAH jika menggunakan WEIGAND)
Data 0: Data WEIGAND 0
Data 1: Data WEIGAND 1
Untuk mengetahui lebih lanjut mengenai RFID dan tag, periksa projek berdasarkan RFID kami sebelumnya.
Ketahui RFID Tag Unik 12 digit Kod menggunakan Arduino
Sebelum memprogram sistem penyalaan kereta Arduino untuk Arduino, pertama, kita perlu mengetahui kod unik tag RFID 12 digit. Seperti yang telah kita bincangkan sebelumnya, tag RFID mengandungi 12 digit kod unik dan ia dapat disahkod dengan menggunakan pembaca RFID. Apabila kita meleretkan tag RFID berhampiran Pustaka, Pembaca akan memberikan kod unik melalui port bersiri output. Pertama, sambungkan Arduino ke pembaca RFID seperti rajah litar dan kemudian muat naik kod di bawah yang diberikan ke Arduino.
kiraan int = 0; kad char_no; persediaan tidak sah () {Serial.begin (9600); } gelung void () {if (Serial.available ()) {kiraan = 0; sementara (Serial.available () && hitung <12) {card_no = Serial.read (); kira ++; kelewatan (5); } Serial.print (kad_no); }}
Setelah berjaya memuat naik kod, buka monitor bersiri, dan tetapkan kadar baud ke 9600. Kemudian leret kad berhampiran Pustaka. Kemudian kod 12 digit akan mula dipaparkan pada monitor bersiri. Lakukan proses ini untuk semua tag RFID yang digunakan dan catatnya untuk rujukan masa depan.
Rajah Litar
Gambarajah litar untuk Sistem Pencucuhan berasaskan Cap Jari ini diberikan di bawah:
Dalam kes saya, saya telah memasangkan litar lengkap pada papan perf seperti gambar di bawah:
Modul Sensor Cetakan Jari
Finger Print Sensor Module atau Finger Print Scanner adalah modul yang menangkap gambar cetakan jari dan kemudian mengubahnya menjadi templat yang setara dan menyimpannya ke dalam ingatannya pada ID (lokasi) terpilih oleh Arduino. Di sini semua proses diperintahkan oleh Arduino seperti mengambil gambar cap jari, mengubahnya menjadi templat, dan menyimpan lokasi, dll.
Kami sebelumnya menggunakan sensor R305 yang sama untuk membina mesin mengundi, sistem kehadiran, sistem keselamatan, dan lain-lain. Anda boleh menyemak semua projek berdasarkan cap jari di sini.
Mendaftarkan Cap Jari ke Sensor:
Sebelum meneruskan program, kita perlu memasang perpustakaan yang diperlukan untuk sensor cap jari. Di sini kami telah menggunakan " Adafruit_Fingerprint.h " untuk menggunakan sensor cap jari R305. Oleh itu, muat turun perpustakaan terlebih dahulu menggunakan pautan yang diberikan di bawah:
- Perpustakaan sensor cap jari adafruit
Setelah berjaya memuat turun, Di Arduino IDE, pergi ke Fail > Alat> Sertakan perpustakaan> Tambahkan perpustakaan.zip dan kemudian pilih lokasi fail zip untuk memasang perpustakaan.
Setelah pemasangan perpustakaan berjaya, ikuti langkah-langkah yang diberikan di bawah untuk mendaftarkan cap jari baru dalam memori sensor.
1. Dalam Arduino IDE, pergi ke Fail > Contoh > Perpustakaan Sensor Cap Jari Adafruit > Daftar.
2. Muat naik kod ke Arduino, dan buka monitor Serial pada kadar baud 9600.
Penting: Tukar pin siri Perisian dalam program ke SoftwareSerial mySerial (12, 11).
3. Anda harus memasukkan ID untuk cap jari di mana anda ingin menyimpan cap jari anda. Kerana ini adalah cap jari pertama saya, saya menaip 1 di sudut kiri atas, dan kemudian, klik butang Hantar.
4. Kemudian lampu pada sensor sidik jari akan berkedip yang menunjukkan bahawa anda harus meletakkan jari anda pada sensor dan setelah itu ikuti langkah-langkah yang ditunjukkan pada monitor bersiri sehingga ia mengakui anda berjaya mendaftar.
Pengaturcaraan untuk Pencucuhan Tanpa Kunci RFID
Kod lengkap untuk Sistem Pencucuhan Biometrik ini diberikan pada akhir tutorial. Di sini kami menerangkan beberapa bahagian penting kod tersebut.
Perkara pertama adalah memasukkan semua perpustakaan yang diperlukan. Di sini, saya telah memasukkan " Adafruit_Fingerprint.h " untuk menggunakan sensor cap jari R305. Kemudian konfigurasikan port bersiri di mana sensor cap jari akan disambungkan. Dalam kes saya, saya telah menyatakan 12 sebagai pin RX dan 11 sebagai pin TX.
#sertakan #sertakan
Pada langkah seterusnya, nyatakan semua pemboleh ubah, yang akan digunakan di seluruh kod. Kemudian tentukan pin sambungan LCD dengan Arduino diikuti dengan pengisytiharan objek kelas LiquidCrystal .
input char; kiraan int = 0; int a = 0; const int rs = 6, en = 7, d4 = 2, d5 = 3, d6 = 4, d7 = 5; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
Seterusnya, di dalam gelung (), kod ditulis untuk mendapatkan kod 12 digit unik dari tag RFID dan ia disimpan dalam tatasusunan. Di sini elemen array akan dipadankan dengan kod unik yang tersimpan dalam memori, untuk mendapatkan maklumat orang yang disahkan.
kiraan = 0; sementara (Serial.available () && hitung <12) { input = Serial.read (); kira ++; kelewatan (5); }
Kemudian, susunan yang diterima dibandingkan dengan kod teg yang disimpan. Sekiranya kod tersebut dipadankan, maka lesen dianggap sah, yang membolehkan pengguna meletakkan cap jari yang sah. Jika tidak, ia akan menunjukkan lesen yang tidak sah.
jika ((strncmp (input, "3F009590566C", 12) == 0) && (a == 0)) { lcd.setCursor (0, 0); lcd.print ("Lesen Sah"); lcd.setCursor (0, 1); lcd.print ("Selamat Datang"); kelewatan (1000); a = 1; cap jari (); }
Pada langkah seterusnya, fungsi getFingerprintID ditulis yang akan mengembalikan ID cap jari yang sah untuk cap jari yang sudah didaftarkan.
int getFingerprintID () { uint8_t p = finger.getImage (); jika (p! = FINGERPRINT_OK) kembali -1; p = jari.image2Tz (); jika (p! = FINGERPRINT_OK) kembali -1; p = finger.fingerFastSearch (); jika (p! = FINGERPRINT_OK) kembali -1; mengembalikan jari.fingerID; }
Sidik jari fungsi dalam () , yang dipanggil setelah pertandingan RFID yang berjaya, fungsi getFingerprintID dipanggil untuk mendapatkan ID cap jari yang sah. Kemudian dibandingkan dengan menggunakan gelung if-else untuk mendapatkan maklumat mengenai data orang yang disahkan dan jika data dipadankan, maka kenderaan dinyalakan, jika tidak, ia akan meminta Sidik Jari yang salah.
int cap jariID = getFingerprintID (); kelewatan (50); jika (cap jariID == 1) { lcd.setCursor (0, 0); lcd.print ("Akses Diberikan"); lcd.setCursor (0, 1); lcd.print ("Kenderaan Dimulakan"); digitalWrite (9, TINGGI); digitalWrite (10, RENDAH); sementara (1); }
Jadi ini adalah bagaimana Sistem Penyalaan Kereta RFID ini berfungsi yang menambahkan dua lapisan keselamatan pada kereta anda.
Kod lengkap dan video demonstrasi diberikan di bawah.