Isi kandungan:

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

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

Video: Nerf Chronograph and Rate of Fire Barrel: 7 Langkah
Video: This Nerf gun is awesome.. 2024, November
Anonim
Image
Image
Nerf Chronograph dan Rate of Fire Barrel
Nerf Chronograph dan Rate of Fire Barrel

Pengenalan

Sebagai pengedar tinkerer adalah sangat memuaskan untuk melihat hasil berangka dari permainan anda. Ramai di antara kita telah mengubahsuai senjata Nerf sebelumnya dan siapa yang tidak suka melemparkan serpihan busa di seluruh rumah dengan jarak lebih dari 100 fps?

Setelah mengubahsuai banyak senjata Nerf sepanjang hidup saya, bermula ketika saya ~ 10 bersama Ayah saya sehingga sekarang ketika saya dan rakan sebilik saya terus melancarkan busa di satu sama lain, saya selalu ingin tahu dengan tepat berapa cepat anak panah terbang, dan berapa banyak anak panah sesaat, rakan sebilik saya Rapid-Strike menembak. Terdapat kronograf komersil yang tersedia untuk Nerf dan Airsoft, tetapi ketepatan tinggi itu mahal, dan senang untuk membuatnya sendiri. Sekiranya anda ingin membelinya, Nerf melepaskan tong hampir sama dengan yang terdapat dalam projek ini (dengan reka bentuk perindustrian yang lebih baik) dan boleh didapati di sini:

Nerf Modulus Ghost-Ops Chrono Barrel

Versi Nerf juga bertenaga bateri, dan menampilkan kaunter untuk anak panah yang dipecat. Instructable di sini juga menyertakan layar dan butang reset, namun bergantung pada panjang anak panah untuk pengiraan kelajuan, dan sepertinya tidak menggunakan gangguan. Fokus utama projek ini adalah pada komunikasi bersiri (sebagai contoh mudah seperti ini bukan yang paling mudah dicari dalam talian), dan penggunaan gangguan untuk masa yang tepat. Ini mungkin dapat dengan mudah ditukar menjadi kronograf airsoft dengan alasan yang sama dengan penutup yang lebih ketat dan sistem pemasangan yang lebih baik untuk senapang airsoft. Tanpa menggunakan gangguan, kodnya boleh menjadi lebih perlahan dan kurang cekap, juga sukar bagi masa dalam hal mikrodetik dengan tepat kerana milisaat tidak akan menghasilkan nilai yang tepat untuk kelajuan anak panah.

Saya tidak akan terlalu fokus pada reka bentuk kandang walaupun fail STL terdapat di GitHub, kerana sesiapa sahaja boleh membeli versi Nerf yang pastinya lebih baik untuk permainan permainan sebenar, tetapi versi masa depan ini dapat mengurangkan hasilnya.

Prinsip Asas (Hasil Pembelajaran):

  • Mempunyai bentuk Nerf Barrel standard
  • Penggunaan fototransistor sebagai pintu masa untuk anak panah.
  • Menunjukkan penggunaan gangguan Adruino untuk masa
  • Penggunaan Pemprosesan dengan Arduino untuk Serial Communication

Skop projek:

Saya merancang untuk membahas lebih banyak spesifik untuk projek ini dengan beberapa tinjauan ringkas dan mengesyorkan membaca rujukan untuk Arduino dan Pemprosesan untuk maklumat yang lebih spesifik. Ini tidak akan mengajar anda bagaimana untuk menyolder, tetapi lebih kepada cara mengintegrasikan Arduino dan Pemprosesan dan menggunakan gangguan. Sebilangan besar pembelajaran ini akan dilakukan melalui membaca kod yang dikomentari sebenarnya, jadi pastikan anda membaca semua kod tersebut sebelum memuat naik dan berusaha membuatnya secara membuta tuli.

Manfaat daripada Projek Sejenis:

  • Penggunaan Interup untuk mengukur kelajuan tinggi yang tepat
  • Bahagian penyahpepijatan yang luas untuk phototransistors
  • Pengiraan Kadar Kebakaran (ROF) menghasilkan Putaran sesaat (RPS)
  • Antara muka komputer skrin penuh - tidak berguna semasa pertempuran, tetapi bagus jika anda ingin menunjukkan kepada orang lain hasil streaming atau Youtube dengan perakam skrin.
  • Berpotensi untuk disesuaikan untuk Airsoft atau Paintball dengan pengubahsuaian hanya lampiran
  • Tidak memerlukan PCB tersuai (Akan bagus dalam kemas kini di masa hadapan tetapi sesiapa sahaja boleh membuatnya dengan kos yang agak rendah
  • Jumlah kos di bawah $ 10 apabila bahagian dibahagikan dan jika pencetak 3D tersedia - Setanding dengan kos komersial, dengan tambahan ROF

Langkah 1: Bahagian dan Alat yang Diperlukan

Bahagian dan Alat yang Diperlukan
Bahagian dan Alat yang Diperlukan

Sekiranya anda mempunyai pencetak 3D, ini akan menjadi projek yang bagus untuk anda kerana saya akan menyediakan fail untuk lampiran. Jangan ragu untuk mengemas kini lampiran. Saya tidak mempunyai LCD, tetapi versi kedua mudah-mudahan memiliki LCD dan menggunakan WEMOS D1 atau papan yang serupa dengan WiFi / BT, dan bateri. Ini akan membolehkan log masuk data di telefon bimbit dan maklum balas masa nyata - contohnya, berapa banyak anak panah yang tersisa di dalam senjata. Sebilangan pengalaman pematerian disarankan, jika anda tidak merasa selesa, saya cadangkan anda mengikuti Instructable untuk pematerian dan mungkin membeli komponen elektronik tambahan sekiranya berlaku.

Alat yang diperlukan:

  1. Besi pematerian
  2. Blower udara panas / Heat Gun / Lighter (Jika menggunakan penyusutan panas)
  3. Pelucut Kawat
  4. Kabel USB Mini - B (atau kabel mana yang diperlukan untuk pengawal mikro anda)
  5. Hot Glue Gun atau Serupa (Saya menggunakan pen percetakan 3D untuk memasang semua komponen ke kandang cetak 3D)

Bahan yang diperlukan:

  1. 22AWG Kawat teras pepejal cth: Set Kawat Teras Pepejal 22AWG
  2. Arduino Nano (atau serupa, saya menggunakan klon) cth: 3 x Arduino Nano (Klon)
  3. Resistor Kit (2 x 220 ohm, 2 x 220k ohm) Anda mungkin dapat menggunakan perintang pulldown bernilai lebih rendah seperti 47k dengan berjaya, kebetulan saya mendapati bahawa saya memerlukan nilai ini agar ia berfungsi. Panduan penyelesaian masalah menggariskan bagaimana untuk menentukan sama ada perintang pulldown adalah nilai yang betul untuk set fototransistor dan LED khusus anda. Kerana ini saya sarankan mendapatkan satu set: cth: Resistor Set
  4. 2 x LED IR cth: IR LED dan Set PhotoTransistor
  5. 2 x PhotoTransistor
  6. 1 x Lekapan bercetak 3D - Dalam Filamen Opaque IR (Hatchbox Silver Bekerja dan satu-satunya warna yang saya uji)
  7. Fail Projek Penuh boleh didapati di sini di GitHub dan juga dalam Fail Zip yang dilampirkan. STL juga tersedia di Thingiverse di sini.

Langkah 2: Ujian Papan Roti

Ujian Papan Roti
Ujian Papan Roti
Ujian Papan Roti
Ujian Papan Roti

Sebaik sahaja elektronik tiba, solder membawa ke phototransistors dan IR Leds ~ 20-30cm untuk penyahpepijatan, saya cadangkan haba mengecilkannya. Saya tidak mempunyai ukuran penyusutan panas yang betul dan terpaksa menggunakan pita elektrik untuk prototaip ini. Ini akan membolehkan anda menggunakannya untuk ujian di kandang. Sekiranya anda telah mencetak lampiran dan mempunyai LED dan transistor foto pada kedudukan yang betul, anda boleh memulakan ujian.

Pastikan Arduino dan Pemprosesan dipasang.

Fail zip pada awalnya mempunyai semua kod serta fail STL untuk mencetak lampiran.

Gunakan Arduino untuk melakukan debug pada mulanya dan hanya menggunakan pemprosesan untuk ujian akhir (anda dapat melihat semuanya dalam monitor bersiri dari Arduino).

Anda boleh mencuba hanya menembak anak panah Nerf melalui kronograf dengan Chronogrpah_Updated.ino dipasang di Arduino. Sekiranya ini berjaya, anda sudah bersedia. Sekiranya ini tidak berfungsi, anda mungkin perlu menyesuaikan nilai perintang. Ini dibincangkan pada langkah seterusnya.

Sedikit mengenai bagaimana kod berfungsi:

  1. Gangguan menghentikan kod setiap kali anak panah melalui pintu dan menentukan masa dalam mikrodetik
  2. Kelajuan dikira dengan ini dan masa disimpan
  3. Masa antara tembakan dikira dan ditukar menjadi pusingan sesaat
  4. Masa antara gerbang dikalkulasi dan ditukar menjadi kaki per saat berdasarkan jarak pintu gerbang.

    Penggunaan dua pintu membolehkan hasil yang lebih baik dengan pemasaan yang sama (berapa banyak sensor mesti dilindungi) dan mengurangkan histeresis

  5. Kelajuan dan kadar api dihantar melalui siri yang dipisahkan dengan koma ke monitor bersiri di arduino atau lakaran pemprosesan yang membolehkan UI yang bagus (fokus pada pemprosesan apabila semua yang lain berfungsi!).

Langkah 3: Menguji dan Menyahpepijat

Sekiranya anda tidak berjaya dengan ujian awal, maka kita perlu mengetahui apa yang salah.

Buka contoh Arduino AnalogReadSerial yang terdapat dalam Fail-> Contoh-> 0.1 Asas -> AnalogReadSerial

Kami ingin memastikan bahawa phototransistors berfungsi seperti yang kami harapkan. Kami mahu mereka membaca TINGGI ketika anak panah tidak menghalangnya, dan RENDAH ketika anak panah tidak. Ini kerana kod tersebut menggunakan Interrupts untuk merakam waktu ketika anak panah melewati sensor, dan jenis gangguan yang digunakan adalah JATUH, yang bermaksud ia akan mencetuskan ketika pergi dari TINGGI ke RENDAH. Untuk memastikan pin itu TINGGI kita boleh menggunakan pin analog untuk menentukan nilai pin ini.

Muat naik Arduino Contoh 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 bermula di sana. Ikuti panduan di bawah untuk menentukan penyelesaian yang betul berdasarkan pembacaan:

Nilai 0 atau sangat rendah:

Nilai harus awalnya sekitar 1000, jika membaca nilai yang sangat rendah atau sifar, pastikan LED anda disambungkan dengan betul dan tidak terbakar, serta diselaraskan dengan baik. Saya memadamkan LED saya dalam ujian ketika menggunakan perintang 100 ohm dan bukannya 220 ohm. Lebih baik merujuk pada lembar data untuk LED untuk menentukan nilai perintang yang betul, tetapi kebanyakan LED mungkin akan berfungsi dengan perintang 220 ohm.

LED berfungsi, dan Nilai masih 0 atau sangat rendah:

Masalahnya kemungkinan pada resistor pull down terlalu rendah dalam rintangan. Sekiranya anda menghadapi masalah dengan perintang 220k, anda mungkin boleh meningkatkannya lebih tinggi daripada ini, tetapi mungkin terdengar bising. Anda harus memastikan transistor foto anda tidak terbakar.

Nilai adalah julat pertengahan:

Ini akan menyebabkan banyak masalah, kebanyakannya pencetus palsu, atau tidak pernah menyebabkan tinggi. Kita perlu memastikan bahawa TINGGI diterima, untuk melakukan ini kita memerlukan nilai ~ 600 tetapi mari kita bertujuan agar 900+ selamat. Terlalu dekat dengan ambang ini dapat menyebabkan pemicu palsu, jadi kami ingin menghindari positif palsu. Untuk menyesuaikan nilai ini, kami ingin meningkatkan perintang pulldown (220K). Saya telah melakukan ini beberapa kali dalam reka bentuk saya dan anda mungkin tidak perlu melakukan ini kerana ini adalah nilai yang sangat besar untuk perintang tarik.

Nilai sangat bising (melompat banyak tanpa rangsangan luaran):

Pastikan pendawaian anda betul dengan perintang tarik ke bawah. Sekiranya ini betul, anda mungkin perlu meningkatkan nilai perintang.

Nilai tersekat pada 1000+, walaupun menyekat sensor:

Pastikan perintang penarik anda disambungkan dengan betul, ini mungkin berlaku jika tidak ada penarik. Sekiranya ini masih menjadi masalah, cuba kurangkan nilai resistor tarik ke bawah.

Nilai tinggi dan sifar ketika menyekat cahaya:

Ini harus cukup untuk sensor berfungsi, namun kita mungkin tidak cukup pantas ketika anak panah melintasi jalan. Terdapat beberapa kapasitansi dalam litar, dan dengan perintang 220K mungkin memerlukan sedikit masa untuk voltan jatuh di bawah ambang yang diperlukan. Sekiranya ini berlaku, kurangkan perintang ini hingga 100K dan lihat bagaimana ujian berfungsi.

PASTIKAN SETIAP PERUBAHAN RESISTOR ADALAH KONSISTEN ANTARA KEDUA SENSOR

Memastikan litar yang sama untuk kedua-dua sensor mengekalkan kependaman yang sama antara perintang yang akan memungkinkan ketepatan terbaik dalam pengukuran.

Sekiranya anda mempunyai masalah tambahan, berikan komen di bawah dan saya akan berusaha sebaik mungkin untuk membantu anda.

Langkah 4: Pemasangan Perkakasan

Pemasangan Perkakasan
Pemasangan Perkakasan
Pemasangan Perkakasan
Pemasangan Perkakasan
Pemasangan Perkakasan
Pemasangan Perkakasan

Pateri komponen ke PCB kecil seperti yang dilihat di sini:

Petunjuk untuk LED dan PhotoTransistors hendaklah dipotong panjang, kira-kira _.

Pateri Arduino ke papan, dan pasangkan perintang dari tanah ke pin yang boleh diakses. Selain itu, pastikan 4 wayar Positif dapat disatukan dengan mudah. Sekiranya anda menghadapi masalah dengan ini, anda boleh melucutkan sepotong wayar dan mematerinya di semua hujung di hujungnya.

Saya memasang sensor ke seberang kandang, tetapi jangan ragu untuk memasang wayar selagi anda memastikan sisi tetap konsisten. Saya memotong wayar hingga lengh dan memateri wayar pada setiap diod yang terakhir. Saya mengemas kini wayar wayar sedikit untuk memberi lebih banyak ruang dan kurang bimbang kerana mempunyai beberapa wayar di bawah PCB dan yang lain di atasnya agar mudah digunakan. STL berada dalam fail zip projek penuh pada awal projek.

Langkah 5: Perhimpunan Akhir

Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir

Sekiranya Lubang PCB anda tidak sesuai dengan lubang pada badan kronograf utama, anda mungkin dapat mengamankan elektronik di dalam kandang dengan beberapa pita atau lem panas, saya dapati ia tidak perlu dilindungi selepas wayar dan USB sudah siap, namun keputusan anda mungkin berbeza. Ia direka untuk memungkinkan memasukkan filamen 1.75mm ke dalam lubang skru untuk penentuan panas, namun PCB juga boleh disekat atau dilekatkan. Bahagian yang paling penting di sini adalah memastikan port USB dapat diakses.

Tutup elektronik dengan penutup elektronik, Fail yang dikemas kini sesuai dengan yang lebih baik daripada yang saya pakai dan semoga dapat dipasang, namun saya menggunakan pen percetakan 3D untuk mengimpal penutup di tempatnya. Anda kini bersedia untuk menembak beberapa anak panah!

Kemas kini masa depan mungkin menggunakan perutean dalaman untuk wayar, tetapi penutup dalam kes ini sedikit sebanyak menghasilkan estetika Nerf.

Langkah 6: Kronograf dalam Tindakan

Image
Image
Kronograf dalam Tindakan
Kronograf dalam Tindakan

Membuka Pemprosesan Fail: Chronograph_Intitial_Release akan membolehkan antara muka pengguna yang sangat bagus untuk kronograf yang memaparkan FPS dan RPS (Putaran sesaat). Sekiranya anda menghadapi masalah untuk menyambung memastikan anda menutup monitor bersiri Arduino, anda mungkin juga harus menukar port bersiri dalam kod, tetapi ini dikomentari dan semestinya sederhana. Untuk menetapkan semula nilai maksimum cukup tekan bar ruang pada komputer anda.

Sedikit mengenai bagaimana kod berfungsi (Foto UI dapat dilihat di atas):

  1. Menerima input dari Arduino
  2. Bandingkan ini dengan input lalu untuk mencari nilai maksimum
  3. Memaparkan nilai semasa dan maksimum dalam skrin penuh untuk maklum balas visual yang mudah
  4. Menetapkan semula nilai maksimum apabila ruang ditekan

Langkah 7: Rancangan Masa Depan

Kemas kini masa depan untuk ini akan merangkumi penambahbaikan berikut. Sekiranya anda mempunyai ciri tambahan yang anda mahukan, beritahu saya dan saya akan cuba menerapkannya.

  1. Sertakan Skrin LCD
  2. Sertakan Bateri
  3. Titik Lampiran yang Sesuai dengan Nerf
  4. Lampiran yang dikemas kini
  5. Pemandangan Besi

Disyorkan: