Automatisierter Lego-Shooter
Komponenten und Verbrauchsmaterialien
| × | 1 | ||||
| × | 4 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 1 |
Notwendige Werkzeuge und Maschinen
|
Apps und Onlinedienste
|
Über dieses Projekt
Bei diesem Projekt geht es darum, Lego-Kanonen automatisch zum Schießen zu bringen. Ich spiele gerne mit Legos und verwende gerne Arduinos, also habe ich mich entschieden, dieses Projekt in meiner Freizeit zu machen. Die Servomotoren mit ihren befestigten Hörnern drehen sich herum, schlagen auf den Hebel und schießen die Kanone. Ein tolles erstes, zweites oder drittes Projekt für Anfänger!
Dies ist eine Schritt-für-Schritt-Anleitung zur Herstellung.
Schritt 1:Die Hardware
Schritt 1 Teil 1: Hardware Grundlagen
Beginnen Sie mit 5 V, die in die positiv geladene Reihe gehen und GRND, die in die negativ geladene Reihe gehen. Es wird so aussehen -
Schritt 1 Teil 2:Anschließen von Servo Nr. 1
Der Servo hat drei Drähte - der orange / gelbe (Signal) nimmt einen Steckplatz im DIGITAL (PWM ~) ein, der rote (Power) geht an VIN (das ist ein beliebiger Pin in der positiven Reihe) und der Der schwarze / braune Draht (GRND) geht zu der negativ geladenen Reihe, die mit dem GRND-Pin des Uno verbunden ist. Der Digital-Pin, den ich für mein erstes Servo verwendet habe, ist 7. So sieht der Schaltplan aus, wenn das erste Servo eingehakt ist -
Schritt 1 Teil 3:Verdrahten der restlichen Servos
Sobald Sie mit den Servos den Dreh raus haben, sollte der Rest ein Kinderspiel sein. Eines ist jedoch zu beachten - Sie müssen mit den digitalen Pins übereinstimmen, die Sie mit Ihrem Servo im Code verbunden haben.
Zum Beispiel der Code (der am Ende der Seite zu finden ist), besagt-
secondCannon.attach(8);
Daher muss der zweite Servo an den digitalen Pin 8 angeschlossen werden.
Ebenso muss der dritte Servo an den digitalen Pin 6 und der vierte an den neunten digitalen Pin angeschlossen werden.
Diese können jedoch in beliebiger Reihenfolge geändert werden. Stellen Sie nur sicher, dass Sie sowohl Hardware als auch Software aus Konsistenzgründen ändern, sonst funktioniert der Code nicht.
Um mit dem unten bereitgestellten Code zu laufen, sollte der Schaltplan so aussehen-
Herzliche Glückwünsche! Sie haben den Hardwareteil dieses Projekts offiziell abgeschlossen.
Schritt 2:Die Software
Kopieren Sie nun den Code am Ende der Seite, fügen Sie ihn in eine Arduino-Skizze ein und laden Sie ihn hoch. Stellen Sie sicher, dass Sie die Servo-Bibliothek haben, bevor Sie den Code hochladen, sonst funktioniert es nicht! Unten finden Sie eine Schritt-für-Schritt-Anleitung, die den Code erklärt und was er beim Ausführen des Programms bedeutet.
#include //Einschließlich der Bibliothek für den ServosServo firstCannon; //Definieren der ersten Kanone als ServoServo secondCannon; //Definieren der zweiten Kanone als ServoServo ThirdCannon; // Definition der dritten Kanone als ServoServo fourCannon; //Definition der vierten Kanone als Servo
Dieser Code richtet die Servo.h
ein Bibliothek, die eine grundlegende Rolle im Code spielen wird. Dies kann durch die folgenden Zeilen gezeigt werden, indem die Bibliothek verwendet wird, um vier Kanonen als Servos oder Motoren zu definieren, die um 180 Grad gedreht werden können.
void setup () { // Setup-Code oder Code, der nur einmal ausgeführt wird Serial.begin (9600); // Starten Sie die serielle Kommunikation Serial.println ("Verteidigen Sie die Klone! Richten Sie die Verteidigung ein!") // Druckt etwas im seriellen Monitor firstCannon.attach (7); // Digitalen Pin 7 an Erste Kanone anbringen secondCannon.attach (8); // Digitalen Pin 8 an die zweite Kanone anbringen ThirdCannon.attach (6); // Digitalen Pin 6 an dritte Kanone anbringen fourCannon.attach (9); // Digitalen Pin 9 an vierte Kanone anschließen}
Das void setup()
Code wird in fast jedem Arduino-Projekt verwendet, und es ist Code, der nur einmal ausgeführt wird. In diesem Fall starten wir die serielle Newline-Kommunikation mit 9600 Baud. Dann drucken wir Dinge im Serial Monitor. Um die Servos zu programmieren, müssen wir ihre Namen mit ihren jeweiligen digitalen Pins verbinden. Dies ist der Zweck von .attach()
Stück Code.
void loop () { // Schleifencode oder Code, der unendlich oft ausgeführt wird Serial.println ("Beginning fire sequence") // Etwas im Serial Monitor drucken firstCannon.write (180); // Schwenken Sie das erste Servo um 180 Grad und lösen Sie die erste Kanonenverzögerung aus (100); // 1/10 Sekunde warten firstCannon.write (0); // Den Servo zurück in die ursprüngliche Position schwenken, um die Nachladeverzögerung vorzubereiten (1000); // Warten Sie 1 Sekunde SekundeCannon.write (180); // Schwenken Sie das zweite Servo um 180 Grad und lösen Sie die zweite Kanonenverzögerung aus (100); // Warten Sie 1/10 Sekunde SekundeCannon.write (0); // Den Servo zurück in die ursprüngliche Position schwenken, um die Nachladeverzögerung vorzubereiten (1000); // 1 Sekunde warten ThirdCannon.write (180); // Schwenken Sie das dritte Servo um 180 Grad und lösen Sie die dritte Kanonenverzögerung aus (100); // Warten Sie auf 1/10 einer Sekunde ThirdCannon.write (0); // Den Servo zurück in die ursprüngliche Position schwenken, um die Nachladeverzögerung vorzubereiten (1000); // 1 Sekunde warten fourCannon.write (180); // Die erste vierte um 180 Grad schwenken und die vierte Kanonenverzögerung auslösen (100); // Warten Sie auf 1/10 einer Sekunde fourCannon.write (0); // Den Servo zurück in die ursprüngliche Position schwenken, um die Nachladeverzögerung vorzubereiten (1000); // 1 Sekunde warten Serial.println ( "Alle Kanonen abgefeuert"); Serial.println ( "Vorbereiten zum Neuladen"); Verzögerung (10000); Serial.println("Reloading Complete. Preparing to fire again")}
Dies ist das letzte Stück Code mit dem void
Schleife()
-Funktion, die es ermöglicht, den folgenden Code unendlich oft auszuführen. Dann drucken wir im Serial Monitor aus, dass die Kanonen abfeuern werden. Die Servos für jede Kanone sollten sich um 180 Grad drehen und dann nacheinander in die ursprüngliche Position zurückkehren. Danach sollten 10 Sekunden (Nachladezeit) vergehen, bis sich der Vorgang erneut wiederholt.
Wenn Sie beim Hochladen des Codes andere Probleme haben, können Sie dies im Kommentarbereich kommentieren und ich werde so schnell wie möglich antworten. Wenn es funktioniert, fahren Sie mit dem nächsten Schritt fort.
Schritt 3:Installation
Der letzte Schritt erfordert die Lego-Kanonen und etwas altmodisches normales Klebeband. Die Lego-Kanone sieht so aus -
Führen Sie den Code aus. Sehen Sie, in welche Richtung sich das Servo dreht. Kleben Sie das Servo so auf die Lego-Kanone, dass seine Flugbahn es auf Kollisionskurs mit dem Hebel oben auf der Kanone im Bild oben setzt.
Gut gemacht! Sie haben dieses Projekt offiziell abgeschlossen. Wie ich schon sagte, kommentiere im Abschnitt unten, wenn du Fragen hast.
Wenn Ihnen dieses Projekt gefallen hat, sehen Sie sich diese Links an -
https://create.arduino.cc/projecthub/342600/basketball-hoop-with-buzzer-using-an-arduino-693bad?ref=user&ref_id=1536504&offset=1
https://create.arduino.cc/projecthub/ShreyanR/soundbox-826a56
Code
- Lego Gun Shooter Code
Lego Gun Shooter CodeC/C++
Fügen Sie dies in Arduino IDE#includeein // Einschließlich der Bibliothek für den ServosServo firstCannon; //Definieren der ersten Kanone als ServoServo secondCannon; //Definieren der zweiten Kanone als ServoServo ThirdCannon; // Definition der dritten Kanone als ServoServo fourCannon; // Definieren der vierten Kanone als Servovoid-Setup () { // Setup-Code oder Code, der nur einmal ausgeführt wird Serial.begin (9600); // Starten Sie die serielle Kommunikation Serial.println ("Verteidigen Sie die Klone! Richten Sie die Verteidigung ein!") // Drucken Sie etwas im seriellen Monitor firstCannon.attach (7); // Digitalen Pin 7 an Erste Kanone anbringen secondCannon.attach (8); // Digitalen Pin 8 an die zweite Kanone anbringen ThirdCannon.attach (6); // Digitalen Pin 6 an dritte Kanone anbringen fourCannon.attach (9); // Digitalen Pin 9 an die vierte Kanone anhängen}void loop () { // Schleifencode oder Code, der unendlich oft ausgeführt wird Serial.println ("Beginning fire sequence") // Drucken Sie etwas im Serial Monitor firstCannon. schreiben(180); // Schwenken Sie das erste Servo um 180 Grad und lösen Sie die erste Kanonenverzögerung aus (100); // 1/10 Sekunde warten firstCannon.write (0); // Den Servo zurück in die ursprüngliche Position schwenken, um die Nachladeverzögerung vorzubereiten (1000); // Warten Sie 1 Sekunde SekundeCannon.write (180); // Schwenken Sie das zweite Servo um 180 Grad und lösen Sie die zweite Kanonenverzögerung aus (100); // Warten Sie 1/10 Sekunde SekundeCannon.write (0); // Den Servo zurück in die ursprüngliche Position schwenken, um die Nachladeverzögerung vorzubereiten (1000); // 1 Sekunde warten ThirdCannon.write (180); // Schwenken Sie das dritte Servo um 180 Grad und lösen Sie die dritte Kanonenverzögerung aus (100); // Warten Sie auf 1/10 einer Sekunde ThirdCannon.write (0); // Den Servo zurück in die ursprüngliche Position schwenken, um die Nachladeverzögerung vorzubereiten (1000); // 1 Sekunde warten fourCannon.write (180); // Schwenken Sie das erste Viertel um 180 Grad und lösen Sie die vierte Kanonenverzögerung aus (100); // Warte auf 1/10 Sekunde fourCannon.write (0); // Den Servo zurück in die ursprüngliche Position schwenken, um die Nachladeverzögerung vorzubereiten (1000); // 1 Sekunde warten Serial.println ( "Alle Kanonen abgefeuert"); Serial.println ( "Vorbereiten zum Neuladen"); Verzögerung (10000); Serial.println("Reloading Complete. Preparing to fire again")}
Schaltpläne
Herstellungsprozess