Você está no 3DFinder
Buscamos em Thingiverse, MakerWorld e Printables ao mesmo tempo para te dar o melhor de cada uma.
Descrição
This is the first version of my blaster compatible with the Nerf Rival rounds. The new version should have less parts, be cheaper and be quiter without the EDF.
2 x Racerstar BR2212 1800KV 2-4S Brushless Motor 1 x 35mm brushless EDF 3 x ESC 1 x N20 Micro Speed motor 1 x 4S LiPo 1 x Arduino Pro Mini 1 x h-bridge for controlling the feeder (not necessary)
Arduino code (not tested) : Requieres the servo.h lib
// motors : Servo motorTop; Servo motorDown; Servo motorEdf; int motorFeedHBridgeEn = 4; // "H-Bridge Enable" use the h-bridge to control the feeding motor int motorFeedHBridgeDirection = 2; // "H-Bridge input" use the h-bridge to control the feeding motor
// potentiometers : int wheelSpeed = 0; int wheelSpeedValue; int hopUp = 1; int hopUpValue; int edfSpeed = 2; int edfSpeedValue; int feed = 3; int feedValue;
// sensors : int counter = 5; // count the fired shots
// buttons : int trigger = 6; // control the feeding motor int rotate = 7; // start the wheel cage int loader = 8; // start the edf
void setup() { motorTop.attach(9); motorDown.attach(10); motorEdf.attach(11); }
void loop() {
// release the trigger, reset motors motorTop.write(0); motorDown.write(0); motorEdf.write(0); digitalWrite(motorFeedHBridgeEn, false);
// loading the rounds while(digitalRead(loader)){ motorEdf.write(edfSpeedValue); }
// arming the nerf while(digitalRead(rotate))){
// reads the value of the potentiometer (value between 0 and 1023)
// scale it to use it with motor (1500 "stopped" to 2000 "full speed") (with my esc)
wheelSpeedValue = analogRead(wheelSpeed);
wheelSpeedValue = map(wheelSpeedValue, 0, 1023, 1500, 2000);
hopUpValue = analogRead(hopUp);
hopUpValue = map(hopUpValue, 0, 1023, -100, 100);
edfSpeedValue = analogRead(edfSpeed);
edfSpeedValue = map(edfSpeedValue, 0, 1023, 1500, 2000);
while(digitalRead(rotate))){
motorEdf.write(edfSpeedValue);
motorTop.write(wheelSpeedValue - hopUpValue);
motorDown.write(wheelSpeedValue + hopUpValue);
while(digitalRead(trigger)){
digitalWrite(motorFeedHBridgeEn, true);
digitalWrite(motorFeedHBridgeDirection, true);
}
}
// release the trigger feeds the motor backwards to avoid rounds jamming the wheelcage
int i = 1000;
while(i > 0){
digitalWrite(motorFeedHBridgeEn, true);
digitalWrite(motorFeedHBridgeDirection, false);
i--;
}
// then turn the feed off
digitalWrite(motorFeedHBridgeEn, false);
}
}
Gostou deste modelo? Crie uma conta grátis para salvar seus favoritos e voltar a eles depois.
Criar conta