Daftar Isi:

Kunci Pintu Arduino RFID: 5 Langkah (dengan Gambar)
Kunci Pintu Arduino RFID: 5 Langkah (dengan Gambar)

Video: Kunci Pintu Arduino RFID: 5 Langkah (dengan Gambar)

Video: Kunci Pintu Arduino RFID: 5 Langkah (dengan Gambar)
Video: Tutorial Membuat Kunci Pintu Berbasis Arduino, RFID, Doorlock dan E-KTP 2024, Juli
Anonim
Kunci Pintu Arduino RFID
Kunci Pintu Arduino RFID
Kunci Pintu Arduino RFID
Kunci Pintu Arduino RFID
Kunci Pintu Arduino RFID
Kunci Pintu Arduino RFID
Kunci Pintu Arduino RFID
Kunci Pintu Arduino RFID

***Diperbarui 8/9/2010*** Saya ingin membuat cara yang mudah dan aman untuk memasuki garasi saya. RFID adalah cara terbaik untuk membuka kunci pintu saya, bahkan dengan tangan penuh saya dapat membuka kunci pintu dan mendorongnya terbuka! Saya membangun rangkaian sederhana dengan chip arduino ATMega 168 dasar dan pembaca RFID ID-20 untuk mengontrol kunci pintu elektronik. Rangkaian terdiri dari 3 bagian terpisah, Reader untuk membaca tag RFID, Controller untuk menerima data dari reader dan mengontrol output dari LED RGB dan kunci pintu Elektrik. Kunci pintu pertama kali dipasang di pintu dan diuji dengan baterai 9v untuk memastikan pemasangan yang benar. Dalam kebanyakan kasus, Anda menginginkan sirkuit Biasanya Terbuka pada kunci pintu, atau Fail Secure. Ini berarti pintu tetap terkunci ketika tidak ada arus yang melewatinya. Ketika 12vDC dilewatkan melalui elektromagnet di kunci pintu, pelat di kunci memberi jalan dan memungkinkan pintu didorong terbuka dengan bebas. Pembaca ditempatkan di luar pintu dan terpisah dari pengontrol di bagian dalam sehingga tidak ada yang dapat menghindari keamanan dengan membuka Pembaca dan mencoba membuat hubungan pendek pembaca. Controller menerima data serial dari Reader dan mengontrol led RGB dan kunci pintu. Dalam hal ini saya telah meletakkan keduanya di papan roti terpisah untuk pengujian. Berikut adalah ikhtisar video dari sistem yang sedang beraksi Baca terus untuk melihat bagaimana membangunnya untuk diri Anda sendiri! **Update** Semua kode, skema, dan desain PCB telah diuji dan disempurnakan. Semuanya diposting di sini pada 8/9/2010 Video yang diperbarui dari sistem final yang diinstal dan berfungsi.

Langkah 1: Bagian yang Dibutuhkan

Bagian yang Dibutuhkan
Bagian yang Dibutuhkan

Berikut adalah daftar suku cadang dan tautan ke SparkFun.com tempat saya membelinya. Ini adalah set dasar bagian yang Anda butuhkan untuk membangun dan arduino dan sirkuit untuk membaca tag RFID ke dalam arduino. Saya berasumsi Anda sudah memiliki papan tempat memotong roti, catu daya, dan kabel penghubung.

Barang Arduino

ATmega168 dengan Arduino Bootloader $4,95

Kristal 16MHz $1,50

Keramik Kapasitor 22pF $0,25 (x2)

Resistor 10k Ohm 1/6 Watt PTH $0,25

Saklar Tombol Tekan Mini $0,35

Tiga Output LED RGB - Tersebar $1,95

barang RFID

Salah satunya, 20 memiliki jangkauan yang lebih baik, 12 lebih kecilRFID Reader ID-12 $29.95RFID Reader ID-20 $34.95

Pembobolan Pembaca RFID $0,95

Break Away Header - Lurus $2,50

Tag RFID - 125kHz $1,95

Lainnya

Transistor TIP31A (gubuk radio/toko elektronik lokal $1,50)

Kunci Pintu dari ebay. Pintu Gagal Kontrol akses yang aman Electric Strike v5 NO $17.50 (kawamall, bay)

Langkah 2: Bangun Pengontrol Arduino

Bangun Pengontrol Arduino
Bangun Pengontrol Arduino
Bangun Pengontrol Arduino
Bangun Pengontrol Arduino
Bangun Pengontrol Arduino
Bangun Pengontrol Arduino

Langkah pertama untuk membangun kunci pintu RFID dengan Arduino dasar adalah membuat papan roti dari Arduino kerja dasar. Sebagian besar chip ATMega 168 pra-flash Arduino dilengkapi dengan program kedip default yang sudah diinstal sebelumnya. Hubungkan LED ke output digital 13 dan pastikan semuanya berfungsi.

Bagian perangkat keras dari pembaca RFID ini akan terlalu sederhana jika kita menggunakan arduino biasa dengan programer USB bawaan. Karena saya berencana untuk meletakkan ini ke dinding dan tidak menyentuhnya lagi, saya tidak ingin menggunakan papan arduino $30 yang besar dan besar ketika saya dapat membeli ATMega 168 $5 dan membuat PCB kustom yang jauh lebih kecil.

Karena saya memilih untuk membuat sendiri rangkaian Arduino dasar, saya memerlukan programmer USB->Serial FDIT eksternal. Saya telah menyertakan skema Elang dari pengontrol dengan catu daya yang dibuat dari regulator tegangan 7805. Dalam pengujian saya menggunakan catu daya papan roti.

Untuk mengaktifkan dan menjalankan arduino, yang Anda perlukan hanyalah ATMega168 dengan perangkat lunak arduino yang di-flash di atasnya, kapasitor 2x 22pF, kristal 16mhz, resistor 10k ohm, tombol tekan, dan papan tempat memotong roti. Sambungan untuk ini sudah terkenal tetapi saya telah menyertakan seluruh skema untuk rangkaian.

Arduino akan memicu 4 output, masing-masing 1 untuk LED Merah/Hijau/Biru, dan 1 untuk memicu TIP31A untuk mengirim 12vDC ke kunci pintu. Arduino menerima data serial di jalur Rx-nya dari pembaca RFID ID-20.

Langkah 3: Bangun Pembaca RFID

Bangun Pembaca RFID
Bangun Pembaca RFID
Bangun Pembaca RFID
Bangun Pembaca RFID
Bangun Pembaca RFID
Bangun Pembaca RFID

Sekarang setelah roti arduino Anda terpasang dan berfungsi, Anda dapat mengumpulkan bagian pembaca RFID dari rangkaian yang akan berisi ID-10 atau ID-20 dan LED RGB untuk menunjukkan status rangkaian. Ingatlah bahwa pembaca akan berada di luar dan terpisah dari pengontrol di dalam sehingga seseorang tidak dapat dengan mudah masuk.

Untuk membangun ini, kami akan mengirim 5v/Ground dari papan roti utama ke papan roti sekunder tempat kami membangun Pembaca. Juga kirim lebih dari 3 kabel dari 3 pin output arduino untuk mengontrol LED RGB, satu untuk setiap warna. Satu kabel lagi, Brown dalam gambar, akan menjadi koneksi serial untuk ID-20 untuk berbicara dengan input serial Rx arduino. Ini adalah rangkaian yang sangat sederhana untuk dihubungkan. Resistor get LED dan beberapa titik pada ID-20 diikat ke ground/5v untuk mengatur status yang benar.

Untuk mempermudah papan tempat memotong roti, ID-10/ID-20 Sparkfun menjual papan Breakout yang memungkinkan Anda untuk memasang pin header yang lebih panjang yang diberi jarak agar sesuai dengan papan roti. Bagian ini dan kepala peniti dan tercantum dalam daftar bagian.

Skema harus lurus ke depan dan mudah diikuti.

Langkah 4: Program

Saatnya memprogram arduino Anda. Ini bisa sedikit rumit menggunakan arduino dasar, Anda mungkin harus menekan tombol reset beberapa kali sebelum dan selama bagian pertama pengunggahan. Hal yang sangat penting untuk diingat, Anda AKAN mendapatkan kesalahan unggah jika Anda tidak memutuskan sementara jalur serial ID-20 ke jalur Rx arduino. ATMega168 hanya memiliki 1 input Rx dan menggunakannya untuk mengunggah kode untuk berbicara dengan programmer. Putuskan sambungan ID-20 saat memprogram lalu pasang kembali saat Anda selesai. Saya menggunakan programmer FTDI yang memungkinkan Anda memprogram arduino melalui USB hanya dengan 4 kabel. Skema Pengendali menunjukkan koneksi header pin untuk memungkinkan Anda mencolokkannya secara langsung. Sparkfun juga menjual bagian ini tetapi mungkin banyak yang sudah memilikinya.

Anda dapat dengan mudah mengunggah kode saya ke arduino Anda dan tidak pernah melihat ke belakang tetapi apa kesenangannya? Mari saya jelaskan ide dasar cara kerjanya.

Pertama-tama, saya tidak ingin tombol/saklar eksternal/dll dan saya tidak ingin memprogram ulang arduino setiap kali saya ingin menambahkan kartu baru. Oleh karena itu saya hanya ingin menggunakan RFID untuk mengontrol operasi rangkaian serta mengontrol kunci pintu.

Program menyalakan LED Biru untuk menunjukkan bahwa ia siap membaca kartu baru. Ketika kartu dibaca, ia memutuskan apakah itu kartu yang valid atau tidak dengan membandingkan apa yang dibacanya dengan daftar kartu yang valid. Jika user valid maka arduino mematikan LED Biru dan menyalakan LED Hijau selama 5 detik. Itu juga menyalakan output tinggi lainnya selama 5 detik. Output ini terhubung ke transistor TIP31A dan memungkinkan arduino kecil untuk mengontrol kunci pintu 12v 300mA yang jauh lebih besar tanpa rusak. Setelah 5 detik, kunci pintu terkunci kembali dan LED kembali menjadi biru untuk menunggu kartu lain terbaca. Jika kartu tidak valid maka LED berubah menjadi MERAH selama beberapa detik dan kembali ke Biru untuk menunggu kartu lain.

Penting agar kunci pintu tetap berfungsi meskipun arduino kehilangan daya semalaman atau disetel ulang. Oleh karena itu semua ID kartu yang valid disimpan dalam memori EEPROM. ATMega168 memiliki memori EEPROM 512 Bytes. Setiap kartu RFID memiliki nomor seri 5 Hex Byte dan jumlah Cek 1 Hex Byte yang dapat kita gunakan untuk memverifikasi tidak ada kesalahan dalam transmisi antara ID-20 dan arduino.

Kartu yang valid disimpan di EEPROM dengan menggunakan Byte pertama sebagai penghitung. Misalnya, jika ada 3 kartu valid yang disimpan, Byte pertama di EEPROM adalah 3. EEPROM.read(0); = 3. Mengetahui hal ini, dan fakta bahwa setiap ID panjangnya 5 Bytes kita tahu bahwa 1-5 adalah kartu satu, 6-10 adalah kartu 2 dan 11-15 adalah kartu 3. Kita dapat membuat loop yang terlihat melalui EEPROM 5 byte sekaligus dan mencoba menemukan kartu yang dibaca oleh pembaca.

Tapi bagaimana kita bisa menambahkan kartu baru ke EEPROM setelah rangkaian terpasang?? Saya telah membaca di salah satu kartu RFID yang saya miliki dan mengkodekannya dengan keras menjadi kartu Master RFID. Jadi meskipun seluruh EEPROM dihapus, kartu master akan tetap berfungsi. Setiap kali sebuah kartu dibaca, ia memeriksa terlebih dahulu untuk melihat apakah itu kartu Master, jika tidak, kemudian melanjutkan untuk melihat apakah itu kartu yang valid atau tidak. Jika kartu tersebut adalah kartu master, kami meminta arduino masuk ke "mode pemrograman" di mana ia berkedip RGB dan menunggu tag lain yang valid untuk dibaca. Tag berikutnya yang dibaca ditambahkan ke tempat kosong berikutnya di EEPROM dan penghitung bertambah 1 jika kartu belum ada di memori EEPROM. Pembaca kemudian kembali ke mode normal dan menunggu kartu baru dibaca.

Saat ini saya belum memprogram cara untuk menghapus kartu karena alasan untuk menghapus kartu kemungkinan besar karena hilang atau dicuri. Karena ini kemungkinan besar akan digunakan dengan 1-10 orang, hal termudah untuk dilakukan adalah memprogram kartu Master Erase yang akan menghapus semua kartu dari EEPROM kemudian menambahkan semuanya kembali, yang hanya membutuhkan beberapa detik. Saya telah menambahkan kode untuk menghapus EEPROM tetapi saya belum mengimplementasikan fitur ini..

Kode dilampirkan dalam file teks bersama dengan salinan daftar bagian.

Langkah 5: Perluas

Ini hanya beberapa hal keren yang dapat Anda lakukan dengan RFID. Anda dapat memperluas ini lebih jauh dengan output LCD, mencatat siapa yang masuk dan kapan, koneksi jaringan/twitter, dll. Saya berencana membuat versi PCB yang sudah jadi dari rangkaian ini. Saya belum pernah membuat PCB sebelumnya jadi saya masih mengerjakan desain dan tata letak bagian-bagiannya. Setelah saya menyelesaikannya, saya akan mempostingnya juga. Saya mendorong siapa pun untuk mengambil kode yang telah saya tulis dan memodifikasinya untuk melakukan hal-hal yang lebih keren lagi!

Finalis dalam Kontes Arduino

Direkomendasikan: