Inhoudsopgave:
- Stap 1: Algemene uitleg van het project
- Stap 2: Materialen
- Stap 3: Ontwerp en montage
- Stap 4: Coderen
- Stap 5: Competitie
Video: MARIO KART: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
De onderwerpen van Instrumentaal laboratorium voor mechatronica en elektronicalaboratorium zijn beide onderwerpen die zijn ontworpen om te leren werken met de besturing van elektrische energie, het produceren van echt werk of signalen door het gebruik van concepten die eerder in andere vakken zijn gezien. De mario kart-wedstrijd is een project voor studenten om vaardigheden te ontwikkelen zoals teamwork, programmeervaardigheden, het ontwerpen en stimuleren van de creativiteit van elke deelnemer om de meest functionele auto te maken voor beweging, kracht (in het wapen) en esthetisch ontwerp. De wedstrijd vindt plaats in de installaties van ITESM Chihuahua. De instelling zal de studenten al het benodigde materiaal verstrekken, maar ze zijn vrij om dingen toe te voegen om een betere prestatie te maken.
Stap 1: Algemene uitleg van het project
Mario kart is een project dat is ontworpen om bepaalde vaardigheden voor de studenten te ontwikkelen om over elektronica te leren, door een microcontroller arduino te implementeren. De competitie bestaat eigenlijk uit auto's die zijn ontworpen door de studenten, de auto's moeten een wapen hebben om ballonnen te laten barsten, elke auto heeft drie ballonnen en de ultieme overlevende zal winnen.
Twee onderwerpen zijn betrokken bij de competitie, Instrumentaal laboratorium van mechatronica en laboratorium van elektronica, studenten van beide groepen zullen vechten om de beste te zijn in de mario kart-wedstrijd.
Het vond plaats tijdens het makersfeest van de ITESM CUU in het semester Agu-Dec 2016.
Elke auto moet een wapen en drie ballonnen hebben, zodra alle ballonnen in je auto kapot zijn, lig je uit de competitie, de laatste die overblijft, is de winnaar van de wedstrijd. De besturing van de auto moet draadloos zijn, via een mobiele telefoon, computer of een ander apparaat dat signalen naar de Arduino Shield-besturingsmotor kan sturen.
Stap 2: Materialen
Arduino UNO. Is een open-source prototyping-platform op basis van gebruiksvriendelijke hardware en software. Arduino biedt een open-source en gebruiksvriendelijke programmeertool voor het schrijven van code en het uploaden naar uw bord.
Motorreductoren. Het is een 5 cm lange motor met as, met een ingang van 12 volt en een maximaal uitgangsvermogen van 1,55 watt, een gewicht van 65 gram en een maximaal koppel van 0,071 Nm.
Adafruit motor shield voor de arduino. Is het schild dat wordt gebruikt om de motoren te besturen. In plaats van een vergrendeling en de PWM-pinnen van de Arduino te gebruiken, hebben we een volledig speciale PWM-stuurprogrammachip aan boord. Deze chip verwerkt alle motor- en snelheidsregelingen via I2C
SparkFun bluetooth mate zilver. De Bluetooth Mate lijkt erg op onze BlueSMiRF-modem, maar is speciaal ontworpen voor gebruik met onze Arduino Prosand LilyPad Arduinos. Deze modems werken als een seriële (RX/TX) pijp en zijn een geweldige draadloze vervanging voor seriële kabels. Elke seriële stream van 2400 tot 115200bps kan naadloos worden doorgegeven van uw computer naar uw doel.
Bluetooth-module HC-06. Als slave-module is het een simpele en handige module voor kleine projecten waarbij je opkijkt naar een gemakkelijke communicatie tussen je mobiel en de Arduino of andere microcontrollers.
Oplaadbare 12v batterij. Deze energiebron wordt gebruikt om de motoren, de arduino en de bluetooth-module te voeden, terwijl er nog 4 andere 1.5v-batterijen worden gebruikt om het wapen te voeden.
Wapen. Het is eigenlijk een hittebestendigheid, via een kabel verwarmen we een draad die zich aan de rand van de houten stokken bevindt.
Apparatuur.
Laser snij machine
Cautin Weller
Laptop
Software.
AutoCad
Corel Draw
Stap 3: Ontwerp en montage
Voor het ontwerp hebben we de AutoCad gebruikt die beschikbaar is op het rekencentrum, het ontwerp was een eenvoudige klassieke vierkante auto, met 4 kolommen die het dak van de auto ondersteunden. We hebben het chassis getekend, dat bestaat uit een bodemstuk, 3 muren en een dak, we hebben een lege kant gelaten om de arduino in de auto te manipuleren. Het printen van de onderdelen gebeurde in de lasersnijmachine die beschikbaar is in het laboratorium.
Om het bestand van de autocad naar een usb-poort te exporteren, moet het formaat van de tekening in een Corel Draw-formaat zijn, zodat de lasersnijmachine het kan lezen en uitwerpen.
De montage bestond uit het lijmen van alle onderdelen die we met de software hebben getekend, ook hebben we de motoren op het chassis gelijmd en door een gat in het midden van het onderste gedeelte, hebben we de draden doorgegeven die op de motoren zijn aangesloten.
Het wapen en de ballonnen bevonden zich respectievelijk voor elkaar op het dak.
Het ontwerp van het wapen is meerdere keren gewijzigd, maar het uiteindelijke ontwerp is gemaakt met twee houten stokken die 3 cm van elkaar zijn gescheiden en een draad langs de stokken en een kabel die is vastgezet in twee schroeven aan de rand, de kabel zal opwarmen en barsten de ballonnen.
Het wapen werd gevoed met 4 batterijen van elk 1,5 volt en in serie geschakeld.
Om het signaal te verzenden, hebben we een Android-systeemtelefoon gebruikt, we hebben de interface gemaakt om de mobiele telefoon met de Bluetooth-module te communiceren en de informatie naar het Arduino-bord te sturen en vervolgens via de uitgang de stroom te sturen die nodig is om de motoren te laten werken.
Stap 4: Coderen
De code die we gebruikten was in C-taal in het computerprogramma van de arduino. De regels van de code waren de volgende:
#include #include #include "utility/Adafruit_MS_PWMServoDriver.h" #include int bluetoothTx = 51; // TX-O pin van bluetooth mate, Arduino D2 int bluetoothRx = 50; // RX-I pin van bluetooth mate, Arduino D3 int i, ia, vDI, vDD, vTI, vTD, DI, DD; SoftwareSeriële bluetooth (bluetoothTx, bluetoothRx); Adafruit_MotorShield AFMS = Adafruit_MotorShield(); Adafruit_DCMotor *MotorDI = AFMS.getMotor(1); Adafruit_DCMotor *MotorDD = AFMS.getMotor(2); Adafruit_DCMotor *MotorTI = AFMS.getMotor(3); Adafruit_DCMotor *MotorTD = AFMS.getMotor(4); void setup() { Serial.begin(9600); // Begin de seriële monitor op 9600bps bluetooth.begin (115200); // De Bluetooth Mate is standaard ingesteld op 115200bps bluetooth.print ("$"); // Drie keer afzonderlijk printen bluetooth.print("$"); bluetooth.print("$"); // Voer de vertraging van de opdrachtmodus in (100); // Korte vertraging, wacht tot de stuurman CMD bluetooth terugstuurt.println ("U, 9600, N"); // Verander tijdelijk de baudrate naar 9600, geen pariteit // 115200 kan soms te snel zijn voor NewSoftSerial om de gegevens betrouwbaar door te geven bluetooth.begin (9600); // Start bluetooth serieel op 9600 AFMS.begin(); MotorDI->setSpeed (150); MotorDI -> lopen (VOORUIT); MotorDI->run(RELEASE); MotorDD->setSpeed (150); MotorDD->run(VOORUIT); MotorDD->run(RELEASE); MotorTI->setSpeed(150); MotorTI -> rennen (VOORUIT); MotorTI->run(RELEASE); MotorTD->setSpeed (150); MotorTD -> rennen (VOORUIT); MotorTD->run (RELEASE); } void loop () { if (bluetooth.available ()) // Als de bluetooth tekens heeft verzonden { i = bluetooth.read (); } if(Serial.available()) // Als er dingen in de seriële monitor zijn getypt { // Stuur alle tekens die de seriële monitor afdrukt naar de bluetooth bluetooth.print((char)Serial.read()); } if(ia!= i) { switch (i) { case 119: bluetooth.println("w"); vDI = 250; vDD = 250; vTI = 250; vTD = 250; DI = 1; DD = 1; pauze; geval 101: bluetooth.println ("e"); vDI = 220; vDD = 50; vTI = 220; vTD = 50; DI = 1; DD = 1; pauze; geval 100: bluetooth.println("d"); vDI = 250; vDD = 250; vTI = 250; vTD = 250; DI = 1; DD = 2; pauze; geval 115: bluetooth.println("s"); vDI = 0; vDD = 0; vTI = 0; vTD = 0; DI = 1; DD = 1; pauze; geval 97: bluetooth.println ("a"); vDD = 250; vDI = 250; vTD = 250; vTI = 250; DI = 2; DD = 1; pauze; geval 113: bluetooth.println ("q"); vDD = 250; vDI = 50; vTD = 250; vTI = 50; DI = 1; DD = 1; pauze; geval 120: bluetooth.println("x"); vDI = 220; vDD = 220; vTI = 220; vTD = 220; DI = 2; DD = 2; pauze; } MotorDI->setSpeed(vDI); MotorDI->run(DI); MotorDD->setSpeed (vDD); MotorDD->run(DD); MotorTI->setSpeed(vTI); MotorTI->run(DI); MotorTD->setSpeed (vTD); MotorTD->run(DD); ik = ik; } }
Stap 5: Competitie
De wedstrijd ging over het laten barsten van ballonnen van anderen, zoals uitgelegd in de inleiding. Hier is een video van de wedstrijd. De roze vierkante auto is degene die we hebben gemaakt. WIJ WAREN DE KAMPIOENEN.
Aanbevolen:
Super Mario met zoemer: 3 stappen
Super Mario die zoemer gebruikt: naar muziek luisteren ontspant onze geest en ziel. Laten we wat muziek toevoegen aan je arduino-projecten met behulp van een enkele component, zoemer. Ik vond dit geweldige project met Buzzer die super mario-themalied speelt dat is geschreven door Dipto Pratyaksa op instructables. Daarnaast
Super Mario Bros. NES World 1 verslaan in 3 minuten: 4 stappen
Super Mario Bros. NES World 1 verslaan in 3 minuten: dit is een tutorial over hoe je Super Mario Bros. NES World 1 binnen 3 minuten kunt verslaan. Als je hulp nodig hebt, zeg dat dan in de comments. bekijk ook de video, want dat verklaart een hoop
Dynamo GO Kart: 4 stappen
Alternator GO Kart: Hallo daar, dit is niet echt een how-to, maar meer een deel van informatie. Dus om te beginnen: mijn naam is AJ, ik ben een uitwisselingsstudent uit Duitsland in de VS. Ik heb de Go-kart gemaakt in een poging voor een aanvraag bij het MIT. Ik wilde een volger maken
DIY Mario Kart Balloon Battle Robots - Ajarnpa
DIY Mario Kart Balloon Battle Robots: er zijn enkele projecten waarbij je een functioneel of praktisch ding maakt. Er zijn van die projecten waar je iets moois van maakt. En dan zijn er projecten zoals deze waarbij je besluit een scheermesje en een ballon op sommige robots te slaan en te vechten
Drive by Wire Go Kart: 5 stappen
Drive by Wire Go Kart: Ik heb net een nieuwe kartmotor gekregen, ik ging van 6 pk naar 10 pk. Deze nieuwe Kohler-motor die ik kreeg, was volgens mij niet gebouwd om op een kart te zetten, dus ik had wat moeite om een manier te vinden om het gasbloemblad te bevestigen. Nou, na een paar dagen niet echt iets uit te zoeken