Isi kandungan:

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

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

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

*** Dikemas kini 8/9/2010 *** Saya ingin membuat cara yang mudah dan selamat untuk memasuki garaj saya. RFID adalah kaedah terbaik untuk membuka kunci pintu saya, walaupun dengan tangan penuh, saya dapat membuka pintu dan membukanya! Saya membina litar sederhana dengan cip arduino ATMega 168 asas dan pembaca RFID ID-20 untuk mengawal kunci pintu elektronik. Litar terdiri daripada 3 bahagian yang berasingan, Pembaca untuk membaca tag RFID, Pengawal untuk menerima data dari pembaca dan mengawal output LED RGB dan kunci pintu Elektrik. Kunci pintu pertama kali dipasang di pintu dan diuji dengan bateri 9v untuk memastikan pemasangan yang betul. Dalam kebanyakan kes, anda mahukan litar Normal Terbuka pada kunci pintu, atau Fail Secure. Ini bermaksud pintu tetap terkunci apabila tiada arus melaluinya. Apabila 12vDC melewati elektromagnet di kunci pintu, plat di kunci memberi jalan dan membolehkan pintu didorong terbuka dengan bebas. Pembaca diletakkan di bahagian luar pintu dan terpisah dari alat kawalan di bahagian dalam sehingga tidak ada yang dapat mengelakkan keselamatan dengan membuka Pembaca dan cuba melekatkan pembaca. Pengawal menerima data bersiri dari Pembaca dan mengawal led RGB dan kunci Pintu. Dalam kes ini, saya telah meletakkan kedua-duanya di papan roti berasingan untuk diuji. Berikut adalah gambaran keseluruhan video mengenai sistem dalam tindakan Baca terus untuk melihat bagaimana membuatnya untuk diri anda! ** Kemas kini ** Semua kod, skema, dan reka bentuk PCB telah diuji dan diperbaiki. Kesemuanya disiarkan di sini pada 8/9/2010 Video kemas kini sistem akhir yang dipasang dan berfungsi.

Langkah 1: Bahagian Diperlukan

Bahagian Diperlukan
Bahagian Diperlukan

Berikut adalah senarai bahagian dan pautan ke SparkFun.com tempat saya membelinya. Ini adalah set asas bahagian yang anda perlukan untuk membina dan arduino dan litar untuk membaca tag RFID ke dalam arduino. Saya menganggap anda sudah mempunyai papan roti, bekalan kuasa dan kabel penyambung.

Bahan Arduino

ATmega168 dengan Arduino Bootloader $ 4,95

Crystal 16MHz $ 1.50

Kapasitor Seramik 22pF $ 0.25 (x2)

Perintang 10k Ohm 1/6 Watt PTH $ 0.25

Suis Butang Tekan Mini $ 0.35

Triple Output LED RGB - Diffused $ 1.95

Barang RFID

Salah satu daripadanya, 20 mempunyai jangkauan yang lebih baik, 12 lebih kecil ID Pembaca RFID-12 $ 29,95 ID Pembaca RFID-20 $ 34,95

Breakout Pembaca RFID $ 0.95

Break Away Header - Lurus $ 2.50

Tag RFID - 125kHz $ 1.95

Yang lain

Transistor TIP31A (gubuk radio / kedai elektronik tempatan $ 1.50)

Door Lock adalah dari ebay. Pintu Gagal Kawalan akses selamat Electric Strike v5 NO $ 17.50 (kawamall, bay)

Langkah 2: Bina Pengawal Arduino

Bina Arduino Controller
Bina Arduino Controller
Bina Pengawal Arduino
Bina Pengawal Arduino
Bina Pengawal Arduino
Bina Pengawal Arduino

Langkah pertama untuk membina kunci pintu RFID dengan Arduino asas adalah membuang papan arduino asas. Sebilangan besar cip Arduino pra-kilat ATMega 168 dilengkapi dengan program berkelip lalai yang telah dipasang sebelumnya. Sambungkan LED ke output digital 13 dan sahkan bahawa semuanya berfungsi.

Bahagian perkakasan pembaca RFID ini akan menjadi terlalu mudah jika kita menggunakan arduino biasa dengan pengaturcara USB terpasang. Oleh kerana saya merancang untuk meletakkan ini ke dinding dan tidak menyentuhnya lagi, saya tidak mahu menggunakan papan arduino $ 30 yang besar apabila saya dapat membeli ATMega 168 $ 5 dan membuat PCB tersuai yang jauh lebih kecil.

Kerana saya memilih untuk membuat litar Arduino asas, saya memerlukan pengaturcara USB-> Serial FDIT luaran. Saya telah memasukkan skema Eagle pengawal dengan bekalan kuasa yang dibina dari pengatur voltan 7805. Dalam ujian saya menggunakan bekalan kuasa papan roti.

Untuk menghidupkan dan menjalankan arduino, yang anda perlukan hanyalah ATMega168 dengan perisian arduino di atasnya, kapasitor 2x 22pF, kristal 16mhz, perintang 10k ohm, butang tekan dan papan roti. Penyambungan untuk ini terkenal tetapi saya telah memasukkan keseluruhan skema untuk litar.

Arduino akan mencetuskan 4 output, masing-masing 1 untuk LED Merah / Hijau / Biru, dan 1 untuk mencetuskan TIP31A untuk menghantar 12vDC ke kunci pintu. Arduino menerima data bersiri pada baris Rx dari pembaca IDID-20 RFID.

Langkah 3: Bina Pembaca RFID

Bina Pembaca RFID
Bina Pembaca RFID
Bina Pembaca RFID
Bina Pembaca RFID
Bina Pembaca RFID
Bina Pembaca RFID

Setelah roti arduino anda naik dan berfungsi, anda boleh mengumpulkan bahagian pembaca RFID litar yang akan mengandungi ID-10 atau ID-20 dan RGB LED untuk menunjukkan status litar. Ingatlah bahawa pembaca akan berada di luar dan terpisah dari alat kawalan di dalam supaya seseorang tidak mudah masuk.

Untuk membina ini, kita akan menghantar 5v / Ground dari papan roti utama ke papan roti sekunder yang sedang kita bangunkan Pembaca. Hantarkan lebih dari 3 wayar dari 3 pin output arduino untuk mengawal LED RGB, satu untuk setiap warna. Satu lagi wayar, Brown dalam gambar, akan menjadi sambungan bersiri untuk ID-20 untuk bercakap dengan input siri Rx arduino. Ini adalah litar yang sangat mudah untuk disambungkan. Perintang get LED dan beberapa titik pada ID-20 diikat ke tanah / 5v untuk menetapkan status yang betul.

Untuk mempermudah papan roti, ID-10 / ID-20 Sparkfun menjual papan Breakout yang membolehkan anda memasang header pin yang lebih panjang dan jaraknya agar sesuai dengan papan roti. Bahagian ini dan pinheaders dan disenaraikan dalam senarai bahagian.

Skematiknya harus lurus ke depan dan mudah diikuti.

Langkah 4: Program

Masa untuk memprogram arduino anda. Ini mungkin agak rumit menggunakan arduino asas, anda mungkin perlu menekan butang reset beberapa kali sebelum dan semasa bahagian pertama muat naik. Perkara yang sangat penting untuk diingat, anda AKAN mendapat ralat muat naik jika anda tidak memutuskan sambungan siri ID-20 buat sementara waktu ke talian Rx arduino. ATMega168 hanya mempunyai input 1 Rx dan menggunakannya untuk memuat naik kod untuk bercakap dengan pengaturcara. Putuskan sambungan ID-20 semasa pengaturcaraan kemudian pasangkan kembali apabila anda selesai. Saya menggunakan programmer FTDI yang membolehkan anda memprogram arduino melalui USB dengan hanya 4 wayar. Skema Pengawal menunjukkan sambungan pin header untuk membolehkan anda memasangkannya secara langsung. Sparkfun juga menjual bahagian ini tetapi mungkin ramai yang memilikinya.

Anda boleh memuat naik kod saya dengan mudah ke arduino anda dan tidak pernah menoleh ke belakang tetapi apa yang menyeronokkan? Izinkan saya menerangkan idea asas bagaimana ia berfungsi.

Pertama sekali, saya tidak mahu ada butang / suis / dll luaran dan saya tidak mahu memprogram semula arduino setiap kali saya mahu menambahkan kad baru. Oleh itu, saya hanya mahu menggunakan RFID untuk mengawal operasi litar dan juga kawalan kunci pintu.

Program menghidupkan LED Biru untuk menunjukkan bahawa ia sudah siap untuk membaca kad baru. Apabila kad dibaca, ia memutuskan sama ada kad itu sah atau tidak dengan membandingkan apa yang dibacanya dengan senarai kad yang sah. Sekiranya pengguna itu sah, arduino akan mematikan LED Biru dan menghidupkan LED Hijau selama 5 saat. Ia juga menghidupkan output lain yang tinggi selama 5 saat. Output ini disambungkan ke transistor TIP31A dan membolehkan arduino kecil mengawal kunci pintu 12v 300mA yang jauh lebih besar tanpa rosak. Selepas 5 saat kunci pintu dikunci semula dan LED bertukar menjadi biru untuk menunggu kad lain dibaca. Sekiranya kad tidak sah, LED akan berubah menjadi MERAH selama beberapa saat dan kembali ke Biru untuk menunggu kad lain.

Penting agar kunci pintu tetap berfungsi walaupun arduino kehilangan kuasa semalaman atau diset semula. Oleh itu, semua kad pengenalan yang sah disimpan dalam memori EEPROM. ATMega168 mempunyai memori EEPROM 512 Byte. Setiap kad RFID mempunyai nombor siri 5 Hex Byte dan jumlah Pemeriksaan 1 Hex Byte yang dapat kita gunakan untuk mengesahkan tidak ada kesalahan dalam penghantaran antara ID-20 dan arduino.

Kad yang sah disimpan di EEPROM dengan menggunakan Byte pertama sebagai pembilang. Sebagai contoh, jika terdapat 3 kad yang sah disimpan Byte pertama di EEPROM adalah 3. EEPROM.read (0); = 3. Mengetahui hal ini, dan hakikat bahawa setiap ID panjangnya 5 Byte kita tahu bahawa 1-5 adalah kad satu, 6-10 adalah kad 2 dan 11-15 adalah kad 3. Kita dapat membuat gelung yang kelihatan melalui EEPROM 5 bait pada satu masa dan cuba mencari kad yang dibaca oleh pembaca.

Tetapi bagaimana kita boleh menambahkan kad baru ke EEPROM setelah litar dipasang ?? Saya telah membaca di salah satu kad RFID yang saya miliki dan dengan kerasnya menjadi kad Master RFID. Oleh itu, walaupun keseluruhan EEPROM dihapuskan kad induk akan tetap berfungsi. Setiap kali kad dibaca, ia akan memeriksa terlebih dahulu untuk mengetahui apakah itu kad Master, jika tidak, kemudian terus melihat apakah kad itu sah atau tidak. Sekiranya kad itu adalah kad induk, kita mempunyai arduino masuk ke "mod pengaturcaraan" di mana ia memancarkan RGB dan menunggu tag yang sah dibaca. Teg seterusnya yang dibaca ditambahkan ke tempat bebas seterusnya di EEPROM dan kaunter bertambah 1 jika kad itu belum ada di memori EEPROM. Pembaca kemudian kembali ke mod biasa dan menunggu kad baru dibaca.

Pada masa ini saya belum memprogram cara untuk menghapus kad kerana sebab-sebab untuk menghapus kad kemungkinan besar hilang atau dicuri. Oleh kerana ini kemungkinan besar akan digunakan dengan 1-10 orang, perkara paling mudah dilakukan adalah dengan memprogram kad Master Erase yang akan menghapus semua kad dari EEPROM kemudian menambahkannya semula, yang hanya memerlukan beberapa saat. Saya telah menambah kod untuk menghapus EEPROM tetapi saya belum melaksanakan ciri ini..

Kod tersebut dilampirkan dalam fail teks bersama dengan salinan senarai bahagian.

Langkah 5: Kembangkan

Ini hanya beberapa perkara menarik yang boleh anda lakukan dengan RFID. Anda boleh mengembangkannya lebih jauh dengan output LCD, mencatat siapa yang masuk dan kapan, rangkaian / twitter dll. Saya merancang untuk membuat versi PCB litar ini yang sudah siap. Saya tidak pernah membuat PCB sebelum ini jadi saya masih mengusahakan reka bentuk dan susun atur bahagian-bahagiannya. Setelah saya melengkapkannya, saya akan menghantarnya juga. Saya mendorong sesiapa sahaja untuk mengambil kod yang saya tulis dan mengubahnya untuk melakukan perkara yang lebih menarik!

Finalis dalam Peraduan Arduino

Disyorkan: