Inhoudsopgave:

Arduino voor Nerf: chronograaf en schotteller - Ajarnpa
Arduino voor Nerf: chronograaf en schotteller - Ajarnpa

Video: Arduino voor Nerf: chronograaf en schotteller - Ajarnpa

Video: Arduino voor Nerf: chronograaf en schotteller - Ajarnpa
Video: Arduino for Nerf: Chronograph and Shot Counter 2024, Juli-
Anonim
Image
Image
Onderdelen en benodigdheden
Onderdelen en benodigdheden

Mijn vorige Instructable behandelde de basisprincipes van het detecteren van dartsnelheid met behulp van een infraroodzender en detector. Dit project gaat nog een stap verder en gebruikt een printplaat, display en batterijen om een draagbare munitieteller en chronograaf te maken. Daarnaast voegen we enkele LED's toe om de flits op de snuit te simuleren. Want, pew pew pew…

Dit lijkt misschien een ontmoedigend project met veel stappen, maar het gebruik van een printplaat en commerciële componenten voor het display en de microcontroller maken het veel gemakkelijker om een betrouwbaar project samen te stellen. Ik zal ook testcode verstrekken voor elk element van het project om uw succes te verzekeren. Je kunt het !

Stap 1: Onderdelen en benodigdheden

Onderdelen en benodigdheden
Onderdelen en benodigdheden
Onderdelen en benodigdheden
Onderdelen en benodigdheden

Printed Circuit Board, drie exemplaren kosten je slechts $ 12,40 met gratis verzending, dus maak dit met een vriend om de kosten te delen:

OSH Park:

Elektronische onderdelen

  • 1 stuk, Q1 MOSFET N-CH 20V 530MA TO92-3, Microchip TN0702N3-G,
  • 5 stuks, 5mm LED's, kleur naar keuze

    • Wit
    • Amber
  • 6 stuks, 100 ohm 1/8W 5% stroombegrenzende weerstanden,
  • 2 stuks, 10K 1/8W 5% weerstand,
  • 1 stuk. Fototransistor, [Everlight PT928-6B-F](https://www.digikey.com/short/qtrp5m)
  • 1 stuk. IR-zender, [Everlight IR928-6C-F](https://www.digikey.com/short/jzr3b8)
  • 1 stuk. 100 ohm weerstand 1/8W 5%, [Stackpole CF18JT100R](https://www.digikey.com/short/q72818)
  • 1 stuk, mannelijk-mannelijk 12" jumperdraden, [Adafruit 1955], (https://www.digikey.com/short/pzhhrt)
  • 1 stuk, Adafruit ItsyBitys 8Mhz 3V, [Adafruit 3675], (https://www.digikey.com/short/pzhhwj)
  • 1 stuk, BATT HOLDER AAA 3 CELL 6" LEADS,
  • 1 stuk, SWITCH SLIDE SPST, E-Switch EG1218,
  • 1 stuk, SWITCH TACTILE SPST-NO 0.05A 24V, TE 1825910-6,
  • 1 stuk, 7-segments I2C-display:

    • RODE Adafruit 878
    • Blauwe Adafruit 881,

3D-onderdelen

De 3D-onderdelen zijn voornamelijk in TinkerCad gemaakt, wat betekent dat ze eenvoudig naar uw eigen doel kunnen worden aangepast:

  • Kap en body:
  • Vatadapter:

Ik heb ook kopieën van de STL's op Thingiverse gezet:

Gereedschap & overige:

  • Soldeerbout
  • Draadstrippers
  • Flush cut snippers
  • Heet lijmpistool
  • Draad
  • #2 draadvormende schroeven
  • 3/4" PCV

Stap 2:

Afbeelding
Afbeelding
Afbeelding
Afbeelding

We beginnen met de printplaat.

  • Scheid de twee kleinere "breakout" -platen van het midden en leg ze apart voor de laatste met behulp van flush-cuts of door te draaien.
  • Trim de ruwe randen, vijl of schuur om ze glad te strijken.

Stap 3:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Ik ga je niet proberen te leren solderen. Hier zijn een paar van mijn favoriete video's die het veel beter laten zien dan ik kan:

  • Carrie Ann van Geek Girl Diaries.
  • Colin van Adafruit

In het algemeen:

  • Zoek de locatie op de printplaat met behulp van de zeefdrukmarkeringen.
  • Buig de componentkabels om in de voetafdruk te passen.
  • Soldeer de draden.
  • Trim de leads

Laten we beginnen met weerstanden, omdat deze het meest voorkomen, de laagste zitplaatsen hebben en het gemakkelijkst te solderen zijn. Ze zijn hittebestendiger en geven je de kans om je techniek op te frissen. Ze hebben ook geen polariteit, dus je kunt ze op beide manieren plaatsen.

  • 6 ea, 100 ohm weerstanden die de stroom naar de LED's begrenzen, gaan op de plekken gemarkeerd met "*R" en "100".
  • 2 ea., 10.000 ohm weerstanden gaan in de plaatsen gemarkeerd met "10K".

Stap 4:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Laten we vervolgens het zender/detector-paar installeren. Als je meer informatie wilt over hoe deze werken, raadpleeg dan mijn eerdere Instructables.

  • De IR-zender is helder en gaat op de plek gemarkeerd met "EMIT" met de afgeronde lens naar het midden gericht.
  • De IR-detector is zwart en gaat op de plek gemarkeerd met "DETECT" met de afgeronde lens naar de IR-zender gericht.

Stap 5:

Afbeelding
Afbeelding
Afbeelding
Afbeelding

Omdat de 5 LED's meer stroom verbruiken dan rechtstreeks door de microcontroller kan worden geleverd, zullen we een transistorschakelaar gebruiken om ze aan en uit te zetten. Dit kan een kleine N-kanaals MOSFET zijn of een gewone NPN-transistor aangezien we te maken hebben met ongeveer 100 mA.

De N-MOSFET gaat op de plek gemarkeerd met "Q1" met het platte vlak dat overeenkomt met de markeringen

Stap 6:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

LED's hebben een polariteit. De lange kabel is positief en gemarkeerd met een "+" op de printplaat. Er is ook een platte rand aan de zijkant die ik nooit duidelijk kan zien.

  • Installeer alle LED's aan de kant tegenover de weerstanden en MOSFET.
  • Draai het bord om en soldeer één draad, en slechts één draad van elke LED op zijn plaats.
  • Inspecteer de LED's, controleer of de lange kabel in het gat met de markering "+" zit en of de LED gelijk ligt met het bord.

    Verwarm het gewricht opnieuw terwijl u voorzichtig op de LED drukt om het te plaatsen (zie foto 4)

  • Soldeer de resterende draden en trim.

Stap 7:

Afbeelding
Afbeelding

Test de led-ring in de 3D-geprinte dop. Het past maar op één manier, met de MOSFET in de richting van de "t-vormige" opening.

Stap 8:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Tijd om te beginnen met bekabelen!

  • Neem vier 6 "draden en strip en vertin elk uiteinde.
  • Soldeer in de header op de printplaat:

    • Rood voor "+".
    • Zwart voor "-".
    • Kleurkeuze voor "S", wat "stroboscoop" is, of het signaal om de LED's in te schakelen.
    • Kleurkeuze voor "G", wat "gate" is, of het signaal afkomstig van de IR-detector.

Stap 9:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Laten we het scherm klaarmaken. Ik hou van de "I2C-rugzakken" van Adafruit omdat ze slechts twee signaaldraden nodig hebben om te werken (naast stroom en aarde). Je kunt ze ook aan elkaar koppelen.

De officiële instructies van Adafruit zijn te vinden op:https://learn.adafruit.com/adafruit-led-backpack/0-dot-56-seven-segment-backpack

  • Zorg ervoor dat de weergaverichting correct is met de decimale punten die overeenkomen met de PCB-markeringen.
  • Net als in de vorige stap, vertin en strip 4 ea., 6 draden:

    • Rood voor "+"
    • Zwart voor "-".
    • Kleurkeuze voor "SDA" en "SCL".

Stap 10:

Afbeelding
Afbeelding
Afbeelding
Afbeelding

De knop is voor gebruikersinvoer. Ik gebruik het om de munitieteller te resetten, maar het kan worden gebruikt om de LED's aan en uit te zetten als een zaklamp, of wat je fantasie ook maar bedenkt. Het is jouw project.

  • Steek de schakelaar in het breakout-bord en soldeer de draden.
  • Knip, strip en vertin twee 6 "-draden. De ene moet zwart zijn voor aarde, de andere een onderscheidende kleur.
  • Soldeer de draden aan het breakout-bord. Oriëntatie maakt niet uit.

Stap 11:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

De schuifschakelaar wordt gebruikt om de stroom aan en uit te zetten. Het ontwerp is een beetje verwarrend, maar helpt bij de montage. De markeringen op de zeefdruk laten zien hoe de schakelaar het contact tussen de twee positieve draden verbreekt.

  • Snijd de draden op de batterijhouder zodat ongeveer 2 "aangesloten blijft.
  • Soldeer de schuifschakelaar op het breakout-bord.
  • Strip en vertin de resterende ~ 4 "-kabels van de batterijhouder en soldeer aan één kant van het breakout-bord (rood naar "+", zwart naar "-").
  • Soldeer de draden van de batterijhouder naar de andere kant van het breakout-bord (rood op "+", zwart op "-").

Stap 12:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Tijd om te beginnen met het integreren van de verschillende componenten. We bewaren de knop voor het laatste, omdat we maar drie draden door een enkel gat kunnen steken.

  • Neem de drie rode draden, strip en draai samen:

    • LED-ring
    • 7-segments display
    • Schuifschakelaar
  • Steek ze door de onderkant van de "3V"-pad van de ItsyBitsy en soldeer ze op hun plaats.

    Als u een ander type bord gebruikt, gebruikt u de "5V"-pin

  • Neem de drie zwarte aarddraden van dezelfde componenten, strip, draai en steek ze in het "G" -pad tegenover het "3V" -pad.

Stap 13:

Afbeelding
Afbeelding
Afbeelding
Afbeelding

Voltooi het aansluiten van de LED-ring door de poort- en stroboscoopdraden aan de juiste pinnen te bevestigen:

  • Bevestig de "G" of gate wire aan de ItsyBitsy pin A0. Hierdoor kunnen we analoge metingen krijgen voor het oplossen van problemen.
  • Bevestig de "S" of stroboscoopdraad aan pin 9, waarmee we het lichtsignaal kunnen PWMen als we de helderheid later willen regelen.

Stap 14:

Afbeelding
Afbeelding

Voltooi het aansluiten van het 7-segments display door de I2C-draden te bevestigen:

  • Bevestig de SCL-pin ("clock") van het display aan de SCL-pin op de ItsyBitsy.
  • Bevestig de SDA-pin ("data") van het display aan de SDA-pin op de ItsyBitsy.

Stap 15:

Afbeelding
Afbeelding

Tijd om de knop toe te voegen:

  • Bevestig de zwarte draad aan de ItsyBitsy "G"-pin op de onderste korte rand van het bord. Dit is hetzelfde massasignaal als de andere "G"-pin.
  • Bevestig het kleursnoer aan ItsyBitsy pin "7". Hierdoor kunnen we een hardware-interruptsignaal gebruiken om de teller te resetten.

Stap 16:

Afbeelding
Afbeelding
Afbeelding
Afbeelding

Op dit moment is het tijd om onze verschillende componenten te testen.

Als dit de eerste keer is dat je de Adafruit ItsyBitsy gebruikt, moet je je Arduino IDE configureren om het bord te herkennen.

Volg de instructies op

Als dit de eerste keer is dat u de I2C-schermen van Adafruit gebruikt, moet u uw Arduino IDE opnieuw configureren om de bibliotheken van Adafruit te gebruiken.

Volg de instructies op

Tijd om het uit te testen:

  • Sluit je ItsyBitsy aan op je computer met een USB Micro.
  • [Extra] -> [Board] -> [Adafruit IstyBitsy 32U4 8MHz].
  • [Tools] -> [Poort] -> welke poort er ook is aangesloten, meestal het hoogste nummer.
  • [Bestand] -> [Voorbeelden] -> [Adafruit LED-rugzakbibliotheek] -> [sevenseg]
  • [Schets] -> [Uploaden]

Als het uploaden is gelukt, zou het display tot leven moeten komen en oplopende getallen moeten weergeven. Tijd om een "whoop!" van glorie. Zo niet, dan is het tijd om de probleemoplosser-hoed op te zetten.

Als het uploaden is mislukt, controleer dan nogmaals de ItsyBitsy-installatie-instructies, IDE-instellingen en USB-kabelverbinding.

Als het display niet oplicht, controleer dan de instructies van de rugzak en je bedradingsaansluitingen.

Stap 17:

Tijd om het IR-emitter/detectorpaar te testen.

  • [Bestand] -> [Voorbeelden] -> [Analoog] -> [AnalogReadSerial]
  • Upload naar je bord.
  • Klik op het pictogram "Serial Monitor" in de rechterhoek van de IDE.

Met een beetje geluk zie je een stroom waarden binnenkomen. Dit zijn 10-bits analoge waarden, dus variëren van 0 tot 1023.

  • Wanneer de fototransistor wordt blootgesteld aan licht, laat deze stroom door en zakt het signaal naar 0.
  • Wanneer de fototransistor geen IR ziet, stopt hij de stroom, waardoor het signaal hoog wordt.

Als u geen verwachte wijzigingen krijgt, zijn hier enkele dingen die u moet controleren:

  • Controleer nogmaals de bedrading van de ring naar de microcontroller.
  • Brandt de IR-LED?

    • Het moet een beetje warm aanvoelen.
    • Een goedkope mobiele telefooncamera geeft IR-licht mooi weer.
    • Als het niet is ingeschakeld, is het waarschijnlijk achteruit bedraad.

Stap 18:

Tijd om de stroboscoop te testen. We gaan gewoon het basisvoorbeeld "Blink" gebruiken en het pinnummer wijzigen:

  • [Bestand] -> [Voorbeelden] -> [01. Basic] -> [Knipperen]
  • Wijzig, afhankelijk van uw IDE-versie, de pincode zodat deze overeenkomt met de pincode die we in stap 13 hebben geselecteerd (pin 9).
  • Upload de schets en bereid je voor om verblind te worden.

Als u niet het verwachte knipperen krijgt, controleer dan uw bedrading en pincodes.

Stap 19:

Het enige dat nog moet worden getest, is de drukknop:

  • [Bestand] -> [Voorbeelden] -> [01. Basic] -> [DigitalReadSerial]
  • Wijzig drukknop = 2; naar drukknop = 7;
  • Wijzig pinMode (drukknop, INPUT); naar pinMode (drukknop, INPUT_PULLUP);
  • Uploaden.

De INPUT_PULLUP koppelt een zwakke pullup-weerstand aan 3V, wat betekent dat een digitalRead() "HIGH" of "1" moet retourneren. Wanneer de knop wordt ingedrukt, moet deze "LAAG" of "0" terugkeren.

Als u geen verwachte waarden krijgt, gaat u terug en controleert u de bedrading van de knop.

Stap 20:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Tijd om ons beproefde systeem in een integratie te stoppen. Begin met het voorbereiden van het PVC-vat:

  • Snijd een sectie van 3/4 "PCV 85 mm lang.
  • Markeer 6 mm vanaf het uiteinde en boor een gat van 1/4" of groter door beide zijden, zo gecentreerd mogelijk.
  • Spuit de binnenkant van de barrel plat zwart om gereflecteerd IR-licht te absorberen wanneer de dart passeert.
  • Gebruik een vijl om de positie van de gaten aan het uiteinde van de loop te markeren.

Stap 21:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
  • Test de batterijhouder en trim indien nodig.
  • Plaats de behuizing (het uiteinde van de kabel in de richting van de opening van de aan/uit-schakelaar).
  • Plak de behuizing op zijn plaats met hete lijm (niet te veel voor het geval we hem later uit elkaar moeten halen).

Stap 22:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Steek de aan / uit-schakelaar en de knop in de gaten van de 3D-behuizing en plak ze op hun plaats met hete lijm

Stap 23:

Afbeelding
Afbeelding
Afbeelding
Afbeelding

Schuif de ItsyBitsy in zijn gleuf en regel de bedrading zodat we een pad hebben voor de loop

Stap 24:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
  • Steek de LED-ring in de dop en plak deze op zijn plaats met hete lijm.
  • Bevestig de dop zodat de ItsyBitsy USB-poort in de juiste positie naar buiten komt.

Stap 25:

Afbeelding
Afbeelding
  • Plaats de loop zodat de uitlijnmarkeringen op het uiteinde van de loop overeenkomen met de dopmarkeringen.
  • Controleer visueel de IR-zender en -detector en zichtbaar door de gaten in het vat. Vergroot de gaten indien nodig.
  • Sluit de USB aan op de ItsyBitsy en voer de IR-controles opnieuw uit (AnalogReadSerial-schets).

Stap 26:

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Het krijgen van de definitieve uitlijning is een beetje lastig. U wilt uw loop in de juiste positie verankeren.

  • Bevestig de loopadapter aan een Nerf-blaster.
  • Schuif de loopbehuizing op de adapter en controleer of de drie schroefgaten aan het uiteinde van de blaster op één lijn liggen.
  • Controleer de uitlijning van de loop aan de uitgangszijde.
  • Maak het geheel voorzichtig los met behulp van de loopadapter.
  • Schuif de loopbehuizing voorzichtig van de adapter terwijl u de PVC op zijn plaats houdt met uw vinger naar binnen.
  • Tack het vat op zijn plaats met hete lijm.
  • Weer in elkaar zetten, voeding opnieuw controleren
  • Bevestig de dop en de vatadapter met schroeven. #2 draadvormende of reserve Nerf-schroeven zullen werken.

Stap 27:

Afbeelding
Afbeelding

Tijd voor wat firmware van wapenkwaliteit.

  • Download en upload de bijgevoegde schets naar de ItsyBitsy.
  • Controleer of op het display streepjes knipperen (totdat het eerste schot wordt gelost).
  • Plaats uw vinger ver genoeg in het uiteinde van de loop om de IR-straal te blokkeren en verwijder deze dan snel.
  • Controleer of u een lichtflits van de LED's krijgt.
  • Controleer of u een numerieke waarde krijgt die afwisselt van "1" (aantal schoten) en enkele kleine voetjes per seconde, zoals "1,5".
  • Druk op de knop aan de onderkant van de loop en controleer of deze teruggaat naar knipperende streepjes (reset shot count).

Als een van deze stappen mislukt, ga dan terug en controleer de bewerking nogmaals met behulp van de vorige testschetsen. Onderzoek de bedrading om te zien of er iets is geduwd tijdens de montage.

Stap 28: Wat nu?

Nu je weet hoe snel je Nerf-pistool schiet, kun je de effecten meten van alle mods die je maakt. Omdat de loop verwijderbaar en draagbaar is, kun je je vrienden hun blasters laten chronoën.

Verderop in deze serie zullen we kijken naar het upgraden van de batterij en bedrading voor LiPo, het gebruik van een MOSFET om vliegwielen te besturen en te werken aan een geselecteerd brandsysteem met volledig aanpasbare bediening.

Arduino-wedstrijd 2019
Arduino-wedstrijd 2019
Arduino-wedstrijd 2019
Arduino-wedstrijd 2019

Tweede plaats in de Arduino-wedstrijd 2019

Aanbevolen: