Mundarija:

MARIO KART: 5 qadam
MARIO KART: 5 qadam

Video: MARIO KART: 5 qadam

Video: MARIO KART: 5 qadam
Video: Mario Kart 8 Deluxe - Booster Course Pass DLC - Nintendo Switch 2024, Iyul
Anonim
MARIO KART
MARIO KART
MARIO KART
MARIO KART

Mexatronika va elektronika laboratoriya asboblari laboratoriyasining predmetlari - bu boshqa fanlarda ilgari ko'rilgan tushunchalardan foydalanib, elektr energiyasini boshqarish bilan ishlash, real ish yoki signallarni ishlab chiqarishni o'rganish uchun mo'ljallangan fanlar. Mario kart tanlovi - bu talabalarga jamoaviy ishlash, dasturlash ko'nikmalari, har bir ishtirokchining harakatlanishi, kuchi (qurolda) va estetik dizayni uchun eng funktsional mashinani yaratish qobiliyatini rivojlantirish bo'yicha loyiha. Tanlov Chihuahua ITESM inshootlari ichida o'tkaziladi. Institut talabalarga barcha kerakli materiallarni taqdim etadi, lekin ular yanada yaxshi ishlash uchun biror narsa qo'shishlari mumkin.

1 -qadam: Loyihaga umumiy tushuntirish

Loyihaning umumiy tavsifi
Loyihaning umumiy tavsifi

Mario kart - bu talabalarning elektronikani o'rganishi uchun ma'lum qobiliyatlarni rivojlantirishga mo'ljallangan, arduino mikro boshqaruvchisini amalga oshirish. Tanlov asosan talabalar tomonidan ishlab chiqilgan mashinalardir, mashinalarda sharlar portlashi uchun qurol bo'lishi kerak, har bir mashinada uchta shar bor va tirik qolgan g'olib bo'ladi.

Musobaqada ikkita fan qatnashadi: Mexatronika asboblar laboratoriyasi va elektronika laboratoriyasi, har ikki guruh talabalari mario kart tanlovida eng yaxshi bo'lish uchun kurashadilar.

Bu 2016 yil Agu-dekabr semestrida ITESM CUU ishlab chiqaruvchilarining festivalida bo'lib o'tdi.

Har bir mashinada qurol va uchta pufak bo'lishi kerak, mashinangizdagi barcha sharlar yirtilishi bilan siz musobaqadan chiqib ketasiz, oxirgi turganingiz tanlov g'olibi bo'ladi. Mashinani boshqarish simsiz, uyali telefon, kompyuter yoki arduino qalqoni boshqaruvchi dvigateliga signal yuboradigan har qanday boshqa qurilma orqali bo'lishi kerak.

2 -qadam: materiallar

Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar

Arduino UNO. Oson ishlaydigan apparat va dasturiy ta'minotga asoslangan ochiq manbali prototiplash platformasi. Arduino kod yozish va uni taxtangizga yuklash uchun ochiq manbali va ishlatish uchun qulay bo'lgan dasturlash vositasini taqdim etadi.

Tishli motorlar. Bu uzunligi 5 sm bo'lgan, 12 voltli kirish quvvati va maksimal chiqish quvvati 1,55 vatt, og'irligi 65 gramm va maksimal moment 0,071 Nm.

Arduino uchun Adafruit motorli qalqoni. Qalqon dvigatellarni boshqarish uchun ishlatiladi. Qulfni va Arduino PWM pinlarini ishlatishning o'rniga, bizda bortda to'liq PWM haydovchi chipi bor. Bu chip barcha dvigatel va tezlikni I2C orqali boshqaradi

Kumush kumush SparkFun bluetooth. Bluetooth Mate bizning BlueSMiRF modemimizga juda o'xshaydi, lekin u bizning Arduino Prosand LilyPad Arduinos bilan ishlash uchun maxsus mo'ljallangan. Ushbu modemlar ketma -ket (RX/TX) quvur sifatida ishlaydi va ketma -ket kabellar uchun ajoyib simsiz almashtirish hisoblanadi. 2400 dan 115200 soniyagacha bo'lgan har qanday ketma -ket oqim sizning kompyuteringizdan maqsadingizga uzluksiz uzatilishi mumkin.

Bluetooth moduli HC-06. Qul moduli - bu kichik loyihalar uchun oddiy va foydalidir, bunda siz uyali telefoningiz va Arduino yoki boshqa mikro -kontrollerlar o'rtasida oson aloqa o'rnatishingiz mumkin.

Qayta zaryadlanuvchi 12V batareya. Bu energiya manbai dvigatellarni, arduino va bluetooth modullarini oziqlantirish uchun ishlatiladi, shu bilan birga qurolni oziqlantirish uchun yana 1,5 vattli 4 ta batareyadan foydalaniladi.

Qurol. Bu asosan issiqlikka chidamlilik, simi orqali biz yog'och tayoqlarning chetida joylashgan simni isitamiz.

Uskunalar.

Lazerli kesish mashinasi

Kautin Veller

Lap top

Dasturiy ta'minot.

AutoCad

Corel Draw

3 -qadam: Dizayn va montaj

Dizayn va montaj
Dizayn va montaj

Dizayn uchun biz hisoblash markazida mavjud bo'lgan AutoCad -dan foydalandik, bu dizayn oddiy to'rtburchaklar shaklidagi mashina bo'lib, uning ustuni 4 ta ustunga ega edi. Biz bitta pastki qismdan, 3 ta devor va bitta tomdan iborat shassisni chizdik, biz mashinaning ichidagi arduino bilan ishlash uchun bo'sh tomonini qoldirdik. Parchalarni bosib chiqarish laboratoriyada mavjud bo'lgan lazerli kesish mashinasida qilingan.

Faylni autocad -dan usb -portga eksport qilish uchun chizish formati Corel Draw formatida bo'lishi kerak, shunda lazerni kesish mashinasi uni o'qib chiqarishi mumkin.

Yig'ish biz dasturiy ta'minotda chizilgan barcha qismlarni yopishtirishdan iborat edi, shuningdek, biz motorlarni shassisga yopishtirdik va pastki qismining o'rtasidagi teshikdan motorlarga ulangan simlarni o'tkazdik.

Qurol va sharlar navbati bilan tomning tepasida joylashgan.

Qurolning konstruktsiyasi bir necha bor o'zgartirilgan, lekin oxirgi dizayn 3 sm masofada ajratilgan ikkita yog'och tayoq va tayoqlar bo'ylab sim va chetida joylashgan ikkita vintga o'ralgan simi bilan qilingan, kabel qizib ketadi va yorilib ketadi. sharlar.

Qurolga har biri 1,5 voltli 4 ta batareya o'rnatilgan va ketma -ket ulangan.

Signalni yuborish uchun biz android tizimli telefondan foydalanganmiz, biz bluetooth moduli bilan uyali aloqa o'rnatadigan interfeysni yaratdik va ma'lumotni arduino kartasiga chiqish orqali yuboramiz, dvigatellar ishlashi uchun zarur bo'lgan tokni yuboramiz.

4 -qadam: kod

Biz ishlatgan kod arduino kompyuter dasturida C tilida edi. Kod satrlari quyidagicha edi:

#include #include #include "Utility/Adafruit_MS_PWMServoDriver.h" #include int bluetoothTx = 51; // bluetooth mate TX-O pin, Arduino D2 int bluetoothRx = 50; // bluetooth mate RX-I pin, Arduino D3 int i, ia, vDI, vDD, vTI, vTD, DI, DD; Dasturiy ta'minot 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); // ketma -ket monitorni 9600 bit/ s bluetooth.begin (115200) dan boshlang; // Bluetooth Mate sukut bo'yicha 115200bps bluetooth.print ("$"); // Uch marta alohida bluetooth.print ("$") chop etish; bluetooth.print ("$"); // Buyruq rejimining kechikishini kiriting (100); // Qisqa kechikish, umr yo'ldoshining CMD bluetooth.println ("U, 9600, N") qaytarilishini kuting; // Baud tezligini vaqtincha 9600 ga o'zgartiring, hech qanday tenglik yo'q // 115200 vaqti -vaqti bilan NewSoftSerial ma'lumotlarini ishonchli tarzda uzatishi mumkin bluetooth.begin (9600); // bluetooth seriyasini 9600 AFMS.begin () da boshlang; MotorDI-> setSpeed (150); MotorDI-> ishga tushirish (oldinga); MotorDI-> ishga tushirish (RELEASE); MotorDD-> setSpeed (150); MotorDD-> ishga tushirish (OLGA); MotorDD-> ishga tushirish (RELEASE); MotorTI-> setSpeed (150); MotorTI-> yugurish (oldinga); MotorTI-> ishga tushirish (RELEASE); MotorTD-> setSpeed (150); MotorTD-> ishga tushirish (oldinga); MotorTD-> ishga tushirish (RELEASE); } void loop () {if (bluetooth.available ()) // bluetooth har qanday belgini yuborgan bo'lsa {i = bluetooth.read (); } if (Serial.available ()) // Agar biror narsa ketma -ket monitorda yozilgan bo'lsa {// Serial monitor bluetooth.print ((char) Serial.read ()) ga bosib chiqariladigan belgilarni yuboring; } if (ia! = i) {switch (i) {case 119: bluetooth.println ("w"); vDI = 250; vDD = 250; vTI = 250; vTD = 250; DI = 1; DD = 1; tanaffus; 101 -holat: bluetooth.println ("e"); vDI = 220; vDD = 50; vTI = 220; vTD = 50; DI = 1; DD = 1; tanaffus; 100 -holat: bluetooth.println ("d"); vDI = 250; vDD = 250; vTI = 250; vTD = 250; DI = 1; DD = 2; tanaffus; 115 -holat: bluetooth.println ("s"); vDI = 0; vDD = 0; vTI = 0; vTD = 0; DI = 1; DD = 1; tanaffus; 97 -holat: bluetooth.println ("a"); vDD = 250; vDI = 250; vTD = 250; vTI = 250; DI = 2; DD = 1; tanaffus; 113 -holat: bluetooth.println ("q"); vDD = 250; vDI = 50; vTD = 250; vTI = 50; DI = 1; DD = 1; tanaffus; 120 -holat: bluetooth.println ("x"); vDI = 220; vDD = 220; vTI = 220; vTD = 220; DI = 2; DD = 2; tanaffus; } MotorDI-> setSpeed (vDI); MotorDI-> ishga tushirish (DI); MotorDD-> setSpeed (vDD); MotorDD-> ishga tushirish (DD); MotorTI-> setSpeed (vTI); MotorTI-> ishga tushirish (DI); MotorTD-> setSpeed (vTD); MotorTD-> ishga tushirish (DD); ia = i; }}

5 -qadam: Raqobat

Tanlov kirish qismida tushuntirilgandek, boshqa sharlarni portlatish bilan bog'liq edi. Quyida musobaqa videosi. Pushti kvadrat shaklidagi mashina biz yasagan. BIZ CHEMPIONLAR BULGANMIZ.

Tavsiya: