Mundarija:

Nerf xronografi va yong'oq tezligi: 7 qadam
Nerf xronografi va yong'oq tezligi: 7 qadam

Video: Nerf xronografi va yong'oq tezligi: 7 qadam

Video: Nerf xronografi va yong'oq tezligi: 7 qadam
Video: Nerf Rival + Хронограф / Li-Po vs. Batteries 2024, Iyul
Anonim
Image
Image
Nerf xronografi va yong'oq tezligi
Nerf xronografi va yong'oq tezligi

Kirish

Tinker sifatida, sizning tinkeringning raqamli natijalarini ko'rish har doim juda qoniqarli. Ko'pchiligimiz Nerf qurollarini ilgari o'zgartirganmiz va ko'pik bo'laklarini uyga 100 kadr tezlikda o'tkazishni kim yoqtirmaydi?

Nerf qurollarini hayotim davomida o'zgartirganimdan so'ng, men otam bilan 10 yoshligimdan boshlab, shu paytgacha men va mening xonadoshlarim bir -birlariga ko'pikni to'kib tashlashni davom ettirganimda, men har doim dartlarning qanchalik tez uchayotganini bilishni xohlardim., va mening xonadoshlarim Rapid-Strike sekundiga necha dart uradi. Nerf va Airsoft uchun tijorat xronograflari mavjud, lekin yuqori aniqlikdagi qurilmalar qimmat va uni o'z qo'llarimiz bilan qurish qiziqarli. Agar siz haqiqatan ham sotib olmoqchi bo'lsangiz, Nerf bu loyihada ko'rsatilganiga o'xshash (bir oz yaxshiroq sanoat dizayniga ega) barrelni qo'yib yubordi va uni bu erda topish mumkin:

Nerf moduli Ghost-Ops Chrono Barrel

Nerf versiyasi ham batareyadan ishlaydi va tortishish uchun hisoblagichni ko'rsatadi. Bu erda ko'rsatma, shuningdek, ekran va asl holatini tiklash tugmachasini o'z ichiga oladi, lekin tezlikni hisoblash uchun dart uzunligiga tayanadi va uzilishlardan foydalanmaydi. Loyihaning asosiy yo'nalishi ketma -ket muloqotga (masalan, Internetda topish oson bo'lmagan) va aniq vaqt uchun uzilishlardan foydalanishga qaratiladi. Buni, xuddi shu sabablarga ko'ra, havo yostig'i xronografiga osonroq aylantirish mumkin. Uzilishlarni ishlatmasdan kod sekinroq va samarasiz bo'lishi mumkin, shuningdek, mikrosaniyalarni aniq hisoblash qiyinroq, chunki millisekundlar dart tezligi uchun aniq qiymatlarni chiqara olmaydi.

GitHub -da STL fayllari mavjud bo'lsa -da, men korpus dizayniga ko'p e'tibor qaratmayman, chunki har kim Nerf versiyasini sotib olishi mumkin, bu haqiqiy o'yin uchun yaxshiroqdir, lekin bu kelajakdagi versiya natijalarni yumshatishi mumkin.

Asosiy tamoyillar (ta'lim natijalari):

  • Standart Nerf Barrel shakliga ega
  • Dart uchun vaqt eshiklari sifatida fototransistorlardan foydalanish.
  • Vaqt uchun Adruino uzilishlaridan foydalanishni ko'rsatadi
  • Arduino bilan ketma -ket aloqa uchun ishlov berishdan foydalanish

Loyiha doirasi:

Men ushbu loyihaning o'ziga xos xususiyatlarini qisqacha ko'rib chiqishni va aniqroq ma'lumot olish uchun Arduino va Processing ma'lumotlarini o'qishni tavsiya qilaman. Bu sizga qanday lehim qilishni o'rgatmaydi, balki Arduino va Processing -ni qanday birlashtirish va uzilishlardan foydalanishni o'rgatadi. Bu o'rganishning ko'p qismi haqiqiy sharhlangan kodni o'qish orqali bo'ladi, shuning uchun ko'r -ko'rona yuklashdan va uni ishga solishdan oldin barcha kodni o'qib chiqqaningizga ishonch hosil qiling.

Shunga o'xshash loyihalarning afzalliklari:

  • Yuqori tezlikni aniq o'lchash uchun uzilishlardan foydalanish
  • Fototransistorlar uchun keng ko'lamli disk raskadrovka bo'limi
  • Yong'in tezligi (ROF) sekundiga chiqadigan hisob -kitoblar (RPS)
  • To'liq ekranli kompyuter interfeysi - jang paytida foydali emas, lekin natijani ekran yozuvchisi yordamida oqim yoki Youtube -da boshqalarga ko'rsatishni istasangiz juda yaxshi.
  • Airsoft yoki Peyntbolga faqat korpusni o'zgartirish orqali moslashish mumkin
  • Maxsus PCB -larga hojat yo'q (kelajakda yangilash yaxshi bo'lardi, lekin hamma buni nisbatan arzon narxda qila oladi
  • Qismlar ajratilganda va 3D printer mavjud bo'lsa, umumiy qiymati 10 dollardan oshmaydi - tijorat narxiga teng, ROF qo'shilishi bilan

1 -qadam: Kerakli qismlar va asboblar

Kerakli qismlar va asboblar
Kerakli qismlar va asboblar

Agar sizda 3D -printer bo'lsa, bu siz uchun ajoyib loyiha bo'ladi, chunki men korpus uchun fayllarni taqdim etaman. Qavsni yangilang. Menda LCD displeylar yo'q edi, lekin umid qilamanki, ikkinchi versiyada LCD bo'ladi va WEMOS D1 yoki shunga o'xshash Wi -Fi/BT kartasi va batareya ishlatiladi. Bu ma'lumotni mobil va real vaqt rejimida qayd qilish imkonini beradi - masalan, qurolda qancha dart qolgan. Lehimlash tajribasi tavsiya etiladi, agar o'zingizni qulay his qilmasangiz, men lehimlash bo'yicha ko'rsatmaga amal qilishni maslahat beraman va ehtimol qo'shimcha elektron komponentlarni sotib olaman.

Kerakli asboblar:

  1. Lehimlash temir
  2. Issiq havo puflagichi/ Issiqlik tabancasi/ Chiroq (Agar issiqlik o'tkazgich ishlatilsa)
  3. Tel -striptizchilar
  4. Mini -B USB kabeli (yoki mikrokontroller uchun qaysi kabel kerak bo'lsa)
  5. Issiq yopishtiruvchi qurol yoki shunga o'xshash (men 3D bosma qalam bilan barcha komponentlarni 3D bosilgan korpusga ulash uchun ishlatardim)

Kerakli materiallar:

  1. 22AWG Qattiq yadroli simlar: Qattiq yadroli simlar to'plami 22AWG
  2. Arduino Nano (yoki shunga o'xshash, men klon ishlatganman), masalan: 3 x Arduino Nano (Klon)
  3. Rezistorlar to'plami (2 x 220 ohm, 2 x 220 k ohm) Siz 47k kabi pastroq qiymatli qarshilik rezistentlarini muvaffaqiyatli ishlatishingiz mumkin, lekin men bu qiymatning ishlashi uchun menga kerak ekanligini tushundim. Nosozliklarni bartaraf etish bo'yicha qo'llanmada ochiladigan rezistor sizning maxsus fototransistoringiz va LEDlar uchun to'g'ri qiymat ekanligini qanday aniqlash mumkinligi ko'rsatilgan. Shuning uchun men to'plamni olishni tavsiya qilaman: ex: Resistor Set
  4. 2 ta IQ LED: IR LED va PhotoTransistor to'plami
  5. 2 x PhotoTransistor
  6. 1 x 3D bosma korpus - IQ shaffof bo'lmagan filamentda (Hatchbox Silver ishlagan va men tekshirgan yagona rang edi)
  7. To'liq loyiha fayllari bu erda GitHub -da va unga biriktirilgan Zip faylida mavjud. STL -lar Thingiverse -da ham mavjud.

2 -qadam: Breadboard testi

Breadboard testi
Breadboard testi
Breadboard testi
Breadboard testi

Elektronika kelgandan so'ng, lehim nosozliklarni tuzatish uchun fototransistorlar va IQ LED-lariga ~ 20-30 sm olib boradi, men ularni issiqlikni qisqartirishni maslahat beraman. Menda to'g'ri issiqlik o'lchagich yo'q edi va men ushbu prototip uchun elektr tasmasini ishlatishga majbur bo'ldim. Bu ularni korpusda sinov uchun ishlatishga imkon beradi. Agar siz korpusni bosib chiqargan bo'lsangiz va LEDlar va foto transistorlar to'g'ri joylashtirilgan bo'lsa, siz sinovni boshlashingiz mumkin.

Arduino va Processing o'rnatilganligiga ishonch hosil qiling.

Dastlabki zip faylida barcha kodlar, shuningdek muhofazani chop etish uchun STL fayllari mavjud.

Dastlab disk raskadrovka qilish uchun Arduino -dan foydalaning va faqat oxirgi sinov uchun ishlov berishdan foydalaning (siz Arduino -dan ketma -ket monitorda hamma narsani ko'rishingiz mumkin).

Siz Arduino -da o'rnatilgan Chronogrpah_Updated.ino bilan xronograf orqali Nerf dartini otishga urinib ko'rishingiz mumkin. Agar bu ishlayotgan bo'lsa, unda hamma narsa tayyor. Agar bu ishlamasa, siz qarshilik qiymatlarini o'zgartirishingiz kerak bo'ladi. Bu keyingi bosqichda muhokama qilinadi.

Kod qanday ishlashi haqida bir oz:

  1. Har bir darvoza darvozadan o'tganda va vaqtni mikrosaniyalarda aniqlasa, interrupst kodni to'xtatadi
  2. Tezlik shu bilan hisoblab chiqiladi va vaqt saqlanadi
  3. O'qlar orasidagi vaqt hisoblab chiqiladi va sekundiga turga aylanadi
  4. Darvozalar orasidagi vaqt hisoblab chiqiladi va eshik masofasiga qarab sekundiga futga aylanadi.

    Ikkita eshikdan foydalanish bir xil vaqt bilan yaxshiroq natijalarga erishish imkonini beradi (sensorning qancha qismini yopish kerak) va histerezni kamaytiradi

  5. Yong'in tezligi va tezligi vergul bilan ajratilgan ketma -ket arduino -dagi ketma -ket monitorga yoki yaxshi foydalanuvchi interfeysiga ruxsat beruvchi ishlov berish eskiziga yuboriladi (hamma narsa ishlaganda ishlov berishga e'tibor qarating!).

3 -qadam: sinov va disk raskadrovka

Agar siz boshlang'ich testda muvaffaqiyat qozonmagan bo'lsangiz, unda nima noto'g'ri bo'lganini aniqlashimiz kerak.

Fayl-> Misollar-> 0.1 asoslari-> AnalogReadSerial-da joylashgan AnalogReadSerial misolini oching.

Biz fototransistorlar biz kutgandek ishlashini ta'minlamoqchimiz. Biz dart ularni to'sib qo'ymasa, ular "YUQORI" o'qishini, dart esa - LOW ni o'qishini xohlaymiz. Buning sababi shundaki, kod dart sensordan o'tayotgan vaqtni yozib olish uchun Interrupts -dan foydalanadi va ishlatilayotgan uzilish turi FALLING, ya'ni u HIGHdan LOW -ga o'tishda ishga tushadi. PIN -kodning yuqori bo'lishini ta'minlash uchun biz analog pinlardan foydalanib, bu pinlarning qiymatini aniqlashimiz mumkin.

Arduino AnalogReadSerial misolini yuklang va D2 yoki D3 raqamli pinidan A0 ga o'ting.

D2 birinchi sensori, D3 ikkinchi sensori bo'lishi kerak. O'qish uchun 1 -ni tanlang va u erda boshlang. O'qishlar asosida to'g'ri echimni aniqlash uchun quyidagi ko'rsatmaga amal qiling.

Qiymat 0 yoki juda past:

Dastlabki qiymat 1000 atrofida bo'lishi kerak, agar u juda past yoki nol o'qiyotgan bo'lsa, svetodiodlarning to'g'ri simi va yonib ketmaganligiga ishonch hosil qiling. Men sinov paytida 220 ohm o'rniga 100 ohmli rezistorni ishlatganda LEDlarimni yoqib yubordim. To'g'ri qarshilik qiymatini aniqlash uchun LEDlar uchun ma'lumotlar jadvaliga murojaat qilish yaxshiroqdir, lekin ko'pchilik LEDlar 220 ohmli rezistor bilan ishlaydi.

LEDlar ishlaydi va qiymati hali ham 0 yoki juda past:

Muammo, qarshilikning qarshilik darajasining pastligi bilan bog'liq. Agar sizda 220k rezistor bilan bog'liq muammo bo'lsa, uni bundan ham balandroq qilib qo'yishingiz mumkin, lekin shovqin paydo bo'lishi mumkin. Fotosurat tranzistorining yonmaganligiga ishonch hosil qilishingiz kerak.

Qiymat o'rtacha diapazon:

Bu juda ko'p muammolarni keltirib chiqaradi, asosan yolg'on tetikler yoki hech qachon yuqori darajaga olib kelmaydi. Biz "HIGH" olishini ta'minlashimiz kerak, buning uchun bizga ~ 600 qiymat kerak, lekin 900+ xavfsiz bo'lishini maqsad qilib qo'yamiz. Bu chegaraga juda yaqin bo'lish noto'g'ri tetiklarni keltirib chiqarishi mumkin, shuning uchun biz har qanday noto'g'ri pozitivlardan saqlanishni xohlaymiz. Ushbu qiymatni sozlash uchun biz ochiladigan qarshilikni (220K) oshirmoqchimiz. Men buni o'z dizaynimda bir necha bor qilganman va buni qilishning hojati yo'q, chunki bu qarshilik uchun juda katta qiymat.

Qiymat juda shovqinli (tashqi stimulsiz juda ko'p sakrash):

Chiqaruvchi rezistor yordamida simlar to'g'ri o'rnatilganligiga ishonch hosil qiling. Agar bu to'g'ri bo'lsa, rezistorning qiymatini oshirish kerak bo'ladi.

Sensor blokirovka qilinganida ham, qiymat 1000 dan oshmaydi:

Rezistorning to'g'ri simi ulanganligiga ishonch hosil qiling, agar bu pastga tushmasa. Agar bu hali ham muammo bo'lsa, pastga tushadigan qarshilik qiymatini kamaytirishga harakat qiling.

Qiymat yuqori va yorug'likni blokirovka qilganda nolga teng bo'ladi:

Bu sensorning ishlashi uchun etarli bo'lishi kerak, lekin dart yo'lni kesib o'tganda, biz tez javob bera olmaymiz. Devredeki ba'zi bir sig'im bor va 220K qarshilik bilan voltaj kerakli chegaradan pastga tushishi uchun biroz vaqt kerak bo'ladi. Agar shunday bo'lsa, rezistorni 100K ga kamaytiring va testlar qanday ishlashini ko'ring.

SENSORLAR O'RTASIDA RESISTORNING O'ZGARISHLARI MUVOFIQ BO'LISHINI BOSING

Ikkala datchikning bir xil sxemalarini ta'minlash rezistorlar orasidagi bir xil kechikishni saqlaydi, bu esa o'lchovlarning eng aniqligini ta'minlaydi.

Agar sizda qo'shimcha muammolar bo'lsa, quyida izoh qoldiring va men sizga yordam berish uchun qo'limdan kelganicha harakat qilaman.

4 -qadam: Uskuna yig'ish

Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish

Komponentlarni bu erda ko'rsatilganidek kichik PCBga lehimlang:

LEDlar va PhotoTransistors kabellari uzunligi taxminan _ ga kesilishi kerak.

Arduino -ni taxtaga lehimlang va rezistorlarni erdan kirish pimlariga ulang. Bundan tashqari, 4 ta ijobiy simni bir -biriga osongina ulashini ta'minlang. Agar sizda bu bilan bog'liq muammolar bo'lsa, siz simning bir bo'lagini echib, oxirigacha barcha uchlari bo'ylab lehimlashingiz mumkin.

Men datchiklarni korpusning qarama -qarshi tomoniga simlar bilan bog'ladim, lekin agar siz tomonlar bir -biriga mos kelsa, sim o'tkazing. Men simlarni uzaytirdim va simlarni diodlarning har biriga lehimladim. Men simni yo'naltirishini biroz yangiladim, shunda ko'proq joy ajratiladi va ba'zi simlar tenglikni tagida, boshqalarida esa ulardan foydalanish osonroq bo'ladi. STLlar loyihaning boshida to'liq zip faylida.

5 -qadam: Yakuniy yig'ilish

Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish
Yakuniy yig'ilish

Agar sizning PCB teshiklaringiz asosiy xronograf tanasidagi teshiklarga mos kelmasa, siz elektronni korpusga lenta yoki issiq elim bilan mahkamlashingiz mumkin, menimcha, uni sim va USB-dan keyin mahkamlashning hojati yo'q. joyida bo'lgan, ammo sizning natijalaringiz farq qilishi mumkin. Bu issiqlik o'tkazuvchanligi uchun vintli teshiklarga 1,75 mm filamanni bosish uchun mo'ljallangan, lekin tenglikni ham vidalanishi yoki yopishtirilishi mumkin. Bu erda eng muhim narsa - USB portiga kirishni ta'minlash.

Elektronikani elektron qopqoq bilan yoping, Yangilangan fayllar menikidan yaxshiroq bo'lishi kerak va umid qilamanki, joyida bosiladi, lekin men 3D bosma qalamdan foydalanib, qopqoqlarni payvandladim. Endi siz bir nechta dart otishga tayyormiz!

Kelgusi yangilanish simlar uchun ichki yo'naltirishdan foydalanishi mumkin, lekin bu holda qopqoqlar Nerf estetikasiga biroz mos keladi.

6 -qadam: Xronograf amalda

Image
Image
Xronograf harakatda
Xronograf harakatda

Qayta ishlash faylini ochish: Chronograph_Intitial_Release, FPS va RPS (sekundiga sekund) ko'rsatadigan xronograf uchun juda yaxshi foydalanuvchi interfeysini yaratishga imkon beradi. Agar siz ulanishda muammoga duch kelsangiz, Arduino seriyali monitorini yopganingizga ishonch hosil qiling, siz koddagi ketma -ket portni o'zgartirishingiz kerak bo'ladi, lekin bu izohlangan va oddiy bo'lishi kerak. Maksimal qiymatlarni tiklash uchun kompyuteringizdagi bo'sh joy tugmasini bosing.

Kod qanday ishlashi haqida bir oz (UI rasmini yuqorida ko'rish mumkin):

  1. Arduino -dan ma'lumot oladi
  2. Maksimal qiymatni topish uchun buni o'tgan kiritish bilan solishtiradi
  3. Oson vizual javob berish uchun joriy va maksimal qiymatlarni to'liq ekranda ko'rsatadi
  4. Bo'sh joy bosilganda maksimal qiymatni tiklaydi

7 -qadam: Kelgusi rejalar

Buning uchun kelajakdagi yangilanish quyidagi yaxshilanishlarni o'z ichiga oladi. Agar sizda qo'shimcha funktsiyalar bo'lsa, menga xabar bering va men ularni bajarishga harakat qilaman.

  1. LCD ekranni o'z ichiga oladi
  2. Batareyalarni o'z ichiga oladi
  3. Nerf mos keluvchi biriktiruvchi nuqtalari
  4. Yangilangan korpus
  5. Temir joylar

Tavsiya: