Tabla de contenido:

Cat Ball Shooter: 9 pasos (con imágenes)
Cat Ball Shooter: 9 pasos (con imágenes)

Video: Cat Ball Shooter: 9 pasos (con imágenes)

Video: Cat Ball Shooter: 9 pasos (con imágenes)
Video: Que curiosa es la mente 2024, Noviembre
Anonim
Tirador de bolas de gato
Tirador de bolas de gato

Materiales necesitados

1 x sensor RFID / control remoto

1 x Arduino uno

2 x motores DC

1 x 180 servo

1 x 360 servo

varios cables

Caja / contenedor para construir proyecto

tubo para alimentar la bola

Paso 1: cree el circuito para alimentar los motores y el control remoto

Cree el circuito para alimentar los motores y el control remoto
Cree el circuito para alimentar los motores y el control remoto
Cree el circuito para alimentar los motores y el control remoto
Cree el circuito para alimentar los motores y el control remoto

Construyendo el circuito

construya el circuito de arriba y conéctelo a los mismos pines para usar exactamente el mismo código

Paso 2: Cree la base para los dos motores

Crear base para los dos motores
Crear base para los dos motores

necesitará usar la tabla de espuma para cortar rectángulos de 4, 5 pulgadas por 2 pulgadas para los lados. luego corte cuadrados de 2, 5 por 5 pulgadas para usar como parte superior e inferior. A continuación, los motores necesitarán un lugar para sentarse, así que corte 2 orificios que tengan 23 mm de diámetro y 39 mm de distancia entre sí para dejar espacio para que la bola sea disparada. luego haga un punto o un par de agujeros en el cuadrado inferior para permitir que los cables de los motores se conecten al circuito.

Paso 3: agregue el servo a la parte inferior de los motores

Agregue el servo a la parte inferior de los motores
Agregue el servo a la parte inferior de los motores

pegue con cuidado el servo 180 o 360 en la parte inferior (en el medio) del cuadrado. estamos haciendo esto para que podamos cambiar la dirección manualmente con el control remoto o al azar para que la bola se dispare en diferentes direcciones

Paso 4: corte los agujeros en el recipiente grande

Cortar agujeros en el recipiente grande
Cortar agujeros en el recipiente grande
Cortar agujeros en el recipiente grande
Cortar agujeros en el recipiente grande
Cortar agujeros en el recipiente grande
Cortar agujeros en el recipiente grande

Cogemos el recipiente grande y hacemos un agujero en la parte delantera y trasera, no tiene que ser exacto pero en la parte delantera debería ser bastante grande como se ve en la imagen para permitir que la bola sea disparada en diferentes direcciones con el servo en movimiento. y la parte posterior del contenedor corta un orificio más pequeño para permitir que los cables salgan y para colocar las partes del circuito o cambiar el circuito si es necesario. en la parte frontal pegue el servo a la tapa de uno de los contenedores y luego a la base del contenedor para soporte, vea la segunda imagen como referencia

Paso 5: la pipa

El tubo
El tubo

Haga o compre una tubería de pvc de 1 pie de largo, preferiblemente con una curva para permitir que la bola entre y luego corte una pieza de 1.5 para que la bola entre

Paso 6: la tolva

La tolva
La tolva
La tolva
La tolva
La tolva
La tolva

corte 4 trapezoides iguales, puede ser de elección, pero los míos tenían 5 de alto y estaban un poco inclinados cuando se colocaban en la tubería, luego el trozo de tablero de espuma en la parte inferior cortó un agujero lo suficientemente grande como para que pasara una pelota de ping pong. Luego pégalas juntas formando un salto para que todas las bolas se asienten. Luego pegaremos esto a la parte superior de la tubería donde se corta el agujero

Paso 7: Colocación de la tolva, la tubería y los motores

Colocación de la tolva, la tubería y los motores
Colocación de la tolva, la tubería y los motores

Deberá colocar la tubería dentro del contenedor, asentada justo en el borde de la caja blanca hecha para los motores, de modo que la bola salga y sea empujada por las ruedas. ahora puede pegar la tolva en la parte superior de la tubería

Paso 8: el servo final

El servo final
El servo final
El servo final
El servo final

este servo está pegado a la parte inferior de la tolva / donde corté el tubo para que sobresalga lo suficiente como para que las bolas de ping no caigan hasta que se haga clic en el botón y se mueva el servo

Paso 9: agregue código para probar las partes funcionales

Agregar código para probar las partes funcionales
Agregar código para probar las partes funcionales

// Reparador de gatos

// importar bibliotecas para usar comandos en todo el código, por ejemplo, declarar pines como servos y configurar el control remoto IR #include #include

// configuración de variables para configurar las velocidades de los motores de CC int onspeed = 255; int baja velocidad = 100; int offpeed = 0;

// configurando el pin del receptor de infrarrojos y los dos pines del motor int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

// declarando las variables como servos para que el programa sepa que es un servo para usar comandos específicos Servo flap; Ángulo de servo;

// declarando el pin IR para recibir entradas de controles remotos // obtiene los resultados del IRrecv remoto irrecv (IR_Recv); decode_results resultados;

configuración vacía () {

Serial.begin (9600); // inicia la comunicación en serie irrecv.enableIRIn (); // Inicia el receptor

solapa.enganche (7); // adjunta la aleta del servo al pin 7 para que podamos usarla más adelante en el programa angle.attach (4); // adjunta el ángulo del servo al pin 4 para que podamos usarlo más tarde en el programa pinMode (motor1, OUTPUT); // establece motor1 en una salida para que podamos enviar velocidades cuando se presiona el botón pinMode (motor2, OUTPUT); // establece motor2 en una salida para que podamos enviar velocidades cuando se presiona el botón

}

bucle vacío () {

flap.write (0); // establece el servo que controla el alimentador de bolas a 0 grados para no dejar pasar ninguna bola

if (irrecv.decode (& results)) {long int decCode = results.value; Serial.println (decCode); irrecv.resume ();

switch (results.value) {

case 0xFFA25D: // potencia analogWrite (motor1, onspeed); analogWrite (motor2, onspeed); retraso (7000); flap.write (90); retraso (500); flap.write (0); retraso (2000); analogWrite (motor1, de baja velocidad); analogWrite (motor2, fuera de velocidad); rotura;

caso 0xFFE01F: // EQ

analogWrite (motor1, en velocidad); analogWrite (motor2, baja velocidad); retraso (7000); flap.write (90); retraso (500); flap.write (0); retraso (2000); analogWrite (motor1, baja velocidad); analogWrite (motor2, fuera de velocidad);

rotura;

caso 0xFF629D: // modo

analogWrite (motor1, baja velocidad); analogWrite (motor2, onspeed); retraso (7000); flap.write (90); retraso (500); flap.write (0); retraso (2000); analogWrite (motor1, baja velocidad); analogWrite (motor2, fuera de velocidad);

rotura;

case 0xFF30CF: // ajuste 1, 90 grados

ángulo.escritura (30);

rotura;

case 0xFF18E7: // ajuste 2, 0 grados

ángulo.escritura (90);

rotura;

case 0xFF7A85: // ajuste 3, 180 grados

ángulo.escritura (150);

rotura;

} } }

Recomendado: