Table des matières:

Chronographe Nerf et cadence de tir du canon : 7 étapes
Chronographe Nerf et cadence de tir du canon : 7 étapes

Vidéo: Chronographe Nerf et cadence de tir du canon : 7 étapes

Vidéo: Chronographe Nerf et cadence de tir du canon : 7 étapes
Vidéo: [REVUE] Nerf Elite 2.0 Commander RD-6 | Un super Revolver ! 👍 (français) 2024, Juillet
Anonim
Image
Image
Nerf Chronographe et Cadence de Tir Canon
Nerf Chronographe et Cadence de Tir Canon

introduction

En tant que bricoleur, il est toujours très satisfaisant de voir les résultats numériques de votre bricolage. Beaucoup d'entre nous ont déjà modifié des pistolets Nerf et qui n'aime pas jeter des morceaux de mousse à travers la maison à plus de 100 images par seconde ?

Après avoir modifié de nombreux pistolets Nerf tout au long de ma vie, à partir de 10 ans avec mon père jusqu'à maintenant, lorsque mes colocataires et moi continuons à nous jeter de la mousse dans l'appartement, j'ai toujours voulu savoir à quelle vitesse les fléchettes volaient., et combien de fléchettes par seconde mes colocataires tirent avec Rapid-Strike. Il existe des chronographes commerciaux disponibles pour Nerf et Airsoft, mais ceux de haute précision sont chers et c'est amusant d'en construire un par nous-mêmes. Si vous voulez en acheter un, Nerf a sorti un baril presque identique à celui présenté dans ce projet (avec un meilleur design industriel) et il peut être trouvé ici:

Nerf Modulus Ghost-Ops Chrono Barrel

La version Nerf est également alimentée par batterie et affiche un compteur de fléchettes tirées. L'Instructable ici comprend également un écran et un bouton de réinitialisation, mais repose sur la longueur de la fléchette pour le calcul de la vitesse et ne semble pas utiliser d'interruptions. L'objectif principal de ce projet sera la communication série (comme un exemple simple comme celui-ci n'était pas le plus facile à trouver en ligne), et l'utilisation d'interruptions pour une synchronisation précise. Cela peut probablement être facilement converti en un chronographe airsoft pour les mêmes raisons avec un boîtier plus serré et un meilleur système de montage pour les pistolets airsoft. Sans utiliser d'interruptions, le code peut être plus lent et moins efficace, il est également beaucoup plus difficile de chronométrer avec précision en microsecondes car les millisecondes ne produiront pas de valeurs précises pour la vitesse des fléchettes.

Je ne me concentrerai pas trop sur la conception du boîtier bien que les fichiers STL soient disponibles dans le GitHub, car tout le monde peut simplement acheter la version Nerf qui est certainement meilleure pour le jeu réel, mais une future version de celle-ci pourrait atténuer les résultats.

Principes de base (résultats d'apprentissage):

  • A la forme d'un Nerf Barrel standard
  • Utilisation de phototransistors comme portes de synchronisation pour la fléchette.
  • Montre l'utilisation des interruptions Adruino pour le timing
  • Utilisation du traitement avec Arduino pour la communication série

Portée du projet:

Je prévois de passer en revue la plupart des détails de ce projet avec quelques brefs aperçus et je recommande de lire les références pour Arduino et Processsing pour des informations plus spécifiques. Cela ne vous apprendra pas comment souder, mais plutôt comment intégrer Arduino et Processing et utiliser des interruptions. Une grande partie de cet apprentissage se fera par la lecture du code commenté réel, alors assurez-vous de lire tout le code avant de télécharger aveuglément et d'essayer de le faire fonctionner.

Avantages par rapport à des projets similaires:

  • Utilisation d'interruptions pour une mesure précise de la vitesse élevée
  • Section de débogage étendue pour les phototransistors
  • Calcul de la cadence de tir (ROF) produisant des coups par seconde (RPS)
  • Interface d'ordinateur plein écran - pas utile pendant la bataille, mais idéale si vous voulez montrer aux autres les résultats en streaming ou sur Youtube avec un enregistreur d'écran.
  • Possibilité d'être adapté pour l'Airsoft ou le Paintball en modifiant uniquement l'enceinte
  • Pas besoin de PCB personnalisés (ce serait bien dans une future mise à jour mais n'importe qui peut le faire pour un coût relativement bas
  • Coût total inférieur à 10 $ lorsque les pièces sont détachées et si une imprimante 3D est disponible - À égalité avec le coût commercial, avec ajout de ROF

Étape 1: Pièces et outils requis

Pièces et outils requis
Pièces et outils requis

Si vous avez une imprimante 3D, ce sera un excellent projet pour vous car je fournirai les fichiers pour le boîtier. N'hésitez pas à mettre à jour le boîtier. Je n'avais pas d'écran LCD sous la main, mais une deuxième version aura, espérons-le, un écran LCD et utilisera une carte WEMOS D1 ou une carte compatible WiFi/BT similaire, et une batterie. Cela permettra l'enregistrement des données sur mobile et un retour en temps réel - par exemple, le nombre de fléchettes restantes dans le pistolet. Une certaine expérience de soudure est recommandée, si vous ne vous sentez pas à l'aise, je vous recommande de suivre un Instructable pour souder et probablement d'acheter des composants électroniques supplémentaires au cas où.

Outils requis:

  1. Fer à souder
  2. Ventilateur à air chaud/pistolet thermique/briquet (si vous utilisez un thermorétractable)
  3. Pince à dénuder
  4. Câble USB Mini - B (ou le câble requis pour votre microcontrôleur)
  5. Pistolet à colle chaude ou similaire (j'ai utilisé un stylo d'impression 3D pour attacher tous les composants au boîtier imprimé en 3D)

Matériaux nécessaires:

  1. Fil à âme pleine 22AWG ex: Jeu de fils à âme pleine 22AWG
  2. Arduino Nano (ou similaire, j'ai utilisé un clone) ex: 3 x Arduino Nano (Clone)
  3. Kit de résistances (2 x 220 ohms, 2 x 220 k ohms) Vous pourrez peut-être utiliser des résistances pulldown de valeur inférieure telles que 47 k avec succès, je viens de découvrir que j'avais besoin de cette valeur pour que cela fonctionne. Le guide de dépannage explique comment déterminer si la résistance pulldown est la valeur correcte pour votre ensemble spécifique de phototransistor et de LED. Pour cette raison, je recommande d'obtenir un ensemble: ex: Ensemble de résistances
  4. 2 x LED IR ex: LED IR et PhotoTransistor Set
  5. 2 x phototransistor
  6. 1 x boîtier imprimé en 3D - dans un filament opaque IR (Hatchbox Silver a fonctionné et était la seule couleur que j'ai testée)
  7. Les fichiers de projet complets sont disponibles ici sur GitHub ainsi que dans le fichier zip ci-joint. Les STL sont également disponibles sur Thingiverse ici.

Étape 2: Test de la planche à pain

Test de planche à pain
Test de planche à pain
Test de planche à pain
Test de planche à pain

Une fois que l'électronique est arrivée, la soudure mène aux phototransistors et aux LED IR ~ 20-30 cm pour le débogage, je recommande de les thermorétracter. Je n'avais pas la bonne taille de thermorétractable et j'ai dû utiliser du ruban électrique pour ce prototype. Cela vous permettra de les utiliser pour des tests dans l'enceinte. Si vous avez imprimé le boîtier et que les LED et les phototransistors sont correctement positionnés, vous pouvez commencer les tests.

Assurez-vous que Arduino et Processing sont installés.

Le fichier zip au début contient tout le code ainsi que les fichiers STL pour imprimer le boîtier.

Utilisez Arduino pour déboguer dans un premier temps et n'utilisez le traitement que pour les tests finaux (vous pouvez tout voir dans le moniteur série d'Arduino).

Vous pouvez simplement essayer de tirer une fléchette Nerf à travers le chronographe avec Chronogrpah_Updated.ino installé sur l'Arduino. Si cela fonctionne, vous êtes prêt. Si cela ne fonctionne pas, vous devrez probablement ajuster les valeurs de résistance. Ceci est discuté à l'étape suivante.

Un peu sur le fonctionnement du code:

  1. L'interruption arrête le code chaque fois qu'une fléchette passe par une porte et détermine le temps en microsecondes
  2. La vitesse est calculée avec ceci et le temps est stocké
  3. Le temps entre les tirs est calculé et converti en tours par seconde
  4. Le temps entre les portes est calculé et converti en pieds par seconde en fonction de la distance des portes.

    L'utilisation de deux portes permet d'obtenir de meilleurs résultats avec une synchronisation identique (combien de capteur doit être couvert) et réduit l'hystérésis

  5. La vitesse et la cadence de tir sont envoyées via une série séparée par une virgule soit au moniteur série dans arduino, soit à l'esquisse de traitement permettant une interface utilisateur agréable (concentrez-vous sur le traitement lorsque tout le reste fonctionne !).

Étape 3: Test et débogage

Si vous n'avez pas réussi le test initial, nous devons déterminer ce qui s'est mal passé.

Ouvrez l'exemple Arduino AnalogReadSerial trouvé dans Fichier-> Exemples-> 0,1 Basics -> AnalogReadSerial

Nous voulons nous assurer que les phototransistors fonctionnent comme nous le souhaitons. Nous voulons qu'ils lisent HAUT lorsque la fléchette ne les bloque pas, et BAS lorsque la fléchette ne les bloque pas. En effet, le code utilise des interruptions pour enregistrer l'heure à laquelle la fléchette passe le capteur et le type d'interruption utilisé est FALLING, ce qui signifie qu'il se déclenchera lors du passage de HIGH à LOW. Pour nous assurer que la broche est HAUTE, nous pouvons utiliser les broches analogiques pour déterminer la valeur de ces broches.

Téléchargez l'exemple Arduino AnalogReadSerial et passez de la broche numérique D2 ou D3 à A0.

D2 devrait être le premier capteur et D3 devrait être le deuxième capteur. Choisissez 1 pour lire et commencez par là. Suivez le guide ci-dessous pour déterminer la solution correcte en fonction des lectures:

La valeur est 0 ou très faible:

La valeur doit être d'environ 1000 au départ, s'il lit une valeur très faible ou zéro, assurez-vous que vos LED sont correctement câblées et non grillées, ainsi que bien alignées. J'ai grillé mes LED lors des tests en utilisant une résistance de 100 ohms au lieu de 220 ohms. Il est préférable de se référer à la fiche technique des LED pour déterminer la valeur de résistance correcte, mais la plupart des LED fonctionneront probablement avec la résistance de 220 ohms.

Les LED fonctionnent et la valeur est toujours à 0 ou très faible:

Le problème est probablement dû au fait que la résistance de tirage est trop faible. Si vous rencontrez un problème avec la résistance 220k, vous pouvez peut-être l'augmenter plus haut que cela, mais vous risquez d'avoir du bruit. Vous devez vous assurer que votre phototransistor n'est pas grillé.

La valeur est une fourchette moyenne:

Cela causera beaucoup de problèmes, principalement de faux déclencheurs, ou ne provoquera jamais de high. Nous devons nous assurer qu'un HIGH est reçu, pour ce faire, nous avons besoin d'une valeur ~600 mais visons 900+ pour être sûr. Être trop proche de ce seuil peut provoquer de faux déclencheurs, nous voulons donc éviter tout faux positif. Pour ajuster cette valeur, nous voulons augmenter la résistance pulldown (220K). Je l'ai déjà fait plusieurs fois dans ma conception et vous n'aurez probablement pas à le faire car il s'agit d'une très grande valeur pour une résistance pull-down.

La valeur est très bruyante (sautant beaucoup sans stimuli externes):

Assurez-vous que votre câblage est correct avec la résistance pull-down. Si cela est correct, vous devrez peut-être augmenter la valeur de la résistance.

La valeur est bloquée à 1000+, même en bloquant le capteur:

Assurez-vous que votre résistance pull-down est correctement câblée, cela est susceptible de se produire s'il n'y a pas de pull-down. Si le problème persiste, essayez de réduire la valeur de la résistance pull-down.

La valeur est élevée et passe à zéro lors du blocage de la lumière:

Cela devrait être suffisant pour que le capteur fonctionne, mais il se peut que nous n'ayons pas une réponse assez rapide lorsque la fléchette traverse le chemin. Il y a une certaine capacité dans le circuit, et avec la résistance 220K, cela peut prendre un certain temps pour que la tension tombe en dessous du seuil requis. Si c'est le cas, réduisez cette résistance à 100K et voyez comment fonctionnent les tests.

ASSUREZ-VOUS QUE TOUS LES CHANGEMENTS DE RESISTANCE SONT COHERENTS ENTRE LES DEUX CAPTEURS

Assurer des circuits identiques pour les deux capteurs maintient la même latence entre les résistances, ce qui permettra la meilleure précision dans les mesures.

Si vous avez des problèmes supplémentaires, laissez un commentaire ci-dessous et je ferai de mon mieux pour vous aider.

Étape 4: Assemblage du matériel

Assemblage du matériel
Assemblage du matériel
Assemblage du matériel
Assemblage du matériel
Assemblage du matériel
Assemblage du matériel

Soudez les composants au petit PCB comme on le voit ici:

Les fils des LED et des phototransistors doivent être coupés à longueur, environ _.

Soudez l'Arduino sur la carte et câblez les résistances du sol aux broches accessibles. De plus, assurez-vous que les 4 fils positifs peuvent être facilement attachés ensemble. Si vous rencontrez des problèmes avec cela, vous pouvez dénuder un morceau de fil et le souder sur tous les fils à la fin.

J'ai câblé les capteurs du côté opposé du boîtier, mais n'hésitez pas à câbler l'un ou l'autre tant que vous gardez les côtés cohérents. J'ai coupé les fils à longueur et soudé les fils à chacune des diodes en dernier. J'ai légèrement mis à jour le routage des fils pour offrir plus de place et moins de soucis pour avoir des fils sous le PCB et d'autres au-dessus pour une utilisation facile. Les STL se trouvent dans le fichier zip complet du projet au début du projet.

Étape 5: Assemblage final

L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final
L'assemblage final

Si vos trous de PCB ne correspondent pas aux trous du corps principal du chronographe, vous pouvez probablement sécuriser l'électronique dans le boîtier avec du ruban adhésif ou de la colle chaude, j'ai trouvé qu'il n'avait pas besoin d'être sécurisé après le fil et l'USB étaient en place, mais vos résultats peuvent varier. Il est conçu pour permettre le pressage de filaments de 1,75 mm dans les trous de vis pour le calage thermique, mais le PCB peut également être vissé ou collé. La partie la plus importante ici est de s'assurer que le port USB est accessible.

Couvrez l'électronique avec le couvercle de l'électronique, les fichiers mis à jour devraient mieux s'adapter que les miens et, espérons-le, se mettront en place, mais j'ai utilisé un stylo d'impression 3D pour souder les couvercles en place. Vous êtes maintenant prêt à tirer quelques fléchettes !

Une future mise à jour peut utiliser un routage interne pour les fils, mais les couvercles dans ce cas cèdent légèrement à l'esthétique Nerf.

Étape 6: Chronographe en action

Image
Image
Chronographe en action
Chronographe en action

L'ouverture du fichier de traitement: Chronograph_Intitial_Release permettra une interface utilisateur vraiment agréable pour le chronographe affichant à la fois FPS et RPS (Rounds per Second). Si vous rencontrez des problèmes de connexion, assurez-vous de fermer votre moniteur série Arduino, vous devrez peut-être également changer le port série dans le code, mais cela est commenté et devrait être simple. Pour réinitialiser les valeurs maximales, appuyez simplement sur la barre d'espace de votre ordinateur.

Un peu sur le fonctionnement du code (la photo de l'interface utilisateur peut être vue ci-dessus):

  1. Reçoit l'entrée de l'Arduino
  2. Compare cela à l'entrée passée pour trouver la valeur maximale
  3. Affiche les valeurs actuelles et maximales en plein écran pour un retour visuel facile
  4. Réinitialise la valeur maximale lorsque l'espace est enfoncé

Étape 7: Plans futurs

Une future mise à jour pour cela inclura les améliorations suivantes. Si vous souhaitez des fonctionnalités supplémentaires, faites-le moi savoir et j'essaierai de les implémenter.

  1. Inclure l'écran LCD
  2. Inclure les piles
  3. Points d'attache compatibles Nerf
  4. Boîtier mis à jour
  5. Sites de fer

Conseillé: