Inhoudsopgave:

Autonome Nerf Sentry-torentje - Ajarnpa
Autonome Nerf Sentry-torentje - Ajarnpa

Video: Autonome Nerf Sentry-torentje - Ajarnpa

Video: Autonome Nerf Sentry-torentje - Ajarnpa
Video: Аудиокнига «Сказки о придорожной гостинице» Генри Уодсворта Лонгфелло 2024, Juni-
Anonim
Autonome Nerf Sentry-toren
Autonome Nerf Sentry-toren

Een paar jaar geleden zag ik een project waarin een semi-autonome geschutskoepel werd getoond die alleen kon schieten als hij eenmaal was gericht. Dat bracht me op het idee om een Pixy 2-camera te gebruiken om doelen te verwerven en vervolgens het nerf-pistool automatisch te richten, dat vervolgens kon vergrendelen en helemaal alleen kon vuren.

Dit project werd gesponsord door DFRobot.com

Onderdelen nodig:

DFRobot stappenmotor met versnellingsbak-

DFRobot Stappenmotor Driver-

DFRobot Pixy 2 Cam-

NEMA 17 stappenmotor

Arduino Mega 2560

HC-SR04

Nerf Nitron

Stap 1: De componenten

De onderdelen
De onderdelen
De onderdelen
De onderdelen

Voor dit project zou het pistool ogen nodig hebben, dus ik koos ervoor om de Pixy 2 te gebruiken vanwege de gemakkelijke interface met het moederbord. Toen had ik een microcontroller nodig, dus ik koos voor een Arduino Mega 2560 vanwege het aantal pinnen.

Omdat het pistool twee assen nodig heeft, gieren en stampen, heeft het twee stappenmotoren nodig. Daarom stuurde DFRobot me hun dubbele DRV8825-motorbesturingskaart.

Stap 2: CAD

CAD
CAD
CAD
CAD
CAD
CAD
CAD
CAD

Ik begon met het laden van Fusion 360 en het invoegen van een bijgevoegd canvas van het nerf-pistool. Toen heb ik van dat canvas een solide lichaam gemaakt. Nadat het pistool was ontworpen, maakte ik een platform met een paar op lagers gebaseerde steunen waarmee het pistool van links naar rechts kon draaien. Ik plaatste een stappenmotor naast het roterende platform om het aan te drijven.

Maar de grotere vraag is hoe je het pistool op en neer kunt laten gaan. Daarvoor was een lineair aandrijfsysteem nodig met één punt bevestigd aan het beweegbare blok en een ander punt aan de achterkant van het pistool. Een staaf zou de twee punten verbinden, waardoor het pistool langs zijn centrale as kan draaien.

U kunt hier alle benodigde bestanden downloaden:

www.thingiverse.com/thing:3396077

Stap 3: De onderdelen vervaardigen

De onderdelen vervaardigen
De onderdelen vervaardigen
De onderdelen vervaardigen
De onderdelen vervaardigen

Bijna alle onderdelen in mijn ontwerp zijn bedoeld om in 3D te worden afgedrukt, dus ik heb mijn twee printers gebruikt om ze te maken. Vervolgens heb ik het verplaatsbare platform gemaakt door eerst Fusion 360 te gebruiken om de benodigde gereedschapspaden voor mijn CNC-router te genereren, en vervolgens heb ik de schijf uit een stuk triplex gesneden.

Stap 4: Montage

samenkomst
samenkomst
samenkomst
samenkomst
samenkomst
samenkomst

Nadat alle onderdelen waren gemaakt, was het tijd om ze in elkaar te zetten. Ik begon met het verbinden van de lagersteunen met de roterende schijf. Vervolgens heb ik de lineaire pitch-assemblage samengesteld door de aluminium staven van 6 mm en de draadstang door de stukken te leiden. Ten slotte heb ik het nerf-pistool zelf bevestigd met een stalen staaf en twee palen gemaakt van aluminium extrusies.

Stap 5: Programmeren

Nu het moeilijkste deel van het project: programmeren. Een machine voor het afvuren van projectielen is erg complex en de wiskunde erachter kan verwarrend zijn. Ik begon met het stap voor stap uitschrijven van het programmaverloop en de logica, met details over wat er zou gebeuren bij elke machinestatus. De verschillende toestanden gaan als volgt:

Doel verwerven

Plaats het pistool

Spoel de motoren op

Vuur het pistool af

Wind de motoren af

Om het doelwit te krijgen, moet je eerst de Pixy instellen om neonroze objecten als doelwit te volgen. Vervolgens beweegt het pistool totdat het doel is gecentreerd in het zicht van de Pixy, waar vervolgens de afstand van de geweerloop tot het doel wordt gemeten. Door deze afstand te gebruiken, kunnen de horizontale en verticale afstanden worden gevonden met behulp van enkele trigonometrische basisfuncties. Mijn code heeft een functie genaamd get_angle() die deze twee afstanden gebruikt om te berekenen hoeveel van een hoek nodig is om dat doel te raken.

Het pistool beweegt dan naar deze positie en zet de motoren aan via een MOSFET. Nadat het vijf seconden heeft gespoeld, beweegt het vervolgens de servomotor om de trekker over te halen. De MOSFET schakelt vervolgens de motor uit en vervolgens gaat het nerf-pistool terug naar het zoeken naar doelen.

Stap 6: Plezier hebben

Ik heb een neonroze indexkaart aan de muur gehangen om de nauwkeurigheid van het pistool te testen. Het deed het goed, omdat mijn programma de hoek voor de gemeten afstand kalibreert en aanpast. Hier is een video die de werking van het wapen demonstreert.

Aanbevolen: