Përmbajtje:

Kronografi Nerf dhe shkalla e fuçisë së zjarrit: 7 hapa
Kronografi Nerf dhe shkalla e fuçisë së zjarrit: 7 hapa
Anonim
Image
Image
Kronografi Nerf dhe shkalla e fuçisë së zjarrit
Kronografi Nerf dhe shkalla e fuçisë së zjarrit

Prezantimi

Si një tregtar gënjeshtar është gjithmonë shumë e kënaqshme të shohësh rezultatet numerike të ngatërresave të tua. Shumë prej nesh kanë modifikuar armët Nerf më parë dhe kush nuk i pëlqen të hedhë copa shkumash nëpër shtëpi me mbi 100 fps?

Pasi modifikova shumë armë Nerf gjatë gjithë jetës sime, duke filluar kur isha 10 ~ me babanë tim deri tani kur unë dhe shokët e dhomës vazhdojmë të hedhim shkumë në apartament me njëri -tjetrin, gjithmonë kam dashur të di saktësisht se sa shpejt shigjetat po fluturojnë, dhe sa shigjeta në sekondë i qëllon shokët e mi të dhomës Rapid-Strike. Ekzistojnë kronografi komercialë në dispozicion për Nerf dhe Airsoft, por ato me precizion të lartë janë të shtrenjta, dhe është argëtuese të ndërtojmë një vetë. Nëse dëshironi të blini një, Nerf lëshoi një fuçi gati identike me atë të paraqitur në këtë projekt (me një dizajn më të mirë industrial) dhe mund ta gjeni këtu:

Nerf Modulus Ghost-Ops Chrono Barrel

Versioni Nerf gjithashtu mundësohet nga bateria dhe shfaq një numërues për shigjetat e lëshuara. Instructable këtu përfshin gjithashtu një ekran dhe një buton rivendosjeje, megjithatë mbështetet në gjatësinë e shigjetës për llogaritjen e shpejtësisë dhe nuk duket se përdor ndërprerje. Fokusi kryesor i këtij projekti do të jetë në komunikimin serik (si një shembull i thjeshtë siç nuk ishte më i lehtë për tu gjetur në internet), dhe përdorimi i ndërprerjeve për kohën e saktë. Kjo ka të ngjarë të konvertohet lehtësisht në një kronograf airsoft për të njëjtat arsye me një rrethim më të ngushtë dhe një sistem më të mirë montimi për armët airsoft. Pa përdorur ndërprerjet kodi mund të jetë më i ngadalshëm dhe më pak efikas, është gjithashtu shumë më e vështirë të përcaktohet koha në lidhje me mikrosekondat me saktësi pasi milisekonda nuk do të prodhojë vlera të sakta për shpejtësinë e shigjetës.

Unë nuk do të përqendrohem shumë në modelin e rrethimit edhe pse skedarët STL janë në dispozicion në GitHub, sepse çdokush mund të blejë vetëm versionin Nerf i cili është padyshim më i mirë për lojën aktuale, por një version i ardhshëm i kësaj mund të zbusë rezultatet.

Parimet Themelore (Rezultatet e të nxënit):

  • Ka formën e një fuçi standarde Nerf
  • Përdorimi i fototransistorëve si porta kohore për shigjetën.
  • Tregon përdorimin e ndërprerjeve Adruino për kohën
  • Përdorimi i Përpunimit me Arduino për Komunikim Serial

Fusha e zbatimit të projektit:

Unë planifikoj të kaloj kryesisht në specifikat e këtij projekti me disa përmbledhje të shkurtra dhe të rekomandoj leximin e referencave për Arduino dhe Processing për informacione më specifike. Kjo nuk do t'ju mësojë se si të lidhni, por më shumë se si të integroni Arduino dhe Processing dhe të përdorni ndërprerjet. Pjesa më e madhe e këtij mësimi do të jetë përmes leximit të kodit aktual të komentuar, prandaj sigurohuni që të lexoni të gjithë kodin para se të ngarkoni verbërisht dhe të përpiqeni ta vini në punë.

Përfitimet ndaj projekteve të ngjashme:

  • Përdorimi i ndërprerësve për matjen e saktë të shpejtësisë së lartë
  • Seksion i gjerë debugimi për fototransistorët
  • Shkalla e zjarrit (ROF) Llogaritja e daljeve të raundeve për sekondë (RPS)
  • Ndërfaqja e kompjuterit me ekran të plotë - jo e dobishme gjatë betejës, por e shkëlqyeshme nëse doni t'u tregoni të tjerëve rezultatet në transmetim ose Youtube me një regjistrues të ekranit.
  • Potencial për t'u përshtatur për Airsoft ose Paintball duke modifikuar vetëm rrethimin
  • Nuk ka nevojë për PCB të personalizuara (Do të ishte mirë në një azhurnim të ardhshëm, por çdokush mund ta bëjë këtë me një kosto relativisht të ulët
  • Kosto totale nën 10 dollarë kur pjesët ndahen dhe nëse një printer 3D është i disponueshëm - Në të njëjtin nivel me koston komerciale, me shtimin e ROF

Hapi 1: Pjesët dhe mjetet e kërkuara

Pjesët dhe mjetet e kërkuara
Pjesët dhe mjetet e kërkuara

Nëse keni një printer 3D ky do të jetë një projekt i shkëlqyeshëm për ju pasi unë do të siguroj skedarët për rrethimin. Mos ngurroni të azhurnoni rrethimin. Unë nuk kisha asnjë LCD në dorë, por një version i dytë shpresojmë se do të ketë një LCD dhe do të përdorë një WEMOS D1 ose bord të ngjashëm të aktivizuar WiFi/BT dhe një bateri. Kjo do të lejojë regjistrimin e të dhënave në celular dhe reagimet në kohë reale - për shembull, sa shigjeta kanë mbetur në armë. Rekomandohet një përvojë e saldimit, nëse nuk ndiheni rehat unë rekomandoj të ndiqni një Instructable për saldim dhe ndoshta të blini komponentë elektronikë shtesë për çdo rast.

Mjetet e kërkuara:

  1. Makine per ngjitjen e metalit
  2. Fryrëse me ajër të nxehtë/ Armë ngrohëse/ Çakmak (Nëse përdorni tkurrje të nxehtësisë)
  3. Zhveshëset me tela
  4. Mini - B kabllo USB (ose cilido kabllo që kërkohet për mikrokontrolluesin tuaj)
  5. Armë me ngjitës të nxehtë ose të ngjashme (kam përdorur një stilolaps për printim 3D për të bashkuar të gjithë përbërësit në rrethimin e printuar 3D)

Materialet e kërkuara:

  1. 22AWG Tela me bërthamë të fortë ish: Komplet me tela me bërthamë të ngurtë 22AWG
  2. Arduino Nano (ose i ngjashëm, kam përdorur një klon) psh: 3 x Arduino Nano (Klon)
  3. Kompleti i rezistencës (2 x 220 ohm, 2 x 220k ohm) Ju mund të jeni në gjendje të përdorni rezistencë tërheqëse me vlerë më të ulët, të tilla si 47k me sukses, sapo zbulova se kisha nevojë për këtë vlerë që të funksiononte. Udhëzuesi i zgjidhjes së problemeve përshkruan se si të përcaktoni nëse rezistenca e tërheqjes është vlera e duhur për fototransistorin tuaj të veçantë dhe grupin LED. Për shkak të kësaj unë rekomandoj marrjen e një grupi: psh: Set Rezistor
  4. 2 x IR LED ex: IR LED dhe Set i Fototransistorit
  5. 2 x Fototransistor
  6. 1 x Shtojcë e printuar 3D - Në një fije IR të errët (Argjendi Hatchbox ka punuar dhe ishte ngjyra e vetme që kam testuar)
  7. Skedarët e plotë të projektit janë në dispozicion këtu në GitHub, si dhe në skedarin Zip të bashkangjitur. STL -të janë gjithashtu të disponueshme në Thingiverse këtu.

Hapi 2: Testimi i tabelës së bukës

Testimi i tabelës së bukës
Testimi i tabelës së bukës
Testimi i tabelës së bukës
Testimi i tabelës së bukës

Pasi elektronika të ketë mbërritur, lidhja çon te fototransistorët dhe IR Leds -30 20-30cm për korrigjim, unë rekomandoj tkurrjen e nxehtësisë këto. Unë nuk kisha tkurrjen e nxehtësisë në madhësinë e duhur dhe duhej të përdor kasetë elektrike për këtë prototip. Kjo do t'ju lejojë t'i përdorni ato për testimin në mbyllje. Nëse e keni shtypur rrethimin dhe keni LED dhe transistorë fotografish në pozicionet e duhura, mund të filloni testimin.

Sigurohuni që keni të instaluar Arduino dhe Processing.

Skedari zip në fillim ka të gjithë kodin si dhe skedarët STL për printimin e rrethimit.

Përdorni Arduino për të debuguar në fillim dhe përdorni vetëm përpunimin për testimin përfundimtar (mund të shihni gjithçka në monitorin serik nga Arduino).

Mund të provosh thjesht të gjuash një shigjetë Nerf përmes kronografit me Chronogrpah_Updated.ino të instaluar në Arduino. Nëse kjo funksionon atëherë jeni gati. Nëse kjo nuk funksionon, ka të ngjarë të keni për të rregulluar vlerat e rezistencës. Kjo diskutohet në hapin tjetër.

Pak për mënyrën se si funksionon kodi:

  1. Interrupst ndalon kodin sa herë që një shigjetë kalon nëpër një portë dhe përcakton kohën në mikrosekonda
  2. Shpejtësia llogaritet me këtë dhe koha ruhet
  3. Koha midis goditjeve llogaritet dhe shndërrohet në raunde për sekondë
  4. Koha midis portave llogaritet dhe shndërrohet në këmbë për sekondë bazuar në distancën e portës.

    Përdorimi i dy portave lejon rezultate më të mira me kohën identike (sa sensor duhet të mbulohet) dhe zvogëlon histerezën

  5. Shpejtësia dhe shkalla e zjarrit dërgohen përmes serialeve të ndara me presje ose në monitorin serik në arduino ose në skicën e përpunimit që lejon një UI të bukur (përqendrohuni në përpunimin kur gjithçka tjetër funksionon!).

Hapi 3: Testimi dhe rregullimi i gabimeve

Nëse nuk keni pasur sukses me testin fillestar, atëherë duhet të kuptojmë se çfarë shkoi keq.

Hapni shembullin Arduino AnalogReadSerial të gjetur në Skedar-> Shembuj-> 0.1 Bazat-> AnalogReadSerial

Ne duam të sigurohemi që fototransistorët po punojnë ashtu siç e presim. Ne duam që ata të lexojnë LART HIGH kur shigjeta nuk po i bllokon ato dhe LOW kur shigjeta nuk është. Kjo ndodh sepse kodi po përdor Ndërprerjet për të regjistruar kohën kur shigjeta po kalon sensorin, dhe lloji i ndërprerjes që përdoret është FALLING, që do të thotë se do të shkaktojë kur kalon nga LART në TOW POSHT. Për të siguruar që kunja është e LART mund të përdorim kunjat analoge për të përcaktuar vlerën e këtyre kunjave.

Ngarko Arduino Shembull AnalogReadSerial dhe hidhesh nga kunja dixhitale D2 ose D3 në A0.

D2 duhet të jetë sensori i parë dhe D3 duhet të jetë sensori i dytë. Zgjidhni 1 për të lexuar dhe filloni atje. Ndiqni udhëzuesin e mëposhtëm për të përcaktuar zgjidhjen e saktë bazuar në leximet:

Vlera është 0 ose shumë e ulët:

Vlera duhet të jetë rreth 1000 fillimisht, nëse lexon një vlerë shumë të ulët ose zero atëherë sigurohuni që LED -të tuaj të jenë të lidhur mirë dhe të mos digjen, si dhe të rreshtohen mirë. Kam djegur LED -et e mia në provë kur përdor një rezistencë 100 Ohm në vend të 220 Ohm. Shtë më mirë t'i referoheni fletës së të dhënave për LED për të përcaktuar vlerën e saktë të rezistencës, por shumica e LED -ve ndoshta do të punojnë me rezistencën 220 ohm.

LED -të punojnë, dhe vlera është ende 0 ose shumë e ulët:

Çështja ka të ngjarë që rezistenca tërheqëse të jetë shumë e ulët në rezistencë. Nëse keni një problem me rezistencën 220k, mbase mund ta rrisni atë më lart se kjo, por mund të merrni zhurmë. Ju duhet të siguroheni që transistori juaj i fotografive nuk është djegur.

Vlera është një gamë e mesme:

Kjo do të shkaktojë shumë probleme, kryesisht shkaktarë të rremë, ose nuk do të shkaktojë kurrë një nivel të lartë. Ne duhet të sigurohemi që të merret një LART, për ta bërë këtë ne kemi nevojë për një vlerë ~ 600, por le të synojmë që 900+ të jenë të sigurta. Të qenit shumë afër këtij pragu mund të shkaktojë shkaktarë të rremë, kështu që ne duam të shmangim çdo pozitiv të rremë. Për të rregulluar këtë vlerë, ne duam të rrisim rezistencën e tërheqjes (220K). Unë tashmë e kam bërë këtë disa herë në modelin tim dhe ju nuk ka të ngjarë ta bëni këtë pasi kjo është një vlerë shumë e madhe për një rezistencë tërheqëse.

Vlera është shumë e zhurmshme (duke kërcyer shumë pa stimuj të jashtëm):

Sigurohuni që instalimet tuaja elektrike të jenë të sakta me rezistencën tërheqëse. Nëse kjo është e saktë, mund t'ju duhet të rrisni vlerën e rezistencës.

Vlera është mbërthyer në 1000+, edhe kur bllokoni sensorin:

Sigurohuni që rezistenca juaj tërheqëse është e lidhur mirë, kjo ka të ngjarë të ndodhë nëse nuk ka tërheqje. Nëse kjo është ende një çështje, provoni të zvogëloni vlerën e rezistencës tërheqëse.

Vlera është e lartë dhe shkon në zero kur bllokon dritën:

Kjo duhet të jetë e mjaftueshme që sensori të funksionojë, megjithatë ne mund të mos jemi një përgjigje mjaft e shpejtë ndërsa shigjeta kalon rrugën. Ekziston një kapacitet në qark, dhe me rezistencën 220K mund të duhet pak kohë që tensioni të bjerë nën pragun e kërkuar. Nëse është kështu, zvogëloni këtë rezistencë në 100K dhe shihni se si funksionojnë testet.

Sigurohuni që çdo ndryshim i rezistencës të jetë konsistent mes të dy sensorëve

Sigurimi i qarqeve identike për të dy sensorët mban të njëjtën vonesë midis rezistencave e cila do të lejojë saktësinë më të mirë në matje.

Nëse keni ndonjë çështje shtesë, jepni një koment më poshtë dhe unë do të bëj çmos për t'ju ndihmuar.

Hapi 4: Asambleja e harduerit

Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit

Ngjitni përbërësit në PCB të vogël siç shihet këtu:

Përçuesit për LED dhe Fototransistorët duhet të shkurtohen në gjatësi, afërsisht _.

Ngjiteni Arduino në tabelë dhe lidhni rezistencat nga toka në kunjat e arritshme. Për më tepër sigurohuni që 4 telat pozitivë të lidhen lehtësisht së bashku. Nëse keni probleme me këtë, mund të hiqni një pjesë të telit dhe ta lidhni atë në të gjitha lidhjet në fund.

I kam lidhur sensorët në anën e kundërt të rrethimit, megjithatë mos ngurroni të lidhni tela ose për sa kohë që i mbani anët në përputhje. I preva telat në gjatësi dhe i bashkova telat në secilën prej diodave të fundit. Unë azhurnova drejtimin e telit pak për të siguruar më shumë hapësirë dhe më pak shqetësime për të pasur disa tela nën PCB dhe të tjera mbi të për përdorim të lehtë. STL -të janë në skedarin e plotë zip të projektit në fillim të projektit.

Hapi 5: Asambleja Përfundimtare

Asambleja Përfundimtare
Asambleja Përfundimtare
Asambleja Përfundimtare
Asambleja Përfundimtare
Asambleja Përfundimtare
Asambleja Përfundimtare

Nëse vrimat tuaja të PCB nuk përputhen me vrimat në trupin kryesor të kronografit, ka shumë të ngjarë që të siguroni pajisjet elektronike në mbyllje me një kasetë ose ngjitës të nxehtë, zbulova se nuk kishte nevojë të sigurohej pas tela dhe USB ishin në vend, megjithatë rezultatet tuaja mund të ndryshojnë. Shtë projektuar për të lejuar shtypjen e filamentit 1.75mm në vrimat e vidhave për grumbullimin e nxehtësisë, megjithatë PCB gjithashtu mund të vidhet ose ngjitet. Pjesa më e rëndësishme këtu është të siguroni që porta USB të jetë e arritshme.

Mbuloni pajisjet elektronike me mbulesën elektronike, Skedarët e azhurnuar duhet të përshtaten më mirë se imi dhe shpresoj se do të shtypen në vend, megjithatë unë përdor një stilolaps për printim 3D për të bashkuar kapakët në vend. Tani jeni gati të gjuani disa shigjeta!

Një përditësim i ardhshëm mund të përdorë drejtimin e brendshëm për telat, por kapakët në këtë rast i japin pak estetikës Nerf.

Hapi 6: Kronografi në veprim

Image
Image
Kronografi në veprim
Kronografi në veprim

Hapja e Skedarit të Përpunimit: Chronograph_Intitial_Release do të lejojë një ndërfaqe përdoruesi vërtet të bukur për kronografin që shfaq të dy FPS dhe RPS (Raunde për sekondë). Nëse keni probleme me lidhjen sigurohuni që keni mbyllur monitorin tuaj serik Arduino, mund t'ju duhet të ndryshoni portën serike në kod, por kjo komentohet dhe duhet të jetë e thjeshtë. Për të rivendosur vlerat maksimale, thjesht shtypni shiritin hapësinor në kompjuterin tuaj.

Pak për mënyrën se si funksionon kodi (Foto e UI mund të shihet më lart):

  1. Merr të dhëna nga Arduino
  2. Krahasoni këtë me të dhënat e kaluara për të gjetur vlerën maksimale
  3. Shfaq vlerat aktuale dhe maksimale në ekran të plotë për reagime të lehta vizuale
  4. Rivendos vlerën maksimale kur shtypet hapësira

Hapi 7: Planet e së ardhmes

Një përditësim i ardhshëm për këtë do të përfshijë përmirësimet e mëposhtme. Nëse keni veçori shtesë që dëshironi, më tregoni dhe do të përpiqem t'i zbatoj ato.

  1. Përfshi ekranin LCD
  2. Përfshi bateritë
  3. Pikat e bashkëngjitjes Nerf Compatible
  4. Shtojca e përditësuar
  5. Pamjet e Hekurit

Recommended: