Daftar Isi:

Nerf Chronograph dan Rate of Fire Barrel: 7 Langkah
Nerf Chronograph dan Rate of Fire Barrel: 7 Langkah

Video: Nerf Chronograph dan Rate of Fire Barrel: 7 Langkah

Video: Nerf Chronograph dan Rate of Fire Barrel: 7 Langkah
Video: 3d printed NERF dart vs real 2024, Juli
Anonim
Image
Image
Nerf Chronograph dan Rate of Fire Barrel
Nerf Chronograph dan Rate of Fire Barrel

pengantar

Sebagai seorang tinkerer selalu sangat memuaskan untuk melihat hasil numerik dari bermain-main Anda. Banyak dari kita telah memodifikasi senjata Nerf sebelumnya dan siapa yang tidak suka melemparkan potongan busa ke seberang rumah dengan kecepatan lebih dari 100fps?

Setelah memodifikasi banyak senjata Nerf sepanjang hidup saya, mulai ketika saya berusia 10 tahun bersama ayah saya sampai sekarang ketika saya dan teman sekamar saya terus melemparkan busa melintasi apartemen satu sama lain, saya selalu ingin tahu persis seberapa cepat anak panah itu terbang., dan berapa banyak anak panah per detik yang ditembakkan oleh teman sekamarku Rapid-Strike. Ada kronograf komersial yang tersedia untuk Nerf dan Airsoft, tetapi yang presisi tinggi mahal, dan menyenangkan untuk membuatnya sendiri. Jika Anda ingin membelinya, Nerf merilis per barel yang hampir identik dengan yang ditampilkan dalam proyek ini (dengan beberapa desain industri yang lebih baik) dan dapat ditemukan di sini:

Nerf Modulus Ghost-Ops Chrono Barrel

Versi Nerf juga bertenaga baterai, dan menampilkan penghitung untuk panah yang ditembakkan. Instructable di sini juga menyertakan layar dan tombol reset, namun bergantung pada panjang panah untuk perhitungan kecepatan, dan tampaknya tidak menggunakan interupsi. Fokus utama dari proyek ini adalah pada komunikasi serial (sebagai contoh sederhana seperti ini yang tidak mudah ditemukan secara online), dan penggunaan interupsi untuk waktu yang akurat. Ini kemungkinan dapat dengan mudah diubah menjadi kronograf airsoft untuk alasan yang sama dengan penutup yang lebih ketat dan sistem pemasangan yang lebih baik untuk senjata airsoft. Tanpa menggunakan interupsi kode bisa lebih lambat dan kurang efisien, juga jauh lebih sulit untuk mengatur waktu dalam mikrodetik secara akurat karena milidetik tidak akan menghasilkan nilai yang akurat untuk kecepatan panah.

Saya tidak akan terlalu fokus pada desain enklosur meskipun file STL tersedia di GitHub, karena siapa pun dapat membeli versi Nerf yang pasti lebih baik untuk permainan sebenarnya, tetapi versi mendatang dari ini dapat mengurangi hasilnya.

Prinsip Dasar (Hasil Pembelajaran):

  • Memiliki bentuk Nerf Barrel standar
  • Penggunaan fototransistor sebagai gerbang waktu untuk panah.
  • Menunjukkan penggunaan interupsi Adruino untuk pengaturan waktu
  • Penggunaan Pemrosesan dengan Arduino untuk Komunikasi Serial

Ruang lingkup proyek:

Saya berencana untuk membahas sebagian besar spesifik untuk proyek ini dengan beberapa ikhtisar singkat dan merekomendasikan membaca referensi untuk Arduino dan Pemrosesan untuk info yang lebih spesifik. Ini tidak akan mengajari Anda cara menyolder, tetapi lebih tentang bagaimana mengintegrasikan Arduino dan Memproses dan menggunakan interupsi. Sebagian besar pembelajaran ini akan melalui membaca kode komentar yang sebenarnya, jadi pastikan Anda membaca semua kode sebelum mengunggah secara membabi buta dan mencoba membuatnya berfungsi.

Manfaat dibandingkan Proyek Serupa:

  • Penggunaan Interupsi untuk pengukuran kecepatan tinggi yang akurat
  • Bagian debugging yang luas untuk fototransistor
  • Perhitungan Rate of Fire (ROF) menghasilkan Putaran per Detik (RPS)
  • Antarmuka komputer layar penuh - tidak berguna selama pertempuran, tetapi bagus jika Anda ingin menunjukkan kepada orang lain hasil di streaming atau Youtube dengan perekam layar.
  • Berpotensi untuk diadaptasi untuk Airsoft atau Paintball hanya dengan modifikasi penutupnya
  • Tidak perlu PCB khusus (Akan lebih baik di pembaruan di masa mendatang tetapi siapa pun dapat membuatnya dengan biaya yang relatif rendah
  • Total biaya di bawah $10 saat suku cadang dilepas dan jika printer 3D tersedia - Setara dengan biaya komersial, dengan tambahan ROF

Langkah 1: Suku Cadang dan Alat yang Diperlukan

Suku Cadang dan Alat yang Diperlukan
Suku Cadang dan Alat yang Diperlukan

Jika Anda memiliki printer 3D, ini akan menjadi proyek yang bagus untuk Anda karena saya akan menyediakan file untuk enklosur. Jangan ragu untuk memperbarui enklosur. Saya tidak memiliki LCD, tetapi versi kedua diharapkan memiliki LCD dan menggunakan WEMOS D1 atau papan berkemampuan WiFi/BT serupa, dan baterai. Ini akan memungkinkan pencatatan data di ponsel dan umpan balik waktu nyata - misalnya, berapa banyak anak panah yang tersisa di pistol. Beberapa pengalaman menyolder disarankan, jika Anda tidak merasa nyaman, saya sarankan mengikuti Instruksi untuk menyolder dan mungkin membeli komponen elektronik tambahan untuk berjaga-jaga.

Alat yang Diperlukan:

  1. Solder Besi
  2. Blower udara panas/ Heat Gun/ Lighter (Jika menggunakan heat shrink)
  3. Penari telanjang kawat
  4. Kabel USB Mini - B (atau kabel mana pun yang diperlukan untuk pengontrol mikro Anda)
  5. Hot Glue Gun atau Serupa (Saya menggunakan pena cetak 3D untuk menempelkan semua komponen ke enklosur cetak 3D)

Bahan yang Diperlukan:

  1. 22AWG Kawat inti padat ex: Kawat Inti Padat Set 22AWG
  2. Arduino Nano (atau yang serupa, saya menggunakan tiruan) contoh: 3 x Arduino Nano (Klon)
  3. Kit Resistor (2 x 220 ohm, 2 x 220k ohm) Anda mungkin dapat menggunakan resistor pulldown dengan nilai yang lebih rendah seperti 47k dengan sukses, saya kebetulan menemukan bahwa saya membutuhkan nilai ini agar berfungsi. Panduan pemecahan masalah menguraikan cara menentukan apakah resistor pulldown adalah nilai yang benar untuk fototransistor dan set LED spesifik Anda. Karena itu saya merekomendasikan untuk mendapatkan satu set: mis: Set Resistor
  4. 2 x IR LED ex: IR LED dan PhotoTransistor Set
  5. 2 x FotoTransistor
  6. 1 x Lampiran cetak 3D - Dalam Filamen Buram IR (Hatchbox Silver Berfungsi dan merupakan satu-satunya warna yang saya uji)
  7. File Proyek Lengkap tersedia di sini di GitHub serta di File Zip terlampir. STL juga tersedia di Thingiverse di sini.

Langkah 2: Pengujian papan tempat memotong roti

Pengujian papan tempat memotong roti
Pengujian papan tempat memotong roti
Pengujian papan tempat memotong roti
Pengujian papan tempat memotong roti

Setelah elektronik tiba, solder mengarah ke fototransistor dan Led IR ~ 20-30cm untuk debugging, saya sarankan panas menyusut ini. Saya tidak memiliki heat shrink dengan ukuran yang tepat dan harus menggunakan pita listrik untuk prototipe ini. Ini akan memungkinkan Anda menggunakannya untuk pengujian di enklosur. Jika Anda telah mencetak enklosur dan memiliki LED dan transistor foto di posisi yang benar, Anda dapat memulai pengujian.

Pastikan Anda telah menginstal Arduino dan Processing.

File zip di awal memiliki semua kode serta file STL untuk mencetak enklosur.

Gunakan Arduino untuk melakukan debug pada awalnya dan hanya gunakan pemrosesan untuk pengujian akhir (Anda dapat melihat semuanya di monitor serial dari Arduino).

Anda dapat mencoba menembakkan panah Nerf melalui kronograf dengan Chronogrpah_Updated.ino diinstal pada Arduino. Jika ini berhasil maka Anda sudah siap. Jika ini tidak berhasil maka Anda mungkin harus menyesuaikan nilai resistor. Ini dibahas pada langkah berikutnya.

Sedikit tentang cara kerja kode:

  1. Interrupt menghentikan kode setiap kali anak panah melewati gerbang dan menentukan waktu dalam mikrodetik
  2. Kecepatan dihitung dengan ini dan waktu disimpan
  3. Waktu antara tembakan dihitung dan dikonversi ke putaran per detik
  4. Waktu antara gerbang dihitung dan dikonversi ke kaki per detik berdasarkan jarak gerbang.

    Penggunaan dua gerbang memungkinkan hasil yang lebih baik dengan waktu yang sama (berapa banyak sensor yang harus ditutupi) dan mengurangi histeresis

  5. Kecepatan dan laju tembakan dikirim melalui serial yang dipisahkan oleh koma ke monitor serial di arduino atau sketsa pemrosesan yang memungkinkan UI yang bagus (fokus pada pemrosesan ketika semuanya berfungsi!).

Langkah 3: Pengujian dan Debugging

Jika Anda tidak berhasil dengan tes awal, maka kita perlu mencari tahu apa yang salah.

Buka contoh Arduino AnalogReadSerial yang ditemukan di File-> Example->0.1 Basics -> AnalogReadSerial

Kami ingin memastikan bahwa fototransistor berfungsi seperti yang kami harapkan. Kami ingin mereka membaca TINGGI ketika anak panah tidak menghalangi mereka, dan RENDAH ketika anak panah tidak. Hal ini karena kode tersebut menggunakan Interrupts untuk mencatat waktu saat anak panah melewati sensor, dan jenis interrupt yang digunakan adalah FALLING, yang artinya akan terpicu saat berpindah dari HIGH ke LOW. Untuk memastikan pin HIGH kita dapat menggunakan pin analog untuk menentukan nilai pin tersebut.

Unggah Contoh Arduino AnalogReadSerial dan lompat dari pin digital D2 atau D3 ke A0.

D2 harus menjadi sensor pertama dan D3 harus menjadi sensor kedua. Pilih 1 untuk dibaca dan mulai dari sana. Ikuti panduan di bawah ini untuk menentukan solusi yang benar berdasarkan bacaan:

Nilainya 0 atau sangat rendah:

Nilainya harus sekitar 1000 pada awalnya, jika membaca nilai yang sangat rendah atau nol, pastikan LED Anda terhubung dengan benar dan tidak terbakar, serta disejajarkan dengan baik. Saya membakar LED saya dalam pengujian saat menggunakan resistor 100 ohm alih-alih 220 ohm. Yang terbaik adalah merujuk ke lembar data untuk LED untuk menentukan nilai resistor yang benar, tetapi kebanyakan LED mungkin akan bekerja dengan resistor 220 ohm.

LED Bekerja, dan Nilainya masih 0 atau sangat rendah:

Masalahnya mungkin pada resistor pull down yang resistansinya terlalu rendah. Jika Anda mengalami masalah dengan resistor 220k, Anda mungkin dapat meningkatkannya lebih tinggi dari ini, tetapi mungkin akan menimbulkan noise. Anda harus memastikan transistor foto Anda tidak terbakar.

Nilai adalah rentang tengah:

Ini akan menyebabkan banyak masalah, sebagian besar pemicu palsu, atau tidak pernah menyebabkan tinggi. Kita perlu memastikan bahwa TINGGI diterima, untuk melakukan ini kita membutuhkan nilai ~600 tetapi mari kita tuju 900+ agar aman. Terlalu dekat dengan ambang ini dapat menyebabkan pemicu palsu, jadi kami ingin menghindari positif palsu. Untuk menyesuaikan nilai ini, kami ingin meningkatkan resistor pull-down (220K). Saya sudah melakukan ini beberapa kali dalam desain saya dan Anda mungkin tidak perlu melakukan ini karena ini adalah nilai yang sangat besar untuk resistor pull-down.

Nilai sangat bising (banyak melompat-lompat tanpa rangsangan eksternal):

Pastikan kabel Anda benar dengan resistor pull-down. Jika ini benar, Anda mungkin perlu meningkatkan nilai resistor.

Nilai macet di 1000+, bahkan saat memblokir sensor:

Pastikan resistor pull-down Anda terhubung dengan benar, ini mungkin terjadi jika tidak ada pull-down. Jika ini masih menjadi masalah, coba kurangi nilai resistor pull-down.

Nilainya tinggi dan menjadi nol saat menghalangi cahaya:

Ini seharusnya cukup untuk sensor bekerja, namun kami mungkin tidak memberikan respons yang cukup cepat saat anak panah melintasi jalur. Ada beberapa kapasitansi di sirkuit, dan dengan resistor 220K mungkin diperlukan beberapa waktu agar tegangan turun di bawah ambang batas yang diperlukan. Jika demikian, kurangi resistor ini menjadi 100K dan lihat cara kerja pengujian.

PASTIKAN SETIAP PERUBAHAN RESISTOR KONSISTEN ANTARA KEDUA SENSOR

Memastikan sirkuit yang identik untuk kedua sensor mempertahankan latensi yang sama antara resistor yang akan memungkinkan akurasi terbaik dalam pengukuran.

Jika Anda memiliki masalah tambahan, berikan komentar di bawah dan saya akan melakukan yang terbaik untuk membantu Anda.

Langkah 4: Perakitan Perangkat Keras

Perakitan Perangkat Keras
Perakitan Perangkat Keras
Perakitan Perangkat Keras
Perakitan Perangkat Keras
Perakitan Perangkat Keras
Perakitan Perangkat Keras

Solder komponen ke PCB kecil seperti yang terlihat di sini:

Kabel untuk LED dan PhotoTransistor harus dipotong memanjang, kira-kira _.

Solder Arduino ke papan, dan sambungkan resistor dari tanah ke pin yang dapat diakses. Selain itu pastikan bahwa 4 kabel Positif dapat dengan mudah dipasang bersama. Jika Anda mengalami masalah dengan ini, Anda dapat melepaskan sepotong kawat dan menyoldernya di semua ujung kabel.

Saya memasang kabel sensor ke sisi yang berlawanan dari enklosur, namun jangan ragu untuk memasang kabel selama Anda menjaga sisi-sisinya tetap konsisten. Saya memotong kabel menjadi panjang dan menyolder kabel ke masing-masing dioda terakhir. Saya memperbarui perutean kabel sedikit untuk memberikan lebih banyak ruang dan mengurangi kekhawatiran karena memiliki beberapa kabel di bawah PCB dan yang lainnya di atasnya agar mudah digunakan. STL ada dalam file zip proyek lengkap di awal proyek.

Langkah 5: Majelis Akhir

Majelis Akhir
Majelis Akhir
Majelis Akhir
Majelis Akhir
Majelis Akhir
Majelis Akhir

Jika Lubang PCB Anda tidak cocok dengan lubang pada badan kronograf utama, Anda mungkin dapat mengamankan elektronik di dalam kandang dengan beberapa selotip atau lem panas, saya menemukan itu tidak perlu diamankan setelah kabel dan USB sudah ada, namun hasil Anda mungkin berbeda. Ini dirancang untuk memungkinkan penekanan filamen 1,75mm ke dalam lubang sekrup untuk mempertaruhkan panas, namun PCB juga dapat disekrup atau dilem. Bagian terpenting di sini adalah memastikan port USB dapat diakses.

Tutupi elektronik dengan penutup elektronik, File yang diperbarui harus lebih pas daripada milik saya dan mudah-mudahan akan menempel pada tempatnya, namun saya menggunakan pena cetak 3D untuk mengelas penutup di tempatnya. Anda sekarang siap untuk menembakkan beberapa anak panah!

Pembaruan di masa mendatang dapat menggunakan perutean internal untuk kabel, tetapi penutup dalam kasus ini sedikit menghasilkan estetika Nerf.

Langkah 6: Kronograf beraksi

Image
Image
Kronograf beraksi
Kronograf beraksi

Membuka File Pemrosesan: Chronograph_Intitial_Release akan memungkinkan antarmuka pengguna yang sangat bagus untuk kronograf yang menampilkan FPS dan RPS (Rounds per Second). Jika Anda mengalami masalah koneksi pastikan Anda menutup monitor serial Arduino Anda, Anda mungkin juga harus mengubah port serial dalam kode, tetapi ini dikomentari dan harus sederhana. Untuk mengatur ulang nilai maks, cukup tekan bilah spasi di komputer Anda.

Sedikit tentang cara kerja kode (Foto UI dapat dilihat di atas):

  1. Menerima masukan dari Arduino
  2. Bandingkan ini dengan input sebelumnya untuk menemukan nilai maksimal
  3. Menampilkan nilai saat ini dan maks dalam layar penuh untuk umpan balik visual yang mudah
  4. Mereset nilai maksimal saat spasi ditekan

Langkah 7: Rencana Masa Depan

Pembaruan di masa mendatang untuk ini akan mencakup peningkatan berikut. Jika Anda memiliki fitur tambahan yang Anda inginkan, beri tahu saya dan saya akan mencoba menerapkannya.

  1. Termasuk Layar LCD
  2. Termasuk Baterai
  3. Poin Lampiran Kompatibel Nerf
  4. Lampiran yang Diperbarui
  5. Pemandangan Besi

Direkomendasikan: