- Bahan-bahan yang digunakan
- Modul Pembaca RFID EM18
- Cari tahu Tag RFID Kode 12 digit Unik menggunakan Arduino
- Diagram Sirkuit
- Modul Sensor Sidik Jari
- Pemrograman untuk Pengapian Tanpa Kunci RFID
Saat ini sebagian besar mobil hadir dengan keyless entry dan push-button ignition system, di mana Anda hanya perlu membawa kunci di saku dan hanya perlu meletakkan jari Anda pada sensor kapasitif pada pegangan pintu untuk membuka pintu mobil. Di sini, di proyek ini, kami menambahkan beberapa fitur keamanan lagi ke sistem ini dengan menggunakan RFID dan sensor sidik jari. Sensor RFID akan memvalidasi lisensi pengguna dan sensor sidik jari hanya akan mengizinkan orang yang berwenang di dalam kendaraan.
Untuk Sistem Pengapian Mobil Berbasis Sidik Jari ini, kami menggunakan Arduino dengan sensor Sidik Jari R305 dan pembaca RFID EM18.
Bahan-bahan yang digunakan
- Arduino Nano
- Sensor sidik jari R305
- Pembaca RFID EM18
- 16 * 2 LCD alfanumerik
- Motor DC
- L293D IC driver motor
- Veroboard atau Breadboard (Mana pun yang tersedia)
- Menghubungkan kabel
- Baterai 12V DC
Modul Pembaca RFID EM18
RFID adalah singkatan dari identifikasi frekuensi Radio. Ini mengacu pada teknologi, di mana data digital dikodekan dalam tag RFID dan dapat diterjemahkan oleh pembaca RFID menggunakan gelombang radio. RFID mirip dengan barcode di mana data dari tag diterjemahkan oleh perangkat. Teknologi RFID digunakan dalam berbagai aplikasi seperti Sistem Keamanan, Sistem Absensi Karyawan, Kunci Pintu RFID, Mesin Voting Berbasis RFID, Sistem Pengumpulan Tol, dll.
EM18 Reader adalah modul yang dapat membaca informasi ID yang disimpan dalam tag RFID. Tag RFID menyimpan 12 digit nomor unik yang dapat didekodekan oleh modul pembaca EM18, jika tag tersebut berada dalam jangkauan Pembaca. Modul ini beroperasi pada frekuensi 125 kHz yang memiliki antena inbuilt dan dioperasikan menggunakan catu daya DC 5 volt.
Ini memberikan output data serial, dan memiliki jangkauan 8-12 cm. Parameter komunikasi serial adalah 8 bit data, 1 stop bit, dan 9600 baud rate.
Fitur EM18:
- Tegangan operasi: + 4.5V hingga + 5.5V DC
- Konsumsi saat ini: 50mA
- Frekuensi operasi: 125KHZ
- Suhu pengoperasian: 0-80 derajat C.
- Tingkat Baud Komunikasi: 9600
- Jarak baca: 8-12 cm
- Antena: Inbuilt
Pinout EM18:
Deskripsi pin:
VCC: input tegangan DC 4,5- 5V
GND: Pin ground
Buzzer: Buzzer atau pin LED
TX: Pin pemancar data serial EM18 untuk RS232 (Output)
SEL: Ini harus HIGH untuk menggunakan RS232 (LOW jika menggunakan WEIGAND)
Data 0: Data WEIGAND 0
Data 1: Data WEIGAND 1
Untuk mempelajari lebih lanjut tentang RFID dan tag, periksa proyek berbasis RFID kami sebelumnya.
Cari tahu Tag RFID Kode 12 digit Unik menggunakan Arduino
Sebelum memprogram sistem pengapian mobil Arduino for Arduino, terlebih dahulu kita perlu mengetahui kode unik tag RFID 12 digit. Seperti yang telah kita bahas sebelumnya, tag RFID berisi kode unik 12 digit dan dapat didekodekan dengan menggunakan pembaca RFID. Saat kita menggesek tag RFID di dekat Reader, Reader akan memberikan kode unik melalui port serial keluaran. Pertama, hubungkan Arduino ke pembaca RFID sesuai diagram sirkuit dan kemudian unggah kode yang diberikan di bawah ini ke Arduino.
int hitung = 0; char card_no; void setup () {Serial.begin (9600); } void loop () {if (Serial.available ()) {count = 0; sementara (Serial.available () && count <12) {card_no = Serial.read (); hitung ++; penundaan (5); } Serial.print (card_no); }}
Setelah berhasil mengupload kode, buka monitor serial, dan setel baud rate ke 9600. Kemudian geser kartu di dekat Reader. Kemudian kode 12 digit akan mulai ditampilkan di monitor serial. Lakukan proses ini untuk semua tag RFID yang digunakan dan catat untuk referensi di masa mendatang.
Diagram Sirkuit
Diagram sirkuit untuk Sistem Pengapian berbasis Sidik Jari ini diberikan di bawah ini:
Dalam kasus saya, saya telah menyolder rangkaian lengkap pada papan perf seperti yang ditunjukkan di bawah ini:
Modul Sensor Sidik Jari
Finger Print Sensor Module atau Finger Print Scanner adalah modul yang menangkap gambar sidik jari dan kemudian mengubahnya menjadi template yang setara dan menyimpannya ke dalam memori pada ID yang dipilih (lokasi) oleh Arduino. Di sini semua proses diperintahkan oleh Arduino seperti mengambil gambar sidik jari, mengubahnya menjadi templat, dan menyimpan lokasi, dll.
Kami sebelumnya menggunakan sensor R305 yang sama untuk membangun mesin pemungutan suara, sistem absensi, sistem keamanan, dll. Anda dapat memeriksa semua proyek berbasis sidik jari di sini.
Mendaftarkan Sidik Jari ke Sensor:
Sebelum melanjutkan dengan program, kita perlu menginstal pustaka yang diperlukan untuk sensor sidik jari. Di sini kami menggunakan “ Adafruit_Fingerprint.h ” untuk menggunakan sensor sidik jari R305. Jadi pertama-tama unduh perpustakaan menggunakan tautan yang diberikan di bawah ini:
- Perpustakaan sensor sidik jari Adafruit
Setelah berhasil mengunduh, Di Arduino IDE, buka File > Alat> Sertakan perpustakaan> Tambahkan perpustakaan.zip dan kemudian pilih lokasi file zip untuk menginstal perpustakaan.
Setelah instalasi perpustakaan berhasil, ikuti langkah-langkah yang diberikan di bawah ini untuk mendaftarkan sidik jari baru ke dalam memori sensor.
1. Di Arduino IDE, buka File > Contoh > Perpustakaan Sensor Sidik Jari Adafruit > Daftar.
2. Unggah kode ke Arduino, dan buka monitor Serial pada baud rate 9600.
Penting: Ubah pin serial Software dalam program ke SoftwareSerial mySerial (12, 11).
3. Anda harus memasukkan ID untuk sidik jari di mana Anda ingin menyimpan sidik jari Anda. Karena ini adalah sidik jari pertama saya, saya mengetik 1 di pojok kiri atas, lalu klik tombol Kirim.
4. Kemudian lampu pada sensor sidik jari akan berkedip yang menandakan bahwa Anda harus meletakkan jari Anda pada sensor tersebut dan setelah itu ikuti langkah-langkah yang ditampilkan pada monitor serial sampai ia memberi tahu Anda untuk pendaftaran yang berhasil.
Pemrograman untuk Pengapian Tanpa Kunci RFID
Kode lengkap untuk Sistem Pengapian Biometrik ini diberikan di akhir tutorial. Di sini kami menjelaskan beberapa bagian penting dari kode.
Hal pertama adalah menyertakan semua pustaka yang diperlukan. Di sini, dalam kasus saya, saya menyertakan " Adafruit_Fingerprint.h " untuk menggunakan sensor sidik jari R305. Kemudian konfigurasikan port serial tempat sensor sidik jari akan dihubungkan. Dalam kasus saya, saya telah menyatakan 12 sebagai RX Pin dan 11 sebagai pin TX.
#include #include
Pada langkah berikutnya, nyatakan semua variabel, yang akan digunakan di seluruh kode. Kemudian tentukan pin koneksi LCD dengan Arduino diikuti dengan deklarasi sebuah objek kelas LiquidCrystal .
masukan karakter; int hitung = 0; int a = 0; const int rs = 6, en = 7, d4 = 2, d5 = 3, d6 = 4, d7 = 5; LCD LiquidCrystal (rs, en, d4, d5, d6, d7);
Selanjutnya, di dalam loop (), kode ditulis untuk mendapatkan kode 12 digit unik dari tag RFID dan disimpan dalam array. Di sini elemen array akan dicocokkan dengan kode unik yang tersimpan di memori, untuk mendapatkan detail orang yang diautentikasi.
hitung = 0; sementara (Serial.available () && count <12) { input = Serial.read (); hitung ++; penundaan (5); }
Kemudian, larik yang diterima dibandingkan dengan kode tag yang disimpan. Jika kodenya cocok, maka lisensinya dianggap valid, yang memungkinkan pengguna untuk membubuhkan sidik jari yang valid. Jika tidak, itu akan menunjukkan lisensi yang tidak valid.
if ((strncmp (masukan, "3F009590566C", 12) == 0) && (a == 0)) { lcd.setCursor (0, 0); lcd.print ("Lisensi Berlaku"); lcd.setCursor (0, 1); lcd.print ("Selamat Datang"); penundaan (1000); a = 1; sidik jari(); }
Pada langkah berikutnya, fungsi getFingerprintID ditulis yang akan mengembalikan ID sidik jari yang valid untuk sidik jari yang sudah terdaftar.
int getFingerprintID () { uint8_t p = finger.getImage (); if (p! = FINGERPRINT_OK) return -1; p = finger.image2Tz (); if (p! = FINGERPRINT_OK) return -1; p = finger.fingerFastSearch (); if (p! = FINGERPRINT_OK) return -1; return finger.fingerID; }
Di dalam fungsi sidik jari () , yang dipanggil setelah pencocokan RFID berhasil, fungsi getFingerprintID dipanggil untuk mendapatkan ID sidik jari yang valid. Kemudian dibandingkan menggunakan loop if-else untuk mendapatkan informasi mengenai data orang yang diautentikasi dan jika datanya cocok, maka kendaraan akan dinyalakan, jika tidak maka akan memunculkan Fingerprint yang salah.
int fingerprintID = getFingerprintID (); penundaan (50); jika (fingerprintID == 1) { lcd.setCursor (0, 0); lcd.print ("Akses Diberikan"); lcd.setCursor (0, 1); lcd.print ("Kendaraan Dimulai"); digitalWrite (9, TINGGI); digitalWrite (10, LOW); sementara (1); }
Jadi beginilah cara kerja Sistem Pengapian Mobil RFID yang menambahkan dua lapisan keamanan ke mobil Anda.
Kode Lengkap dan video demonstrasi diberikan di bawah ini.