Taula de continguts:

Cronògraf Nerf i caixa de foc: 7 passos
Cronògraf Nerf i caixa de foc: 7 passos

Vídeo: Cronògraf Nerf i caixa de foc: 7 passos

Vídeo: Cronògraf Nerf i caixa de foc: 7 passos
Vídeo: НАЧАЛО ИГРЫ! НОВИЧОК 1 УРОВЕНЬ | ЧТО НУЖНО ЗНАТЬ НОВИЧКАМ В НАЧАЛЕ ИГРЫ? Last Day on Earth: Survival 2024, Desembre
Anonim
Image
Image
Cronògraf Nerf i barril de velocitat de foc
Cronògraf Nerf i barril de velocitat de foc

Introducció

Com a bricolador, sempre és molt satisfactori veure els resultats numèrics del vostre bricolatge. Molts de nosaltres hem modificat les armes Nerf abans i a qui no li agrada llançar trossos d’escuma per tota la casa a més de 100 fps?

Després de modificar moltes armes Nerf al llarg de la meva vida, començant quan tenia uns 10 anys amb el meu pare fins ara, quan jo i els meus companys de pis continuem llançant escuma a través de l'apartament, sempre he volgut saber exactament amb quina velocitat volen els dards., i quants dards per segon disparen els meus companys de pis Rapid-Strike. Hi ha cronògrafs comercials disponibles per a Nerf i Airsoft, però els d’alta precisió són cars i és divertit crear-ne un de sol. Si en voleu comprar un, Nerf va llançar un barril gairebé idèntic al present en aquest projecte (amb un disseny industrial millor) i es pot trobar aquí:

Nerf Modulus Ghost-Ops Chrono Barrel

La versió Nerf també funciona amb bateria i mostra un comptador per als dards disparats. L'instructible aquí també inclou una pantalla i un botó de restabliment, però depèn de la longitud del dard per al càlcul de la velocitat i no sembla que utilitzi interrupcions. L’objectiu principal d’aquest projecte serà la comunicació en sèrie (com un exemple senzill com aquest no era el més fàcil de trobar en línia) i l’ús d’interrupcions per a un temps precís. Probablement es pot convertir fàcilment en un cronògraf airsoft per les mateixes raons amb un recinte més ajustat i un millor sistema de muntatge per a canons airsoft. Sense fer servir interrupcions, el codi pot ser més lent i menys eficient, també és molt més difícil de temps quant als microsegons, ja que els mil·lisegons no produiran valors precisos per a la velocitat dels dards.

No em centraré massa en el disseny del recinte, tot i que els fitxers STL estan disponibles al GitHub, perquè tothom pot comprar la versió Nerf, que sens dubte és millor per al joc real, però una futura versió d’aquest pot mitigar els resultats.

Principis bàsics (resultats d'aprenentatge):

  • Té la forma d’un barril Nerf estàndard
  • Ús de fototransistors com a portes de distribució del dard.
  • Mostra l'ús de les interrupcions d'Adruino per a la sincronització
  • Ús del processament amb Arduino per a la comunicació en sèrie

Abast del projecte:

Tinc previst repassar sobretot els detalls d’aquest projecte amb algunes breus visions generals i recomano llegir les referències d’Arduino i Processsing per obtenir informació més específica. Això no us ensenyarà a soldar, sinó a integrar Arduino i Processing i utilitzar les interrupcions. Gran part d’aquest aprenentatge es realitzarà mitjançant la lectura del codi comentat real, així que assegureu-vos que llegiu tot el codi abans de penjar-lo a cegues i intentar que funcioni.

Avantatges de projectes similars:

  • Ús d’interrupcions per mesurar amb precisió l’alta velocitat
  • Àmplia secció de depuració de fototransistors
  • Càlcul de la taxa de foc (ROF) que produeix rondes per segon (RPS)
  • Interfície d'ordinador de pantalla completa: no és útil durant la batalla, però és fantàstica si voleu mostrar als altres els resultats a la transmissió o a Youtube amb un gravador de pantalla.
  • Possibilitat d'adaptar-se a Airsoft o Paintball modificant només el recinte
  • No necessiteu PCB personalitzats (seria bo en una futura actualització, però tothom pot fer-ho per un cost relativament baix
  • Cost total inferior a 10 dòlars quan es reparteixen les peces i si hi ha disponible una impressora 3D: al mateix nivell que el cost comercial, amb addició ROF

Pas 1: peces i eines necessàries

Peces i eines necessàries
Peces i eines necessàries

Si teniu una impressora 3D, aquest serà un gran projecte, ja que us proporcionaré els fitxers del recinte. No dubteu a actualitzar el recinte. No tenia LCD a mà, però espero que una segona versió tingui una pantalla LCD i utilitzi una placa WEMOS D1 o similar compatible amb WiFi / BT i una bateria. Això permetrà el registre de dades al mòbil i retroalimentació en temps real, per exemple, quants dards queden a l'arma. Es recomana una mica de soldadura, si no us sentiu còmode, us recomano seguir una instrucció per soldar i, probablement, comprar components electrònics addicionals per si de cas.

Eines necessàries:

  1. Soldador
  2. Ventilador d’aire calent / pistola de calor / encenedor (si s’utilitza termorretracció)
  3. Decapants de filferro
  4. Cable USB Mini - B (o el cable que calgui per al vostre micro controlador)
  5. Pistola de cola calenta o similar (he utilitzat un bolígraf per imprimir en 3D per connectar tots els components al recinte imprès en 3D)

Materials requerits:

  1. 22AWG cable de nucli sòlid ex: conjunt de cables de nucli sòlid 22AWG
  2. Arduino Nano (o similar, he utilitzat un clon) ex: 3 x Arduino Nano (Clon)
  3. Kit de resistències (2 x 220 ohm, 2 x 220 k ohm) És possible que pugueu utilitzar resistents de baix nivell, com ara 47 k, amb èxit; he trobat que necessitava aquest valor perquè funcionés. La guia de resolució de problemes descriu com determinar si la resistència de desplaçament és el valor correcte per al vostre fototransistor i conjunt de LED específics. Per això, recomano obtenir un conjunt: ex: Resistor Set
  4. 2 x IR LED ex: LED IR i conjunt de PhotoTransistor
  5. 2 x PhotoTransistor
  6. 1 x recinte imprès en 3D: en un filament opac IR (Hatchbox Silver Worked i va ser l'únic color que vaig provar)
  7. Els fitxers de projecte complets estan disponibles aquí a GitHub, així com al fitxer Zip adjunt. Les STL també estan disponibles a Thingiverse aquí.

Pas 2: proves de taulers de pa

Proves de taulers de pa
Proves de taulers de pa
Proves de taulers de pa
Proves de taulers de pa

Un cop ha arribat l’electrònica, la soldadura condueix als fototransistors i als leds IR de 20-30 cm per a la depuració. Recomano la reducció de la calor. No tenia la mida correcta de contracció de calor i vaig haver d’utilitzar cinta elèctrica per a aquest prototip. Això us permetrà utilitzar-los per fer proves al recinte. Si heu imprès el recinte i teniu LEDs i transistors fotogràfics en les posicions correctes, podeu començar a provar-los.

Assegureu-vos que teniu instal·lat Arduino i Processing.

El fitxer zip al principi conté tot el codi, així com els fitxers STL per imprimir el recinte.

Utilitzeu Arduino per depurar-lo al principi i només utilitzeu el processament per a les proves finals (podeu veure-ho tot al monitor sèrie des d’Arduino).

Podeu provar simplement de llançar un dard Nerf a través del cronògraf amb Chronogrpah_Updated.ino instal·lat a l'Arduino. Si això funciona, ja esteu a punt. Si això no funciona, és probable que hàgiu d'ajustar els valors de la resistència. Això es debat al següent pas.

Una mica sobre com funciona el codi:

  1. Interrupst atura el codi sempre que un dard passa per una porta i determina el temps en microsegons
  2. La velocitat es calcula amb això i s’emmagatzema el temps
  3. El temps entre tirs es calcula i es converteix en rondes per segon
  4. El temps entre portes es calcula i es converteix en peus per segon segons la distància de la porta.

    L’ús de dues portes permet obtenir millors resultats amb un temps idèntic (quant s’ha de tapar el sensor) i redueix la histèresi

  5. La velocitat i la velocitat de foc s’envien per sèrie separades per una coma al monitor sèrie en arduino o a l’esbós de processament que permet una bona interfície d’usuari (centreu-vos en el processament quan tot la resta funcioni!).

Pas 3: proves i depuració

Si no heu tingut èxit amb la prova inicial, hem d’esbrinar què ha fallat.

Obriu l'exemple d'Arduino AnalogReadSerial que es troba a Fitxer-> Exemples-> 0,1 Conceptes bàsics -> AnalogReadSerial

Volem assegurar-nos que els fototransistors funcionin tal com esperem. Volem que llegeixin HIGH quan el dard no els bloqueja i LOW quan el dard no ho sigui. Això es deu al fet que el codi utilitza Interrupcions per registrar el temps en què el dard passa el sensor i el tipus d’interrupció que s’utilitza és FALLING, el que significa que es desencadenarà en passar d’ALTA a BAIXA. Per assegurar-nos que el pin és ALTA podem utilitzar els pins analògics per determinar el valor d’aquests pins.

Carregueu l'Arduino Example AnalogReadSerial i salteu del pin digital D2 o D3 a A0.

D2 ha de ser el primer sensor i D3 ha de ser el segon sensor. Trieu 1 per llegir i comenceu-hi. Seguiu la guia següent per determinar la solució correcta basada en les lectures:

El valor és 0 o és molt baix:

El valor hauria d’estar al voltant de 1000 inicialment, si està llegint un valor molt baix o zero, assegureu-vos que els LEDs estan connectats correctament i no es queden cremats, així com s’han alineat bé. Vaig cremar els LEDs en proves quan feia servir una resistència de 100 ohm en lloc de 220 ohm. El millor és consultar el full de dades dels LED per determinar el valor de la resistència correcte, però la majoria dels LED probablement funcionaran amb la resistència de 220 ohm.

Els LED funcionen i el valor continua sent 0 o molt baix:

El problema és probable que la resistència de baixada sigui massa baixa en resistència. Si teniu un problema amb la resistència de 220 k, potser podríeu augmentar-lo més amunt que això, però pot provocar soroll. Heu d’assegurar-vos que el transistor fotogràfic no està cremat.

El valor és un interval mitjà:

Això provocarà una gran quantitat de problemes, principalment desencadenants falsos, o que mai no causaran un alt. Hem d’assegurar-nos que es rep un HIGH, per fer-ho, necessitem un valor de ~ 600, però volem que 900+ siguin segurs. Estar massa a prop d’aquest llindar pot provocar falsos desencadenants, de manera que volem evitar qualsevol fals positiu. Per ajustar aquest valor, volem augmentar la resistència de desplaçament (220K). Ja ho he fet algunes vegades al meu disseny i és probable que no hagueu de fer-ho, ja que és un valor molt gran per a una resistència desplegable.

El valor és molt sorollós (saltant molt sense estímuls externs):

Assegureu-vos que el cablejat sigui correcte amb la resistència desplegable. Si això és correcte, potser haureu d'augmentar el valor de la resistència.

El valor es manté en 1000+, fins i tot quan es bloqueja el sensor:

Assegureu-vos que la vostra resistència desplegable estigui connectada correctament; és probable que això passi si no hi ha cap desplegable. Si això continua essent un problema, proveu de reduir el valor de la resistència desplegable.

El valor és alt i va a zero quan es bloqueja la llum:

Això hauria de ser suficient perquè el sensor funcioni, tot i que és possible que no responguem prou ràpidament a mesura que el dard creua el camí. Hi ha una mica de capacitat al circuit i, amb la resistència de 220K, pot passar un cert temps fins que la tensió caigui per sota del llindar requerit. Si aquest és el cas, reduïu aquesta resistència a 100K i vegeu com funcionen les proves.

ASsegureu-vos que qualsevol canvi de resistència sigui coherent entre els dos sensors

Assegurar circuits idèntics per als dos sensors manté la mateixa latència entre les resistències que permetrà obtenir la millor precisió en les mesures.

Si teniu cap problema addicional, deixeu un comentari a continuació i faré tot el possible per ajudar-vos.

Pas 4: Muntatge de maquinari

Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari

Soldeu els components al petit PCB tal com es veu aquí:

Els cables dels LED i dels PhotoTransistors haurien de tallar-se a la longitud, aproximadament _.

Soldeu l'Arduino a la placa i connecteu les resistències des de terra fins a pins accessibles. A més, assegureu-vos que els 4 cables positius es poden connectar fàcilment. Si teniu problemes amb això, podeu treure un tros del cable i soldar-lo per tots els cables al final.

Vaig connectar els sensors al costat oposat del recinte, però no dubteu a connectar-los sempre que mantingueu els laterals uniformes. Vaig tallar els cables a llarg i vaig soldar els cables a cadascun dels díodes. He actualitzat lleugerament l'encaminament del cable per proporcionar més espai i menys preocupacions per tenir alguns cables a sota del PCB i d'altres per facilitar-ne l'ús. Els STL es troben al fitxer zip complet del projecte al principi del projecte.

Pas 5: Assemblea final

Assemblea final
Assemblea final
Assemblea final
Assemblea final
Assemblea final
Assemblea final

Si els forats del PCB no coincideixen amb els forats del cos del cronògraf principal, és probable que pugueu assegurar l’electrònica del recinte amb una mica de cinta o cola calenta. Vaig trobar que no calia assegurar-lo després del cable i l’USB. estaven al lloc, però els vostres resultats poden variar. Està dissenyat per permetre premsar filaments de 1,75 mm en els forats de cargol per a estacades de calor, tot i que el PCB també es pot cargolar o enganxar. La part més important aquí és garantir que el port USB sigui accessible.

Tapeu l’electrònica amb la tapa electrònica. Els fitxers actualitzats haurien d’adaptar-se millor al que feia el meu i esperem que es mantinguin al seu lloc, però he utilitzat un bolígraf d’impressió 3D per soldar les cobertes al seu lloc. Ja esteu a punt per llançar uns dards!

Una futura actualització pot utilitzar un encaminament intern per als cables, però les cobertes en aquest cas cedeixen lleugerament a l’estètica Nerf.

Pas 6: Cronògraf en acció

Image
Image
Cronògraf en acció
Cronògraf en acció

Obrir el fitxer de processament: Chronograph_Intitial_Release permetrà una interfície d’usuari molt agradable per al cronògraf que mostra tant FPS com RPS (rondes per segon). Si teniu problemes per connectar-vos, assegureu-vos que heu tancat el monitor sèrie Arduino, és possible que també hàgiu de canviar el port sèrie del codi, però això es comenta i hauria de ser senzill. Per restablir els valors màxims, simplement premeu la barra espaiadora de l'ordinador.

Una mica sobre com funciona el codi (es pot veure la foto de la interfície d’usuari més amunt):

  1. Rep l'entrada de l'Arduino
  2. Es compara amb l'entrada passada per trobar el valor màxim
  3. Mostra els valors actuals i màxims a pantalla completa per facilitar la retroalimentació visual
  4. Restableix el valor màxim quan es prem espai

Pas 7: Plans de futur

Una futura actualització inclourà les següents millores. Si teniu funcions addicionals que voldríeu, feu-m'ho saber i intentaré implementar-les.

  1. Inclou pantalla LCD
  2. Inclou les bateries
  3. Punts de connexió compatibles amb Nerf
  4. Recinte actualitzat
  5. Llocs de Ferro

Recomanat: