Inhaltsverzeichnis:

Cat Ball Shooter - Gunook
Cat Ball Shooter - Gunook

Video: Cat Ball Shooter - Gunook

Video: Cat Ball Shooter - Gunook
Video: Testing out the NERF CATNIP DISC BLASTER GUN 🙀 is it kitty-approved?! 2024, November
Anonim
Katzenball-Shooter
Katzenball-Shooter

Benötigte Materialien

1 x RFID-Sensor / Fernbedienung

1 x Arduino uno

2 x Gleichstrommotoren

1 x 180 Servo

1 x 360-Servo

mehrere Drähte

Box/Container zum Bauprojekt

Rohr zum Durchführen der Kugel

Schritt 1: Erstellen Sie die Schaltung zum Antreiben der Motoren und der Fernbedienung

Erstellen Sie die Schaltung zum Antreiben der Motoren und der Fernbedienung
Erstellen Sie die Schaltung zum Antreiben der Motoren und der Fernbedienung
Erstellen Sie die Schaltung zum Antreiben der Motoren und der Fernbedienung
Erstellen Sie die Schaltung zum Antreiben der Motoren und der Fernbedienung

Bau der Schaltung

Bauen Sie die obige Schaltung auf und verbinden Sie sie mit den gleichen Pins, um genau den gleichen Code zu verwenden

Schritt 2: Basis für die beiden Motoren erstellen

Basis für die beiden Motoren schaffen
Basis für die beiden Motoren schaffen

Sie müssen die Schaumstoffplatte verwenden, um 4, 5 Zoll x 2 Zoll Rechtecke für die Seiten zu schneiden. Schneiden Sie dann 2, 5 x 5 Zoll große Quadrate aus, um sie als Ober- und Unterseite zu verwenden. Als nächstes brauchen die Motoren einen Platz zum Sitzen, also schneiden Sie 2 Löcher mit einem Durchmesser von 23 mm und einem Abstand von 39 mm, um Platz für den Ball zu schaffen. Machen Sie dann einen Punkt oder ein paar Löcher auf dem unteren Quadrat, damit die Drähte von den Motoren mit dem Stromkreis verbunden werden können.

Schritt 3: Fügen Sie den Servo an der Unterseite der Motoren hinzu

Fügen Sie den Servo an der Unterseite der Motoren hinzu
Fügen Sie den Servo an der Unterseite der Motoren hinzu

Kleben Sie das 180er oder 360er Servo vorsichtig unten (in der Mitte) des Quadrats an. Wir tun dies, damit wir die Richtung manuell mit der Fernbedienung oder zufällig ändern können, damit der Ball in verschiedene Richtungen schießt

Schritt 4: Löcher in den großen Behälter schneiden

Schneiden Sie Löcher in den großen Behälter
Schneiden Sie Löcher in den großen Behälter
Schneiden Sie Löcher in den großen Behälter
Schneiden Sie Löcher in den großen Behälter
Schneiden Sie Löcher in den großen Behälter
Schneiden Sie Löcher in den großen Behälter

Nehmen Sie den großen Behälter und schneiden Sie vorne und hinten ein Loch, es muss nicht genau sein, aber vorne sollte es ziemlich groß sein, wie auf dem Bild zu sehen, damit der Ball in verschiedene Richtungen geschossen werden kann, wenn sich das Servo bewegt. und die Rückseite des Behälters schneiden Sie ein kleineres Loch, damit die Drähte herauskommen und die Schaltungsteile einlegen oder die Schaltung bei Bedarf ändern können. Kleben Sie das Servo vorne auf den Deckel eines der Behälter und dann auf den Boden des Behälters zur Unterstützung, siehe das zweite Bild als Referenz

Schritt 5: Das Rohr

Das Rohr
Das Rohr

Machen oder kaufen Sie ein PVC-Rohr, das 1 Fuß lang ist, vorzugsweise mit einer Kurve, um den Ball einrollen zu lassen, und schneiden Sie dann ein Stück 1,5 in, um den Ball hereinzulassen

Schritt 6: Der Hopper

Der Hopper
Der Hopper
Der Hopper
Der Hopper
Der Hopper
Der Hopper

Schneiden Sie 4 gleiche Trapeze aus, kann die Wahl sein, aber meine waren 5 groß und schräg beim Aufsetzen auf das Rohr. Als nächstes kleben Sie sie zusammen, um ein Hüpfen für alle Kugeln zu bilden. Später werden wir dies auf die Oberseite des Rohrs kleben, wo das Loch geschnitten wird

Schritt 7: Platzieren von Trichter, Rohr und Motoren

Platzieren von Trichter, Rohr und Motoren
Platzieren von Trichter, Rohr und Motoren

Sie möchten das Rohr in den Behälter legen, das direkt am Rand der weißen Box für die Motoren sitzt, damit die Kugel herauskommt und von den Rädern geschoben wird. Sie können nun den Trichter oben auf das Rohr kleben

Schritt 8: Der letzte Servo

Der letzte Servo
Der letzte Servo
Der letzte Servo
Der letzte Servo

Dieses Servo wird auf den Boden des Trichters geklebt / wo das Rohr, das ich geschnitten habe, nur so weit herausragt, dass die Ping-Bälle nicht durchfallen, bis der Knopf geklickt wird und sich das Servo bewegt

Schritt 9: Fügen Sie Code hinzu, um die Arbeitsteile zu testen

Fügen Sie Code hinzu, um die Funktionsteile zu testen
Fügen Sie Code hinzu, um die Funktionsteile zu testen

//Katzenfixierer

// Bibliotheken importieren, um Befehle im gesamten Code zu verwenden, z. B. Pins als Servos deklarieren und die IR-Fernbedienung einrichten #include #include

// Einrichten von Variablen zum Einstellen der Geschwindigkeiten für die DC-Motoren Int onspeed = 255; int niedrige Geschwindigkeit = 100; int offspeed = 0;

// Einrichten des Infrarot-Empfänger-Pins und der beiden Motorpins Int IR_Recv = 2; int motor1 = 10; int motor2 = 11;

// Deklarieren der Variablen als Servos, damit das Programm weiß, dass es ein Servo ist, um bestimmte Befehle zu verwenden Servoklappe; Servowinkel;

// IR-Pin zum Empfangen von Eingaben von Fernbedienungen deklarieren // Erhält die Ergebnisse von der Fernbedienung IRrecv irrecv (IR_Recv); decode_results-Ergebnisse;

Leere Einrichtung () {

Serial.begin (9600); // startet die serielle Kommunikation irrecv.enableIRIn (); // Startet den Empfänger

Klappe. Attach(7); // befestigt die Servoklappe an Pin 7, damit wir sie später im Programm verwenden können angle.attach (4); // fügt den Servowinkel an Pin 4 an, damit wir ihn später im Programm verwenden können pinMode (motor1, OUTPUT); // setze motor1 auf einen Ausgang, damit wir Geschwindigkeiten senden können, wenn die Taste gedrückt wird pinMode (motor2, OUTPUT); // setze motor2 auf einen Ausgang, damit wir Geschwindigkeiten senden können, wenn die Taste gedrückt wird

}

Leere Schleife () {

klappe.write(0); // Stellen Sie den Servo, der den Ballfeeder steuert, auf 0 Grad ein, um keine Bälle durchzulassen

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

switch(results.value) {

Fall 0xFFA25D: // Leistung analogWrite (motor1, onspeed); analogWrite (Motor2, Onspeed); Verzögerung (7000); Klappe.schreiben (90); Verzögerung (500); klappe.write(0); Verzögerung (2000); analogWrite (Motor1, Offspeed); analogWrite (Motor2, Offspeed); brechen;

Fall 0xFFE01F: //EQ

analogWrite (Motor1, Onspeed); analogWrite (Motor2, niedrige Geschwindigkeit); Verzögerung (7000); Klappe.schreiben (90); Verzögerung (500); klappe.write(0); Verzögerung (2000); analogWrite (Motor1, Offspeed); analogWrite (Motor2, Offspeed);

brechen;

Fall 0xFF629D: //Modus

analogWrite (Motor1, niedrige Geschwindigkeit); analogWrite (Motor2, Onspeed); Verzögerung (7000); Klappe.write(90); Verzögerung (500); klappe.write(0); Verzögerung (2000); analogWrite (Motor1, Offspeed); analogWrite (Motor2, Offspeed);

brechen;

Fall 0xFF30CF: //Einstellung 1, 90 Grad

angle.write (30);

brechen;

Fall 0xFF18E7: //Einstellung 2, 0 Grad

angle.write(90);

brechen;

Fall 0xFF7A85: //Einstellung 3, 180 Grad

angle.write(150);

brechen;

} } }

Empfohlen: