- Komponen yang Digunakan:
- Menghubungkan Keypad 4x4 dengan Raspberry Pi menggunakan Multiplexing:
- Deskripsi Sirkuit:
- Penjelasan Kerja:
- Penjelasan Pemrograman:
Keamanan adalah perhatian utama dalam kehidupan kita sehari-hari, dan kunci digital telah menjadi bagian penting dari sistem keamanan ini. Ada banyak jenis teknologi yang tersedia untuk mengamankan tempat kita, seperti sistem keamanan Berbasis PIR, Sistem Keamanan berbasis RFID, Alarm keamanan laser, sistem bio-matriks, dll.
Kami sebelumnya telah membangun Kunci Digital dengan Kata Sandi menggunakan Arduino dan menggunakan 8051, di sini kami akan membuat Kunci Digital ini menggunakan Raspberry Pi dengan Kata Sandi yang Ditentukan Pengguna. Setelah kata sandi diatur, pengguna hanya dapat mengakses pintu dengan kata sandi yang benar.
Jika Anda tidak terbiasa dengan Raspberry Pi, kami telah membuat serangkaian tutorial untuk mempelajari Raspberry Pi, dengan antarmuka dengan semua komponen dasar dan beberapa proyek sederhana untuk memulai, lakukan pengecekan.
Komponen yang Digunakan:
- Raspberry Pi (dengan kartu SD yang di-boot)
- Modul Keypad
- Bel
- LCD 16x2
- 10k pot
- Paket Resistor 10k (Pull-up)
- LED
- 1k Resistor
- Papan roti
- Troli CD / DVD sebagai Gerbang
- Daya 5 volt
- Pengemudi motor L293D
- Baterai 12 Volt
- Menghubungkan kabel
Menghubungkan Keypad 4x4 dengan Raspberry Pi menggunakan Multiplexing:
Di sirkuit ini, kami telah menggunakan Teknik Multiplexing untuk antarmuka keypad untuk memasukkan kata sandi di sistem. Di sini kami menggunakan keypad multipleks 4x4 dengan 16 tombol. Biasanya jika kita ingin menggunakan 16 kunci maka kita membutuhkan 16 pin untuk koneksi ke Arduino tetapi dalam teknik multiplexing kita hanya membutuhkan 8 pin untuk menghubungkan 16 tombol. Sehingga ini adalah cara cerdas untuk membuat antarmuka modul keypad. Pelajari lebih lanjut tentang teknik Multiplexing dan cara kerjanya di Kunci Digital ini menggunakan 8051.
Teknik multiplexing adalah cara yang sangat efisien untuk mengurangi jumlah pin yang digunakan mikrokontroler untuk memberikan masukan atau kata sandi atau angka. Pada dasarnya teknik ini digunakan dalam dua cara - satu pemindaian baris dan yang lainnya adalah pemindaian kolom. Jika kita menggunakan perpustakaan keypad (#include
Tetapi di sini, dalam proyek ini, kami telah menerapkan cara singkat pengkodean untuk keypad yang sama, tanpa menggunakan perpustakaan keypad. Silakan lihat di bagian pemrograman di bawah ini.
Deskripsi Sirkuit:
Rangkaian Kunci Pintu Digital Raspberry Pi ini sangat sederhana yang berisi Raspberry Pi 3, modul keypad, buzzer, troli DVD / CD sebagai gate dan LCD. Di sini Raspberry Pi mengontrol proses lengkap seperti mengambil modul keypad bentuk kata sandi, membandingkan kata sandi, mengemudi buzzer, membuka / menutup gerbang dan mengirim status ke layar LCD. Keypad digunakan untuk memasukkan kata sandi. Buzzer digunakan untuk indikasi dan digerakkan oleh transistor NPN bawaan. LCD digunakan untuk menampilkan status atau pesan di atasnya.
Pin Kolom modul keypad terhubung langsung ke pin GPIO 22, 23, 24, 25 dan pin Baris terhubung ke 21, 14, 13, 12 pin wringPi Raspberry Pi. Sebuah LCD 16x2 terhubung dengan raspberry Pi dalam mode 4-bit. Pin kontrol LCD RS, RW dan En terhubung langsung ke GPIO pin 11, GND dan 10. Pin data D4-D7 terhubung ke pin GPIO 6, 15, 4 dan 1. Satu buzzer terhubung ke pin GPIO 8. Dan Driver Motor L293D terhubung ke GPIO pin 28 dan 29 dari Raspberry Pi. Sebuah baterai 12 volt terhubung pada pin 8 dari L293D sehubungan dengan tanah.
Penjelasan Kerja:
Pengerjaan proyek ini sederhana. Ketika pengguna menjalankan kode di Raspberry Pi, LCD menunjukkan beberapa pesan selamat datang dan setelah itu menunjukkan "A- Input Password" dan di baris kedua B- Ubah Passkey ". Sekarang pengguna dapat memilih pilihan mereka dengan menekan A dan B pada keypad.
Sekarang jika pengguna ingin membuka gerbang maka dia perlu menekan 'A' pada keypad dan kemudian sistem akan meminta kata sandi. Kata Sandi Default adalah "1234". Sekarang pengguna harus memasukkan kata sandi dan setelah sistem ini akan memeriksa kata sandi, apakah sudah valid atau tidak:
1. Jika pengguna memasukkan kata sandi yang benar maka sistem akan membuka pintu gerbang.
2. Jika pengguna salah memasukkan kata sandi, sistem akan mengirimkan perintah ke bel untuk berbunyi bip dan menampilkan "Access Denied" pada LCD.
Sekarang misalkan pengguna ingin mengubah kata sandi maka dia perlu menekan 'B' pada keypad dan kemudian pengguna akan diminta untuk "Kata Sandi Saat Ini" atau "Kata Sandi Saat Ini". Sekarang pengguna perlu memasukkan kata sandi saat ini, kemudian sistem memeriksa kebenarannya dan melakukan salah satu tugas yang diberikan.
1. Jika pengguna memasukkan kata sandi yang benar maka sistem akan meminta "Kata Sandi Baru" dan sekarang pengguna dapat mengubah kata sandi dengan memasukkan kata sandi baru.
2. Dan jika pengguna memasukkan kata sandi yang salah maka sistem akan menggerakkan bel dan menampilkan “Kata Sandi Salah: pada LCD.
Sekarang pengguna perlu mengulangi seluruh proses lagi untuk mengubah kata sandi.
Pada dasarnya membuka dan menutup Gerbang tidak lain adalah dengan memutar motor searah jarum jam dan berlawanan arah jarum jam untuk membuka dan menutup pintu. Untuk proyek kecil Anda cukup menambahkan motor DC untuk membuka dan menutup pintu. Kita juga dapat menggunakan Servo atau motor stepper, tetapi kita perlu mengubah Kode yang sesuai.
Selanjutnya Anda dapat menggunakan Kunci Pintu Elektronik yang tepat (mudah tersedia secara online) sebagai pengganti Troli CD. Ini memiliki magnet Elektro yang membuat Pintu terkunci ketika tidak ada arus yang melewati Lock (sirkuit terbuka), dan ketika beberapa arus melewatinya, kunci akan terbuka dan pintu dapat dibuka. Kode akan diubah sesuai, periksa juga ulasan proyek bersama ini: Kunci Pintu RFID Arduino
Penjelasan Pemrograman:
Pemrograman sangat mirip dengan Arduino. Fungsi Arduino menggunakan kelas tetapi di sini kita telah melakukan kode ini, menggunakan pemrograman c, tanpa kelas. Kami juga telah menginstal pustaka wiringPi untuk GPIO.
Sekarang pertama-tama kita perlu menyertakan pustaka yang diperlukan dan kemudian menentukan pin untuk LCD, buzzer, LED dan Motor.
#include
Setelah itu tentukan pin untuk baris & kolom keypad dan tentukan larik untuk menyimpan sandi dan nomor keypad.
char pass; char pass1 = {'1', '2', '3', '4'}; int n = 0; baris karakter = {21, 14, 13, 12}; char col = {22, 23, 24, 25}; char num = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', ' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Setelah itu kami telah menulis beberapa fungsi untuk menggerakkan LCD:
Fungsi void lcdcmd digunakan untuk mengirim perintah ke LCD dan fungsi void write digunakan untuk mengirim data ke LCD.
Fungsi void print digunakan untuk mengirim string ke LCD.
void print (char * str) {while (* str) {write (* str); str ++; }}
Fungsi void setCursor digunakan untuk mengatur posisi kursor di LCD.
void setCursor (int x, int y) {int set = 0; jika (y == 0) set = 128 + x; jika (y == 1) set = 192 + x; lcdcmd (set); }
Fungsi void clear () digunakan untuk membersihkan LCD dan void buzzer () digunakan untuk membunyikan bel.
Fungsi void gate_open (), void gate_stop () dan void gate_close () digunakan untuk menggerakkan Gate (CD Trolley)
void gate_open () {digitalWrite (m1, LOW); digitalWrite (m2, HIGH); penundaan (2000); } void gate_stop () {digitalWrite (m1, LOW); digitalWrite (m2, LOW); penundaan (2000); } void gate_close () {digitalWrite (m1, HIGH); digitalWrite (m2, LOW); penundaan (2000); }
Fungsi yang diberikan digunakan untuk menginisialisasi LCD dalam Mode 4-bit.
batal mulai (int x, int y) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x06); lcdcmd (0x0e); lcdcmd (0x01); }
Mengingat fungsi keypad void () digunakan untuk menghubungkan modul keypad dengan Raspberry Pi dengan 'metode singkat'.
kosongkan keypad () {int i, j; int x = 0, k = 0; penundaan (2000); sementara (k <4) {untuk (i = 0; i <4; i ++) {digitalWrite (col, LOW); untuk (j = 0; j <4; j ++) {if (digitalRead (row) == 0) {setCursor (x, 1);…………………
Periksa semua fungsi dalam Kode lengkap di bawah ini, kode mudah dan cukup jelas.