Tartalomjegyzék:

MARIO KART: 5 lépés
MARIO KART: 5 lépés

Videó: MARIO KART: 5 lépés

Videó: MARIO KART: 5 lépés
Videó: Купил руль Mario Kart Racing Wheel Pro для игровой приставки Nintendo Switch , Обзор 2024, Július
Anonim
MARIO KART
MARIO KART
MARIO KART
MARIO KART

A mechatronikai műszeres laboratórium és az elektronikai laboratórium tantárgyai mindkettőt arra tervezték, hogy megtanulják, hogyan kell dolgozni az elektromos energia vezérlésével, valós munkát vagy jeleket produkálva a korábban más témákban látott fogalmak használatával. A mario kart verseny a diákok számára olyan csapatfejlesztési projekt, amelynek célja a csapatmunka, a programozási készségek fejlesztése, a résztvevők kreativitásának megtervezése és fejlesztése, hogy elkészítsék a legfunkcionálisabb autót a mozgáshoz, a teljesítményhez (a fegyverben) és az esztétikai tervezéshez. A verseny az ITESM Chihuahua létesítményeiben zajlik. Az intézmény biztosítja a diákoknak a szükséges anyagokat, de szabadon adhatnak hozzá anyagokat a jobb teljesítmény érdekében.

1. lépés: A projekt általános magyarázata

A projekt általános magyarázata
A projekt általános magyarázata

A Mario kart egy olyan projekt, amelynek célja, hogy fejlesszen bizonyos képességeket a diákok számára az elektronika megismerésében, egy arduino mikrovezérlő megvalósításával. A verseny alapvetően a diákok által tervezett autók, az autóknak fegyverrel kell rendelkezniük léggömbök feltöréséhez, minden autónak három léggömbje van, és a végső túlélő nyer.

A versenyen két alany vesz részt, a mechatronikai műszeres laboratórium és az elektronikai laboratórium, mindkét csoport diákjai harcolni fognak a legjobbakért a mario kart versenyen.

Az ITESM CUU készítői ünnepségén, az Agu-Dec 2016 félévben került sor.

Minden autónak fegyverrel és három lufival kell rendelkeznie, amint az összes léggömb lerobbant az autójában, kiesik a versenyből, az utolsó állva lesz a verseny győztese. Az autó vezérlésének vezeték nélkülinek kell lennie, mobiltelefonon, számítógépen vagy bármely más eszközön keresztül, amely képes jeleket küldeni az arduino pajzsvezérlő motornak.

2. lépés: Anyagok

Anyagok
Anyagok
Anyagok
Anyagok
Anyagok
Anyagok

Arduino UNO. Egy nyílt forráskódú prototípus-platform, amely könnyen használható hardvereken és szoftvereken alapul. Az Arduino nyílt forráskódú és könnyen használható programozási eszközt kínál a kód írásához és a táblára való feltöltéséhez.

Hajtóműves motorok. Ez egy tengelyes, 5 cm hosszú motor, 12 voltos bemenettel, maximális kimeneti teljesítménye 1,55 watt, súlya 65 gramm, maximális nyomatéka 0,071 Nm.

Adafruit motorpajzs az arduino számára. A pajzsot a motorok vezérlésére használják. Ahelyett, hogy a reteszt és az Arduino PWM csapjait használnánk, egy teljesen dedikált PWM illesztőprogram-chip van a fedélzeten. Ez a chip kezeli az I2C összes motor- és fordulatszám -szabályozását

SparkFun bluetooth mate ezüst. A Bluetooth Mate nagyon hasonlít a BlueSMiRF modemünkhöz, de kifejezetten az Arduino Pros és LilyPad Arduinos készülékekkel való használatra készült. Ezek a modemek soros (RX/TX) csőként működnek, és kiválóan helyettesítik a soros kábeleket. Bármilyen 2400 és 115200 bps közötti soros adatfolyam zökkenőmentesen továbbítható a számítógépről a célpontra.

HC-06 Bluetooth modul. A slave modul egyszerű és hasznos kis projektekhez, amelyekben könnyű kommunikációt keres a mobiltelefonja és az Arduino vagy más mikrovezérlők között.

Újratölthető 12V -os akkumulátor. Ez az energiaforrás a motorok, az arduino és a Bluetooth modul táplálására szolgál, míg további 4 darab 1,5 V -os elemet használ a fegyver táplálására.

Fegyver. Ez alapvetően hőállóság, egy kábelen keresztül felmelegítünk egy vezetéket, amely a fapálca szélén található.

Felszerelés.

Lézervágó gép

Cautin weller

Lapos felső

Szoftver.

AutoCad

Corel Draw

3. lépés: Tervezés és összeszerelés

Tervezés és összeszerelés
Tervezés és összeszerelés

A tervezéshez a számítástechnikai központban elérhető AutoCad -ot használtuk, a design egy egyszerű, klasszikus négyzet alakú autó volt, 4 oszloppal, amelyek megtámasztották az autó tetejét. Rajzoltuk az alvázat, amely egy alsó darabból, 3 falból és egy tetőből áll, és hagytunk egy üres oldalt, hogy manipuláljuk az autó belsejében lévő arduino -t. Az alkatrészek nyomtatása a laboratóriumban kapható lézervágó gépben történt.

Ahhoz, hogy a fájlt az autocadból usb portra exportálja, a rajz formátumának Corel Draw formátumúnak kell lennie, hogy a lézervágó gép el tudja olvasni és kiadhassa.

Az összeszerelés abból állt, hogy az összes alkatrészt felragasztottuk, amelyet a szoftverre rajzoltunk, valamint a motorokat az alvázra ragasztottuk, és az alsó rész közepén lévő lyukon keresztül áthaladtunk a motorokhoz csatlakoztatott vezetékeken.

A fegyver és a léggömbök a tető tetején, egymás előtt helyezkedtek el.

A fegyver kialakítását több alkalommal is megváltoztatták, de a végső kialakítás két fapálcikával, 3 cm -es elválasztással és egy dróttal készült a botok mentén, valamint egy kábellel, amelyet két, a szélén található csavarba rögzítettek, a kábel felmelegszik és felrobban a lufikat.

A fegyvert 4 db 1,5 voltos elemmel táplálták, és sorba kötötték.

A jel elküldéséhez android rendszerű telefont használtunk, elkészítettük az interfészt, hogy kommunikáljunk a mobiltelefonnal a bluetooth modullal, és elküldjük az információkat az arduino kártyának, majd a kimeneten keresztül, és elküldjük a motorok működéséhez szükséges áramot.

4. lépés: Kód

Az általunk használt kód C nyelvű volt az arduino számítógépes programjában. A kód sorai a következők voltak:

#include #include #include "utility/Adafruit_MS_PWMServoDriver.h" #include int bluetoothTx = 51; // TX-O tű a bluetooth mate-ből, Arduino D2 int bluetoothRx = 50; // Bluetooth Mate RX-I tűje, Arduino D3 int i, ia, vDI, vDD, vTI, vTD, DI, DD; Szoftver: soros 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); // Kezdje el a soros monitort 9600 bps bluetooth -on.begin (115200); // A Bluetooth Mate alapértelmezés szerint 115200bps bluetooth.print ("$"); // Nyomtatás háromszor egyenként bluetooth.print ("$"); bluetooth.print ("$"); // Parancs mód megadása késleltetés (100); // Rövid késleltetés, várja meg, amíg a Mate visszaküldi a CMD bluetooth.println ("U, 9600, N"); // Ideiglenesen módosítsa a baudrate -t 9600 -ra, nincs paritás // A 115200 időnként túl gyors lehet ahhoz, hogy a NewSoftSerial megbízhatóan továbbítsa az adatokat bluetooth.begin (9600); // Indítsa el a Bluetooth sorozatot a 9600 AFMS -en. Begin (); MotorDI-> setSpeed (150); MotorDI-> futás (ELŐRE); MotorDI-> run (RELEASE); MotorDD-> setSpeed (150); MotorDD-> futás (ELŐRE); MotorDD-> futás (RELEASE); MotorTI-> setSpeed (150); MotorTI-> run (ELŐRE); MotorTI-> run (RELEASE); MotorTD-> setSpeed (150); MotorTD-> futás (ELŐRE); MotorTD-> run (RELEASE); } void loop () {if (bluetooth.available ()) // Ha a Bluetooth bármilyen karaktert küldött {i = bluetooth.read (); } if (Serial.available ()) // Ha dolgokat írtak be a soros monitorba {// Küldjön el bármilyen karaktert, amelyet a Soros monitor nyomtat a bluetooth bluetooth.print ((char) Serial.read ()); } if (ia! = i) {switch (i) {119. eset: bluetooth.println ("w"); vDI = 250; vDD = 250; vTI = 250; vTD = 250; DI = 1; DD = 1; szünet; 101. eset: bluetooth.println ("e"); vDI = 220; vDD = 50; vTI = 220; vTD = 50; DI = 1; DD = 1; szünet; 100. eset: bluetooth.println ("d"); vDI = 250; vDD = 250; vTI = 250; vTD = 250; DI = 1; DD = 2; szünet; 115. eset: bluetooth.println ("s"); vDI = 0; vDD = 0; vTI = 0; vTD = 0; DI = 1; DD = 1; szünet; 97. eset: bluetooth.println ("a"); vDD = 250; vDI = 250; vTD = 250; vTI = 250; DI = 2; DD = 1; szünet; 113. eset: bluetooth.println ("q"); vDD = 250; vDI = 50; vTD = 250; vTI = 50; DI = 1; DD = 1; szünet; 120. eset: bluetooth.println ("x"); vDI = 220; vDD = 220; vTI = 220; vTD = 220; DI = 2; DD = 2; szünet; } MotorDI-> setSpeed (vDI); MotorDI-> futás (DI); MotorDD-> setSpeed (vDD); MotorDD-> futás (DD); MotorTI-> setSpeed (vTI); MotorTI-> futás (DI); MotorTD-> setSpeed (vTD); MotorTD-> futás (DD); ia = i; }}

5. lépés: Verseny

A verseny arról szólt, hogy felrobbantanak más lufikat, amint azt a bevezetőben is kifejtettük. Itt egy videó a versenyről. A rózsaszín négyzet alakú autót készítettük. VAGYUNK A BAJNOKOK.

Ajánlott: