Daftar Isi:

Kunci Servo Keypad: 5 Langkah
Kunci Servo Keypad: 5 Langkah

Video: Kunci Servo Keypad: 5 Langkah

Video: Kunci Servo Keypad: 5 Langkah
Video: Password Door Lock Project With Arduino Uno.MR REAL MAKER... 2024, November
Anonim
Kunci Servo Keypad
Kunci Servo Keypad
Kunci Servo Keypad
Kunci Servo Keypad
Kunci Servo Keypad
Kunci Servo Keypad

Halo semuanya, semoga harimu menyenangkan. Jika tidak, mudah-mudahan Anda bisa mundur dengan pikiran terbuka untuk tutorial ini dan musik terapeutik. Pemrograman bisa merepotkan. Untungnya, tutorial ini tidak merepotkan, jadi Anda mungkin bisa menyelesaikan hal populer yang disebut (dengan suara yang kuat): THE ULTIMATE SERVO KEYPAD LOCK!!! Itu benar-benar hanya perkenalan saya, semoga Anda menyukainya. Pokoknya, mari kita menghangatkan jari-jari kita untuk mengetik. (Lagu keren: lagu can-can (musik klasik)).

Perlengkapan:

-Jari-jarimu

-Tanganmu juga, itu penting

-Kabel USB untuk Arduino

-Semua jenis arduino tersedia (saya memiliki Arduino Mega)

-Matrix Keypad (keypad - ebay, keypad - amazon)

-Micro atau Servo standar (saya menggunakan servo mikro)

-*Opsional* Papan tempat memotong roti - semua jenis

-*Opsional* Catu daya (5V)

Langkah 1: Waktu Skema

Waktu Skema!
Waktu Skema!
Waktu Skema!
Waktu Skema!

Jadi, apa yang pertama dilakukan? Hubungkan Arduino ke komputer. Hubungkan keypad berikutnya. *Catatan - Anda perlu menghubungkan pin dari pin terakhir pada keypad sebagai pin digital pertama pada arduino. Dan pergi dari kanan ke kiri setelah itu*. Keypad memiliki pin 2-9 pada arduino. Servo memiliki pin 10 sebagai sinyal digital. Ikat dasar arduino, keypad, dan servo dan 5V juga. *Perhatikan juga - bahwa servo paling baik digunakan dengan sumber daya eksternal atau adaptor dengan 5V (plug-in dinding), tetapi masih opsional.* Anda tidak perlu mengikat ground dan 5V secara fisik, yang saya maksud adalah untuk hanya memasang kabel dari Arduino ke servo. Skema ini tidak membantu pemula, jadi izinkan saya menjelaskan secara singkat. Pada dasarnya, pin terakhir adalah 2 dan yang pertama adalah 9, dua adalah 8, tiga adalah 7, dan seterusnya. Dari kiri ke kanan 2 2.

Langkah 2: Waktu Pengkodean

Waktu Pengkodean!
Waktu Pengkodean!
Waktu Pengkodean!
Waktu Pengkodean!

Ok jadi sekarang kita ke bagian pengkodean! Di sinilah keajaiban yang sebenarnya terjadi! Jadi, ada program tes untuk menguji keypad dan servo terlebih dahulu. Di Sini:

//www.elegoo.com//2016.12.9

/* @file CustomKeypad.pde

|| @versi 1.0 || @penulis Alexander Brevig || @contact [email protected] || || @deskripsi || | Mendemonstrasikan mengubah ukuran papan tombol dan nilai tombol. || # */ #termasuk

const byte BARIS = 4; //empat baris

const byte COLS = 4; //empat kolom //menentukan simbal pada tombol keypad char hexaKeys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5 ', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; //sambungkan ke pinout baris dari byte keypad colPins[COLS] = {5, 4, 3, 2}; //sambungkan ke pinout kolom keypad

//inisialisasi instance kelas NewKeypad

Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

batalkan pengaturan(){

Serial.begin(9600); } void loop(){ char customKey = customKeypad.getKey(); if (customKey){ Serial.println(customKey); } }

//www.elegoo.com//2016.12.08 #include

Servo myservo; // buat objek servo untuk mengontrol servo

// dua belas objek servo dapat dibuat di sebagian besar papan

int pos = 0; // variabel untuk menyimpan posisi servo

batalkan pengaturan() {

myservo.attach(9); // menempelkan servo pada pin 9 ke objek servo }

lingkaran kosong() {

for (pos = 0; pos = 0; pos -= 1) { // berubah dari 180 derajat ke 0 derajat myservo.write(pos); // memberitahu servo untuk pergi ke posisi dalam variabel 'pos' delay(15); // menunggu 15 ms sampai servo mencapai posisi } }

Ini kode proyeknya (saya akan jujur kepada Anda, saya tidak berbuat banyak, saya hanya menambahkan bagian servo, ucapkan terima kasih kepada orang-orang yang membuat semua kode!):

#sertakan Kata Sandi.h

#sertakan Keypad

/*

|| Entri Kata Sandi Sederhana Menggunakan Matrix Keypad || 4/5/2012 Pembaruan Nathan Sobieck: [email protected] || *

/* adalah untuk memvalidasi kata sandi

//# adalah untuk mengatur ulang upaya kata sandi

/////////////////////////////////////////////////////////////////

#termasuk

//https://www.arduino.cc/playground/uploads/Code/Password.zip #include //https://www.arduino.cc/playground/uploads/Code/Keypad.zip

Kata Sandi Kata Sandi = Kata Sandi("1234");

Servo myservo; // buat objek servo untuk mengontrol servo

#tentukan servoPin 10

const byte BARIS = 4; // Empat baris

const byte COLS = 4; // kolom // Tentukan kunci char Keymap[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', ' B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} };

byte rowPins[ROWS] = { 9, 8, 7, 6 }; // Hubungkan keypad ROW0, ROW1, ROW2 dan ROW3 ke pin Arduino ini.

byte colPins[COLS] = { 5, 4, 3, 2, }; // Hubungkan keypad COL0, COL1 dan COL2 ke pin Arduino ini.

// Buat Papan Tombol

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

batalkan pengaturan() {

myservo.attach(servoPin); // pasang servo pada pin 9 ke objek servo

Serial.begin(9600);

keypad.addEventListener(keypadEvent); //tambahkan event listener untuk keypad ini

myservo.write(0);

}

lingkaran kosong() {

keypad.getKey();

}

//mengurus beberapa acara khusus

void keypadEvent(KeypadEvent eKey) { switch (keypad.getState()) { case DITEKAN: switch (eKey) { case '*': checkPassword(); merusak; default: password.append(eKey); } } }

batal cekPassword() {

if (password.evaluate() == true) { Serial.println("Berhasil"); //Tambahkan kode untuk dijalankan jika berhasil

myservo.write(180);

penundaan(3000);

myservo.write(0);

kata sandi.reset();

} else if (password.evaluate() == false) {

Serial.println("Salah");

myservo.write(0);

//tambahkan kode untuk dijalankan jika tidak berhasil

}

}

Langkah 3: Apa Arti Semua Ini?

Apa Artinya Semua Ini?
Apa Artinya Semua Ini?

Kode di atas (yang pertama) akan memberikan sinyal ke Servo untuk "menyapu" atau hanya pergi dari 0 hingga 180 derajat. Atau hanya menyelesaikan setengah lingkaran rotasi dari kiri ke kanan atau kanan ke kiri. Jika Anda ingin detail lebih lanjut tentang kode, saya dapat memberi tahu Anda. Silahkan saja bertanya. Tidak ada salahnya dilakukan, hanya pertanyaan kecil sederhana. Ayolah, kamu pasti bisa melakukannya! Pokoknya, kode di tengah menguji setiap tombol keypad. Dan kode terakhir hanya "membuka" dengan servo saat Anda mengetikkan kunci sandi "1234" ke dalam, Anda dapat menebaknya, keypad.

Langkah 4: Pemecahan Masalah

Penyelesaian masalah
Penyelesaian masalah

T: Keypad saya tidak berfungsi.

A: Ingat pin pertama adalah 9 jadi turun dari sana. Pastikan juga untuk menghubungkan arduino ke port USB komputer dan memprogram Arduino.

T: Servo tidak berfungsi.

A: Ingatlah bahwa pin servo adalah pin 10 dan Anda memerlukan kesamaan, jika Anda menghubungkan langsung dari Arduino, ingat bahwa pin oranye (pada servo mikro) adalah pin 10, pin merah adalah 5V, dan pin coklat adalah pin GND.

T: Arduino tidak berfungsi:

A: Apakah Anda bahkan menghubungkannya? Kedengarannya seperti masalah pribadi

Langkah 5: Jika Anda Memiliki Pertanyaan, Jangan Ragu untuk Bertanya di Bagian Komentar dan Ingatlah untuk Berlangganan

Sampai jumpa, terima kasih telah melihat tutorial saya. Sudah menyenangkan.

Direkomendasikan: