Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Kunci Pintu Keypad dengan Kode yang Dapat Diubah

Komponen dan persediaan

Arduino UNO
× 1
Matriks Keypad 4x4
× 1
Tombol tekan umum
× 1
LCD i²c
× 1
Kunci solenoid linier
× 1
IRF510N MOSFET
× 1
1 Relai Saluran
× 1

Alat dan mesin yang diperlukan

Breadboard, 170 Pin
10 Pc. Kit Kawat Jumper, Panjang 5 cm

Tentang proyek ini

Hai, dan selamat datang di tutorial ini (Yep it's old but classic), hari ini saya membuat proyek kunci pintu berdasarkan papan Arduino, keypad, layar LCD i²c, dan saya akan menggunakan solenoid dan relay untuk mengunci, Anda dapat memeriksa tutorial saya tentang kunci pintu sidik jari di mana saya menggunakan kunci yang menggunakan motor dc, jadi tergantung pada sistem kunci Anda, Anda harus memilih kabel, kode, dan menyesuaikannya.

N.B:Untuk proyek nyata, saya tidak menyarankan penggunaan solenoid sama sekali, melainkan meretas kunci yang dapat dibuka dengan kunci elektronik dan mekanik dan menyesuaikan proyek Anda untuk itu.

Bagian

Jadi untuk proyek ini kita akan membutuhkan komponen-komponen itu, di samping beberapa kabel loncatan, dan catu daya 12V. Maaf, saya tidak menambahkannya di sini:

Tombol Push dimaksudkan untuk membuka kunci dari dalam, Anda dapat melepasnya jika Anda mau, resistornya untuk debounce.

Saya menggunakan Keypad 4x4 Anda dapat menggunakan 3x4 tetapi Anda harus mengubah sesuatu dalam kode seperti untuk konfirmasi saya menggunakan 'A' Anda dapat mengubahnya menjadi '*' atau '#'.

Solenoid ditenagai oleh catu daya eksternal 12V, dan digerakkan oleh transistor MOSFET IRF510N.

Transistor digunakan sebagai sakelar dan lebih baik menggunakan saluran N, IRF510N cukup populer ketika digunakan dengan Arduino, ketika Anda menerapkan tegangan 5V melintasi Gerbang dan Sumber, transistor menjadi seperti sakelar tertutup antara Tiriskan dan Sumbernya, dan tidak memerlukan resistor seperti yang bipolar.

Dan jika tidak ada tegangan yang diterapkan, transistor bertindak seperti sakelar terbuka, dan ini cara kami mengontrol solenoid.

Untuk contoh lain saya menggunakan modul relai 1 saluran, ia bekerja dengan 3.3V, dan kami mengontrol inputnya seperti mengontrol transistor, satu-satunya perbedaan adalah bahwa mereka terbalik (kita akan lihat di kode).

Diagram alur algoritma

Untuk mempermudah memahaminya, inilah flowchartnya, yang tidak sepenuhnya mendetail tetapi ini adalah ikhtisar kode.

N.B:Anda dapat menggunakan relai untuk mengontrol kunci listrik apa pun hingga 250VAC, Anda dapat menggunakannya juga untuk mengontrol Solenoid…

Kode-kodenya persis sama, satu-satunya hal adalah Anda beralih antara (RENDAH dan TINGGI) untuk membuka kunci.

Ingat saja pertama kali Anda harus mengunggah kode dan mengubah kode sandi kemudian batalkan komentar beberapa baris (baca kode untuk menemukannya (mereka sedang dalam pengaturan)) dan unggah ulang kode sehingga dapat membaca kode sandi dari EEPROM. INI DILAKUKAN HANYA SEKALI .

Anda juga dapat mengubah panjang kode, pertama saya membuatnya menjadi empat digit, Anda dapat mengubahnya dari kode default, seperti yang saya gunakan dalam kode "sizeof(code)" alih-alih "4". Anda tidak dapat mengubah kode 4 digit menjadi kode sandi 6 digit, terlebih dahulu ubah kode sandi awal dari sumber kode.

Uji

Anda akan menemukan tes dalam gambar di bawah ini, navigasikan melaluinya

Nah itu tadi test projectnya, begitu juga untuk solenoid atau relay, dan push buttonnya bisa dibuka dari dalam kalau mau atau bisa dilepas.

Semoga bermanfaat dan jika ada masalah atau pertanyaan tinggalkan komentar.

Kode

  • Keypad_doorlock_solenoid.ino
  • Keypad_doorlock_relay.ino
Keypad_doorlock_solenoid.inoArduino
Ingatlah untuk mengupload kode terlebih dahulu kemudian batalkan komentar baris 62 hingga 64 dan reupload, itu hanya dilakukan sekali.
/* Kode ini bekerja dengan Matriks Keypad 4x4, ic LCD, transistor IRF510N dan tombol tekan * Ini adalah kunci tempat transistor mengemudi kunci solenoida dapat dibuka dengan kode yang benar * atau dengan menekan tombol dari dalam * Kode dapat diubah langsung dengan keypad dan tidak perlu mengunggah kode lagi * Kode disimpan di EEPROM * Lihat www.surtrtech.com untuk lebih jelasnya */#include #include #include #define Solenoid 11 //Sebenarnya Gerbang Transistor yang mengontrol solenoid#define O_Button 10 //Push Button #define I2C_ADDR 0x27 //I2C address, Anda harus menggunakan kode untuk memindai alamat terlebih dahulu (0x27) di sini#menentukan BACKLIGHT_PIN 3 // Mendeklarasikan Pin LCD#define En_pin 2#define Rw_pin 1#define Rs_pin 0#define D4_pin 4#define D5_pin 5#define D6_pin 6#define D7_pin 7const byte numRows=4; //jumlah baris pada keypadconst byte numCols=4; //jumlah kolom pada keypadchar keymap[numRows][numCols]={{'1', '2', '3', 'A'}, {'4', '5', '6', 'B '}, {'7', '8', '9', 'C'},{'*', '0', '#', 'D'}};char ditekan; //Dimana kunci disimpan, sangat sering berubahchar code[]={'6','6','0','1'}; // Kode default, Anda dapat mengubahnya atau menjadikannya 'n' digit onechar code_buff1[sizeof(code)]; //Di mana kunci baru disimpanchar code_buff2[sizeof(code)]; //Di mana kunci baru disimpan lagi sehingga dibandingkan dengan kunci sebelumnya pendek a=0,i=0,s=0,j=0; //Variabel yang digunakan laterbyte rowPins[numRows] ={9,8,7,6}; //Baris 0 sampai 3 //jika Anda memodifikasi pin Anda, Anda harus memodifikasi toobyte colPins[numCols]={5,4,3,2} ini; //Kolom 0 hingga 3LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);Keypad myKeypad=Keypad(makeKeymap()(keymap), rowPins, colPins, numRows, numRows setup .begin (16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIF); lcd.setBacklight(TINGGI); //Pencahayaan lampu latar lcd.home(); lcd.print("Siaga"); //Apa yang tertulis di LCD Anda dapat mengubah pinMode(Solenoid,OUTPUT); pinMode(O_Button,INPUT); // for(i=0; i 
Keypad_doorlock_relay.inoArduino
Ingatlah untuk mengupload kode terlebih dahulu kemudian batalkan komentar baris 62 hingga 64 dan reupload, itu dilakukan hanya sekali.
/* Kode ini berfungsi dengan Matriks Keypad 4x4, ic LCD, modul relai, dan tombol tekan * Ini adalah kunci di mana relai dapat kontrol kunci yang dapat Anda buka baik dengan kode yang benar * atau dengan menekan tombol dari dalam * Kode dapat diubah langsung oleh keypad dan tidak perlu mengunggah kode lagi * Kode disimpan di EEPROM * Lihat www.surtrtech.com untuk lebih jelasnya */#include #include #include #define Relay 11 //Mengontrol Relay#define O_Button 10 //Push Button#define I2C_ADDR 0x27 //I2C alamat, Anda harus menggunakan kode untuk memindai alamat terlebih dahulu (0x27) di sini#menentukan BACKLIGHT_PIN 3 // Mendeklarasikan Pin LCD#menentukan En_pin 2#menentukan Rw_pin 1#menentukan Rs_pin 0#menentukan D4_pin 4#menentukan D5_pin 5#menentukan D6_pin 6# tentukan D7_pin 7const byte numRows=4; //jumlah baris pada keypadconst byte numCols=4; //jumlah kolom pada keypadchar keymap[numRows][numCols]={{'1', '2', '3', 'A'}, {'4', '5', '6', 'B '}, {'7', '8', '9', 'C'},{'*', '0', '#', 'D'}};char ditekan; //Dimana kunci disimpan, sangat sering berubahchar code[]={'6','6','0','1'}; // Kode default, Anda dapat mengubahnya atau menjadikannya 'n' digit onechar code_buff1[sizeof(code)]; //Di mana kunci baru disimpanchar code_buff2[sizeof(code)]; //Di mana kunci baru disimpan lagi sehingga dibandingkan dengan kunci sebelumnya pendek a=0,i=0,s=0,j=0; //Variabel yang digunakan laterbyte rowPins[numRows] ={9,8,7,6}; //Baris 0 sampai 3 //jika Anda memodifikasi pin Anda, Anda harus memodifikasi toobyte colPins[numCols]={5,4,3,2} ini; //Kolom 0 hingga 3LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);Keypad myKeypad=Keypad(makeKeymap()(keymap), rowPins, colPins, numRows, numRows setup .begin (16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIF); lcd.setBacklight(TINGGI); //Pencahayaan lampu latar lcd.home(); lcd.print("Siaga"); //Apa yang tertulis di LCD Anda dapat mengubah pinMode(Relay,OUTPUT); pinMode(O_Button,INPUT); // for(i=0; i  

Skema


Proses manufaktur

  1. Bank Vault
  2. Membuat Pintu Kantor yang Mengunci Otomatis dengan Sensor Jarak Ponsel Cerdas
  3. Sensor Multi Suhu
  4. MotionSense
  5. Keselamatan Kebakaran Printer 3D
  6. Kunci Pintu Berbasis Kata Sandi
  7. Pengukur IoT dengan Arduino, Yaler &IFTTT
  8. Arduino Repulsive Electromagnetic Levitation
  9. Bot Gripper Kontrol Jarak Jauh
  10. CoroFence - Detektor Termal🖖