Isi kandungan:

Kunci Servo Kekunci: 5 Langkah
Kunci Servo Kekunci: 5 Langkah

Video: Kunci Servo Kekunci: 5 Langkah

Video: Kunci Servo Kekunci: 5 Langkah
Video: Cara buka kunci tombol servo#hakatori #servo#mesin#jahit mesin#obras#servo#tutorial 2024, Julai
Anonim
Kunci Servo Kekunci
Kunci Servo Kekunci
Kunci Servo Kekunci
Kunci Servo Kekunci
Kunci Servo Kekunci
Kunci Servo Kekunci

Halo semua, semoga anda mempunyai hari yang baik. Sekiranya tidak semoga anda dapat mundur dengan pemikiran terbuka terhadap tutorial ini dan beberapa muzik terapi. Pengaturcaraan boleh menjadi masalah. Syukurlah, tutorial ini tidak menyusahkan, jadi anda mungkin dapat mencapai perkara popular yang disebut (dengan suara yang kuat): KUNCI KEYPAD SERVO ULTIMATE !!! Itu hanya perkenalan saya, semoga anda menyukainya. Bagaimanapun, mari kita memanaskan jari kita untuk menaip. (Lagu keren: lagu can-can (muzik klasik)).

Bekalan:

-Jari anda

- Tangan anda juga, itu penting

-Kabel USB untuk Arduino

-Setiap jenis arduino yang ada (saya mempunyai Arduino Mega)

-Matrix Keypad (papan kekunci - ebay, papan kekunci - amazon)

- Servo Mikro atau Standard (Saya menggunakan servo mikro)

- * Pilihan * Breadboard - jenis apa pun

- * Pilihan * Bekalan kuasa (5V)

Langkah 1: Masa Skematik

Masa Skematik!
Masa Skematik!
Masa Skematik!
Masa Skematik!

Jadi, apa yang perlu dilakukan terlebih dahulu? Sambungkan Arduino ke komputer. Sambungkan papan kekunci seterusnya. * Catatan - anda perlu menyambungkan pin dari pin terakhir pada papan kekunci sebagai pin digital pertama di arduino. Dan pergi dari kanan ke kiri selepas itu *. Pad kekunci mempunyai pin 2-9 di arduino. Servo mempunyai pin 10 sebagai isyarat digital. Ikat arduino, pad kekunci, dan servo dan juga 5V. * Perhatikan juga - bahawa servo paling baik digunakan dengan sumber kuasa luaran atau penyesuai dengan 5V (plug-in dinding), tetapi masih pilihan. * Anda tidak perlu mengikat landasan dan 5V secara fizikal, maksud saya adalah hanya untuk memasang wayar dari Arduino ke servo. Skema ini tidak membantu pemula, jadi izinkan saya menerangkan secara terperinci. Pada asasnya, pin terakhir adalah 2 dan pin pertama adalah 9, dua adalah 8, tiga adalah 7, dan seterusnya. Pergi dari kiri ke kanan 2 2.

Langkah 2: Masa Pengekodan

Masa Pengekodan!
Masa Pengekodan!
Masa Pengekodan!
Masa Pengekodan!

Ok jadi sekarang kita ke bahagian pengekodan! Di sinilah sihir sebenar berlaku! Jadi, ada program ujian untuk menguji papan kekunci dan servo terlebih dahulu. Di sini:

//www.elegoo.com//2016.12.9

/ * @file CustomKeypad.pde

|| @versi 1.0 || @author Alexander Brevig || @hubungi [email protected] || || @keterangan || | Menunjukkan perubahan saiz papan kekunci dan nilai utama. || # * / #sertakan

const byte ROWS = 4; // empat baris

const byte COLS = 4; // empat lajur // tentukan cymbol pada butang papan kekunci 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 colypins byte keypad [COLS] = {5, 4, 3, 2}; // sambungkan ke pin lajur papan kekunci

// memulakan contoh kelas NewKeypad

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

batal persediaan () {

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

//www.elegoo.com//2016.12.08 #sertakan

Servo myservo; // buat objek servo untuk mengawal servo

// dua belas objek servo boleh dibuat di kebanyakan papan

int pos = 0; // pemboleh ubah untuk menyimpan kedudukan servo

batal persediaan () {

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

gelung kosong () {

untuk (pos = 0; pos = 0; pos - = 1) {// naik dari 180 darjah hingga 0 darjah myservo.write (pos); // suruh servo pergi ke kedudukan dalam kelewatan 'pos' pemboleh ubah (15); // menunggu 15ms untuk servo mencapai kedudukan}}

Inilah kod projek (saya akan jujur dengan anda, saya tidak melakukan banyak perkara, saya hanya menambah bahagian servo, mengucapkan terima kasih kepada orang yang membuat semua kod!):

#sertakan Kata Laluan.h

#sertakan Keypad

/*

|| Kemasukan Kata Laluan Ringkas Menggunakan Pad Matriks || 4/5/2012 Kemas kini Nathan Sobieck: [email protected] || *

/ * adalah untuk mengesahkan kata laluan

// # adalah untuk menetapkan semula percubaan kata laluan

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

#sertakan

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

Kata laluan kata laluan = Kata Laluan ("1234");

Servo myservo; // buat objek servo untuk mengawal servo

#tentukan servoPin 10

const byte ROWS = 4; // Empat baris

const byte COLS = 4; // lajur // Tentukan kekunci 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}; // Sambungkan papan kekunci ROW0, ROW1, ROW2 dan ROW3 ke pin Arduino ini.

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

// Buat Pad Kekunci

Pad kekunci = Pad Kekunci (makeKeymap (kekunci), baris pin, colPins, ROWS, COLS);

batal persediaan () {

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

Serial.begin (9600);

keypad.addEventListener (keypadEvent); // tambahkan pendengar acara untuk pad kekunci ini

myservo.write (0);

}

gelung kosong () {

keypad.getKey ();

}

// jaga beberapa acara khas

kekosongan kekosongan (KeypadEvent eKey) {switch (keypad.getState ()) {case PRESSED: switch (eKey) {case '*': checkPassword (); rehat; lalai: password.append (eKey); }}}

batal checkPassword () {

if (password.evaluate () == true) {Serial.println ("Kejayaan"); // Tambahkan kod untuk dijalankan jika ia berfungsi

myservo.write (180);

kelewatan (3000);

myservo.write (0);

memadam kata laluan();

} lain jika (password.evaluate () == false) {

Serial.println ("Salah");

myservo.write (0);

// tambah kod untuk dijalankan sekiranya ia tidak berfungsi

}

}

Langkah 3: Apa Artinya Semua Ini?

Apa Artinya Semua Ini?
Apa Artinya Semua Ini?

Kod di atas (yang pertama) akan memberi isyarat kepada Servo untuk "menyapu" atau hanya pergi dari 0 hingga 180 darjah. Atau sekadar menyelesaikan separuh pusingan putaran dari kiri ke kanan atau kanan ke kiri. Sekiranya anda mahukan lebih banyak maklumat mengenai kod tersebut, saya boleh memberitahu anda. Tolong tanya saja. Tidak ada salahnya, hanya soalan kecil yang mudah. Ayuh, anda boleh melakukannya! Bagaimanapun, kod di tengah menguji setiap butang papan kekunci. Dan kod terakhir hanya "membuka kunci" dengan servo apabila anda memasukkan kata laluan "1234" ke dalam, anda dapat meneka, papan kekunci.

Langkah 4: Penyelesaian masalah

Penyelesaian masalah
Penyelesaian masalah

Q: Pad kekunci saya tidak berfungsi.

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

S: Servo tidak berfungsi.

J: Ingat bahawa pin servo adalah pin 10 dan bahawa anda memerlukan titik persamaan, jika anda menghubungkan terus dari Arduino, ingat bahawa pin oren (pada servo mikro) adalah pin 10, pin merah adalah 5V, dan pin coklat adalah pin GND.

S: Arduino tidak berfungsi:

J: Adakah anda menyambungkannya? Kedengarannya seperti masalah peribadi

Langkah 5: Sekiranya Anda Mempunyai Sebarang Pertanyaan, Jangan ragu untuk bertanya di Bahagian Komen dan Ingatlah untuk Langgan

Selamat tinggal, terima kasih kerana melihat tutorial saya. Sudah seronok.

Disyorkan: