Sisukord:

MARIO KART: 5 sammu
MARIO KART: 5 sammu

Video: MARIO KART: 5 sammu

Video: MARIO KART: 5 sammu
Video: Bully Maguire in Mario Kart Wii 2024, November
Anonim
MARIO KART
MARIO KART
MARIO KART
MARIO KART

Mehhatroonika instrumentaallabori ja elektroonikalabori teemad on mõlemad õppeained, mis on mõeldud õppimiseks, kuidas töötada elektrienergia juhtimisega, tekitades reaalset tööd või signaale, kasutades varem teistes õppeainetes nähtud mõisteid. Mario kardivõistlus on projekt õpilastele, et arendada selliseid võimeid nagu meeskonnatöö, programmeerimisoskus, iga osaleja kujundamine ja loovuse suurendamine, et teha kõige funktsionaalsem auto liikumiseks, jõuks (relvas) ja esteetiliseks kujundamiseks. Võistlus toimub ITESM Chihuahua rajatistes. Asutus annab õpilastele kogu vajaliku materjali, kuid parema soorituse saavutamiseks võivad nad vabalt asju lisada.

Samm: projekti üldine selgitus

Projekti üldine selgitus
Projekti üldine selgitus

Mario kart on projekt, mille eesmärk on arendada õpilastel teatud võimeid elektroonika tundmaõppimiseks, rakendades mikrokontrollerit arduino. Võistlus on põhiliselt õpilaste disainitud autod, autodel peab olema relv õhupallide lõhkumiseks, igal autol on kolm õhupalli ja lõplik ellujäänu võidab.

Võistlusele on kaasatud kaks katsealust, mehhatroonika instrumentaallabor ja elektroonikalabor, mõlema rühma õpilased võitlevad mario -kardivõistluse parimate eest.

See toimus ITESM CUU tegijafestivalil semestril Agu-Dec 2016.

Igal autol peab olema relv ja kolm õhupalli, niipea kui kõik teie autos olevad õhupallid on katki löödud, olete konkurentsist väljas, viimane, kes seisab, on võistluse võitja. Auto juhtimine peab olema traadita, mobiiltelefoni, arvuti või mõne muu seadme kaudu, mis on võimeline edastama signaale arduino kilbi juhtmootorile.

Samm: materjalid

Materjalid
Materjalid
Materjalid
Materjalid
Materjalid
Materjalid

Arduino UNO. See on avatud lähtekoodiga prototüüpimisplatvorm, mis põhineb hõlpsasti kasutataval riist- ja tarkvaral. Arduino pakub avatud lähtekoodiga ja hõlpsasti kasutatavat programmeerimisriista koodi kirjutamiseks ja tahvlile üleslaadimiseks.

Hammasülekandega mootorid. See on võlliga 5 cm pikkune mootor, mille sisend on 12 volti ja maksimaalne väljundvõimsus 1,55 vatti, kaal 65 grammi ja maksimaalne pöördemoment 0,071 Nm.

Adafruit mootorikilp arduino jaoks. Kas kilpi kasutatakse mootorite juhtimiseks. Riivi ja Arduino PWM-tihvtide asemel on meil pardal täielikult pühendatud PWM-draiveri kiip. See kiip haldab kõiki mootori ja kiiruse juhtelemente I2C kaudu

SparkFun bluetooth mate hõbedane. Bluetooth Mate on väga sarnane meie BlueSMiRF modemiga, kuid see on loodud spetsiaalselt meie Arduino Pros ja LilyPad Arduinos kasutamiseks. Need modemid töötavad jada (RX/TX) torudena ja on suurepärane jadakaablite traadita asendaja. Kõiki 2400 kuni 115200 bps jadavooge saab sujuvalt edastada arvutist sihtmärgile.

Bluetooth-moodul HC-06. Alamoodulina on lihtne ja kasulik väikeste projektide jaoks, mille käigus otsite lihtsat suhtlust oma mobiiltelefoni ja Arduino või muude mikrokontrollerite vahel.

Laetav 12v aku. Seda energiaallikat kasutatakse mootorite, arduino ja bluetooth mooduli toitmiseks, samal ajal kui relva toitmiseks kasutatakse veel 4 1,5 V patareid.

Relv. Põhimõtteliselt on see kuumuskindlus, kaabli kaudu soojendame traati, mis asub puidupulkade serval.

Varustus.

Laserlõikamismasin

Cautin weller

Laptop

Tarkvara.

AutoCad

Corel Draw

Samm: projekteerimine ja kokkupanek

Disain ja kokkupanek
Disain ja kokkupanek

Disaini jaoks kasutasime arvutuskeskuses saadaolevat AutoCadit, disain oli lihtne klassikaline ruudukujuline auto, millel oli 4 veergu, mis toetasid auto katust. Joonistasime šassii, mis koosneb ühest põhjatükist, 3 seinast ja ühest katusest, jätsime ühe tühja külje, et manipuleerida auto sisemuses asuva arduinoga. Osade trükkimine tehti laboris saadaolevas laserlõikusmasinas.

Faili eksportimiseks autocadist USB -porti peab joonise vorming olema Corel Draw vormingus, et laserlõikamismasin saaks seda lugeda ja väljutada.

Kokkupanek seisnes kõigi osade liimimises, mille me tarkvarale joonistasime, samuti liimisime mootorid šassii külge ja läbi põhjaosa keskel asuva augu läbisime mootoritega ühendatud juhtmed.

Relv ja õhupallid asusid vastavalt katuse kohal üksteise ees.

Relva konstruktsiooni muudeti mitmel korral, kuid lõplik kujundus tehti kahe puupulgaga, mis olid üksteisest eraldatud 3 cm ja traadiga piki pulgakesi, ning kaabliga, mis oli ümbritsetud kahe serva kruviga, kaabel kuumeneb ja lõhkeb õhupallid.

Relva toideti nelja 1,5 -voldise patareiga ja järjestikku ühendatud.

Signaali saatmiseks kasutasime android -süsteemi telefoni, tegime liidese mobiiltelefoni Bluetooth -mooduliga suhtlemiseks ja teabe edastamiseks arduino -tahvlile, seejärel väljundi kaudu, mootorite tööks vajaliku voolu saatmiseks.

4. samm: kood

Kood, mida kasutasime, oli arduino arvutiprogrammis C -keeles. Koodi read olid järgmised:

#include #include #include "utiliit/Adafruit_MS_PWMServoDriver.h" #include int bluetoothTx = 51; // Bluetoothi tüürimehe TX-O tihvt, Arduino D2 int bluetoothRx = 50; // bluetooth mate RX-I tihvt, Arduino D3 int i, ia, vDI, vDD, vTI, vTD, DI, DD; TarkvaraSeriaalne 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 *MootorTD = AFMS.getMotor (4); void setup () {Serial.begin (9600); // Alusta jadamonitori kiirusega 9600bps bluetooth.begin (115200); // Bluetooth Mate vaikimisi on 115200bps bluetooth.print ("$"); // Prindi kolm korda eraldi bluetooth.print ("$"); bluetooth.print ("$"); // Sisesta käsurežiimi viivitus (100); // Lühike viivitus, oodake, kuni Mate saadab tagasi CMD bluetooth.println ("U, 9600, N"); // Muuda ajutiselt bitikiirus 9600 -le, pariteeti pole // 115200 võib kohati olla liiga kiire, et NewSoftSerial saaks andmeid usaldusväärselt edastada bluetooth.begin (9600); // Bluetooth -seeria käivitamine 9600 AFMS.begin (); MotorDI-> setSpeed (150); MotorDI-> jooks (FORWARD); MotorDI-> run (RELEASE); MotorDD-> setSpeed (150); MotorDD-> jooks (FORWARD); MotorDD-> jooks (RELEASE); MotorTI-> setSpeed (150); MotorTI-> run (FORWARD); MotorTI-> run (RELEASE); MotorTD-> setSpeed (150); MotorTD-> jooks (FORWARD); MotorTD-> run (RELEASE); } void loop () {if (bluetooth.available ()) // Kui bluetooth saatis mingeid märke {i = bluetooth.read (); } if (Serial.available ()) // Kui jadaekraanile trükiti asju {// Saada mis tahes märgid, mida jadamonitor prindib bluetooth -i 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; murda; juhtum 101: bluetooth.println ("e"); vDI = 220; vDD = 50; vTI = 220; vTD = 50; DI = 1; DD = 1; murda; juhtum 100: bluetooth.println ("d"); vDI = 250; vDD = 250; vTI = 250; vTD = 250; DI = 1; DD = 2; murda; juhtum 115: bluetooth.println ("s"); vDI = 0; vDD = 0; vTI = 0; vTD = 0; DI = 1; DD = 1; murda; juhtum 97: bluetooth.println ("a"); vDD = 250; vDI = 250; vTD = 250; vTI = 250; DI = 2; DD = 1; murda; juhtum 113: bluetooth.println ("q"); vDD = 250; vDI = 50; vTD = 250; vTI = 50; DI = 1; DD = 1; murda; juhtum 120: bluetooth.println ("x"); vDI = 220; vDD = 220; vTI = 220; vTD = 220; DI = 2; DD = 2; murda; } MotorDI-> setSpeed (vDI); MotorDI-> jooks (DI); MotorDD-> setSpeed (vDD); MotorDD-> jooks (DD); MotorTI-> setSpeed (vTI); MotorTI-> run (DI); MotorTD-> setSpeed (vTD); MotorTD-> jooks (DD); ia = i; }}

5. samm: võistlus

Võistlus käis teiste õhupallide lõhkemise kohta, nagu sissejuhatuses selgitatud. Siin on video võistlusest. Roosa ruuduga auto on see, mille me tegime. ME OLIME MEISTRID.

Soovitan: