Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Geautomatiseerde Lego Shooter

Componenten en benodigdheden

Arduino UNO
Dit is het bord dat ik voor dit project heb gebruikt. Een Arduino Uno zou echter ook werken.
× 1
SG90 Micro-servomotor
Dit zijn de motoren die nodig zijn voor het project.
× 4
Jumperdraden (algemeen)
× 1
Lego Star Wars schietbaar kanon
× 4
Broodplank (algemeen)
× 1

Benodigde gereedschappen en machines

Tape, elektrisch
Elke tape is perfect in orde. Het hoeft zeker geen elektrische tape te zijn.

Apps en online services

Arduino IDE
Een programma dat Arduino Code uitvoert op Mac-, Windows- en Linux-apparaten.

Over dit project

Dit project gaat over het automatisch laten schieten van Lego Cannons. Ik speel graag met lego's en ik gebruik graag Arduino's, dus besloot ik dit project in mijn vrije tijd te doen. De servomotoren, met hun hoorns eraan bevestigd, draaien rond, raken de hendel en schieten op het kanon. Een geweldig eerste, tweede of derde project voor beginners!

Dit is een stapsgewijze handleiding voor het maken ervan.

Stap 1:De hardware

Stap 1 Deel 1: Hardware Basis

Begin met 5V naar de positief geladen rij en GRND naar de negatief geladen rij. Het ziet er zo uit -

Stap 1 Deel 2:Servo #1 aansluiten

De servo heeft drie draden - de oranje/gele (signaal) neemt een gleuf in de DIGITAL (PWM ~), de rode (Power) gaat naar VIN (dat is een pin in de positieve rij), en de zwart/bruine draad (GRND) gaat naar de negatief geladen rij die is aangesloten op de GRND-pin op de Uno. De digitale pin die ik gebruikte voor mijn eerste servo is 7. Hier is hoe het schema eruit ziet wanneer de eerste servo is aangesloten -

Stap 1 Deel 3:De rest van de servo's aansluiten

Als je het eenmaal onder de knie hebt met de servo's, zou de rest een makkie moeten zijn. Een ding om op te merken is echter:je moet consistent blijven met de digitale pinnen die je met je servo in de code hebt bevestigd.

De code (die u onderaan de pagina kunt vinden), zegt bijvoorbeeld-

secondCannon.attach(8); 

Daarom moet de tweede servo worden aangesloten op de digitale pin 8.

Op dezelfde manier moet de derde servo worden bevestigd aan de digitale pin 6 en de vierde aan de negende digitale pin.

Deze kunnen echter worden gewijzigd zodat ze in elke gewenste volgorde staan. Zorg ervoor dat u zowel hardware als software wijzigt voor consistentie, anders werkt de code niet.

Om te draaien met de code onderaan, dit is hoe het schema eruit zou moeten zien-

Gefeliciteerd! U hebt het hardwaregedeelte van dit project officieel voltooid.

Stap 2:De software

Kopieer en plak nu de code onderaan de pagina op een Arduino-schets en upload deze. Zorg ervoor dat je de Servo-bibliotheek hebt voordat je de code uploadt, anders werkt het niet! Hieronder vindt u een stapsgewijze handleiding waarin de code wordt uitgelegd en wat deze betekent wanneer u het programma uitvoert.

#include  //Inclusief de bibliotheek voor de ServosServo firstCannon; // Het eerste kanon definiëren als een tweede kanon ServoServo; // Het tweede kanon definiëren als een ServoServo derde kanon; // Het derde kanon definiëren als een ServoServo vierde kanon; //Het vierde kanon definiëren als een servo 

Deze code stelt de Servo.h . in bibliotheek, die een fundamentele rol zal spelen in de code. Dit kan worden aangetoond door de volgende regels, waarbij de bibliotheek wordt gebruikt om vier kanonnen als servo's te definiëren, of motoren die 180 graden kunnen worden gedraaid.

void setup() { //Setup code, of code die maar één keer wordt uitgevoerd Serial.begin(9600); //Start de seriële communicatie Serial.println ("Verdedig de klonen! Stel de verdediging in!") // Drukt iets af in de seriële monitor firstCannon.attach(7); //Bevestig Digital Pin 7 aan First Cannon secondCannon.attach (8); //Bevestig Digital Pin 8 aan Second Cannon thirdCannon.attach (6); // Bevestig digitale pin 6 aan derde kanon, fourCannon.attach (9); //Bevestig digitale pin 9 aan vierde kanon} 

De ongeldige setup() code wordt gebruikt in bijna elk Arduino-project en het is code die maar één keer wordt uitgevoerd. In dit geval starten we de newline Serial Communication op 9600 baud. Vervolgens drukken we dingen af ​​in de seriële monitor. Om de servo's te programmeren, moeten we hun namen verbinden met hun respectievelijke digitale pinnen. Dit is het doel van de .attach() stukje code.

void loop() { //Loop-code, of code die een oneindig aantal keren wordt uitgevoerd Serial.println("Beginningsvolgorde") //Druk iets af in de seriële monitor firstCannon.write(180); // Zwenk de eerste servo 180 graden, waardoor de eerste kanonvertraging (100) wordt geactiveerd; //Wacht op 1/10 van een tweede firstCannon.write(0); // Zwaai de servo terug naar de oorspronkelijke positie ter voorbereiding op herlaadvertraging (1000); //Wacht 1 seconde secondeCannon.write (180); // Zwenk de tweede servo 180 graden, waardoor de tweede kanonvertraging (100) wordt geactiveerd; //Wacht 1/10 van een seconde secondCannon.write(0); // Zwaai de servo terug naar de oorspronkelijke positie ter voorbereiding op herlaadvertraging (1000); //Wacht 1 seconde derdeCannon.write(180); // Zwenk de derde servo 180 graden, waardoor de derde kanonvertraging (100) wordt geactiveerd; //Wacht op 1/10 van een tweede derdeCannon.write(0); // Zwaai de servo terug naar de oorspronkelijke positie ter voorbereiding op herlaadvertraging (1000); //Wacht 1 seconde vierdeCannon.write (180); // Zwenk de eerste vierde 180 graden uit, waardoor de vierde kanonvertraging (100) wordt geactiveerd; //Wacht op 1/10 van een tweede vierdeCannon.write(0); // Zwaai de servo terug naar de oorspronkelijke positie ter voorbereiding op herlaadvertraging (1000); //Wacht 1 seconde Serial.println ("Alle kanonnen afgevuurd"); Serial.println("Bereid je voor op herladen"); vertraging (10000); Serial.println("Herladen voltooid. Voorbereiding om opnieuw te vuren")} 

Dit is het laatste stukje code, met de void loop() functie waarmee de volgende code een oneindig aantal keren kan worden uitgevoerd. Dan printen we in de Serial Monitor dat de kanonnen op het punt staan ​​te vuren. De servo's voor elk kanon moeten 180 graden draaien en vervolgens één voor één terugdraaien naar de oorspronkelijke positie. Daarna moet er 10 seconden (herlaadtijd) zijn voordat het proces zich opnieuw herhaalt.

Als je andere problemen hebt bij het uploaden van de code, kun je reageren in het opmerkingengedeelte en ik zal zo snel mogelijk reageren. Als het werkt, ga dan verder met de volgende stap.

Stap 3:Installatie

De laatste stap vereist de lego-kanonnen en wat ouderwetse gewone tape. Het legokanon ziet er zo uit -

Voer de code uit. Kijk in welke richting de servo draait. Plak de servo op het lego-kanon, zodat de baan hem op een ramkoers zet met de hendel bovenop het kanon in de afbeelding hierboven.

Goed gedaan! Je hebt dit project officieel afgerond. Zoals ik al zei, reageer in het onderstaande gedeelte als je vragen hebt.

Als je dit project leuk vond, bekijk dan deze links -

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++
Plak dit in Arduino IDE
#include  //Inclusief de bibliotheek voor de ServosServo firstCannon; // Het eerste kanon definiëren als een tweede kanon ServoServo; // Het tweede kanon definiëren als een ServoServo derde kanon; // Het derde kanon definiëren als een ServoServo vierde kanon; // Het vierde kanon definiëren als een Servooid setup () { // Setup-code, of code die slechts eenmaal wordt uitgevoerd Serial.begin (9600); //Start de seriële communicatie Serial.println("Verdedig de klonen! Stel de verdediging in!") //Druk iets af in de seriële monitor firstCannon.attach(7); //Bevestig Digital Pin 7 aan First Cannon secondCannon.attach (8); //Bevestig Digital Pin 8 aan Second Cannon thirdCannon.attach (6); // Bevestig digitale pin 6 aan derde kanon, fourCannon.attach (9); //Bevestig Digital Pin 9 aan Fourth Cannon}void loop() { //Loop-code, of code die een oneindig aantal keren wordt uitgevoerd Serial.println("Begin afvuren") //Druk eerst iets af in de seriële monitor Cannon. schrijven(180); // Zwenk de eerste servo 180 graden, waardoor de eerste kanonvertraging (100) wordt geactiveerd; //Wacht op 1/10 van een tweede firstCannon.write(0); // Zwaai de servo terug naar de oorspronkelijke positie ter voorbereiding op herlaadvertraging (1000); //Wacht 1 seconde secondeCannon.write (180); // Zwenk de tweede servo 180 graden, waardoor de tweede kanonvertraging (100) wordt geactiveerd; //Wacht 1/10 van een seconde secondCannon.write(0); // Zwaai de servo terug naar de oorspronkelijke positie ter voorbereiding op herlaadvertraging (1000); //Wacht 1 seconde derdeCannon.write(180); // Zwenk de derde servo 180 graden, waardoor de derde kanonvertraging (100) wordt geactiveerd; //Wacht op 1/10 van een tweede derdeCannon.write(0); // Zwaai de servo terug naar de oorspronkelijke positie ter voorbereiding op herlaadvertraging (1000); //Wacht 1 seconde vierdeCannon.write (180); // Zwenk de eerste vierde 180 graden uit, waardoor de vierde kanonvertraging (100) wordt geactiveerd; //Wacht op 1/10 van een tweede vierdeCannon.write(0); // Zwaai de servo terug naar de oorspronkelijke positie ter voorbereiding op herlaadvertraging (1000); //Wacht 1 seconde Serial.println ("Alle kanonnen afgevuurd"); Serial.println("Bereid je voor op herladen"); vertraging (10000); Serial.println("Herladen voltooid. Voorbereiding om opnieuw te vuren")}

Schema's


Productieproces

  1. Ducttape
  2. Cellofaantape
  3. Arduino Spybot
  4. FlickMote
  5. Zelfgemaakte tv B-Gone
  6. Hoofdklok
  7. Giant Animatronics Lego Minfig Operation Game
  8. Vind mij
  9. SunGlass-BOT [Een geautomatiseerde zonnebril]
  10. Arduino Power
  11. Tech-TicTacToe