Բովանդակություն:

Արագացուցիչի խաղի վերահսկիչ ՝ 8 քայլ
Արագացուցիչի խաղի վերահսկիչ ՝ 8 քայլ

Video: Արագացուցիչի խաղի վերահսկիչ ՝ 8 քայլ

Video: Արագացուցիչի խաղի վերահսկիչ ՝ 8 քայլ
Video: ROYAL էլեկտրական սկուտեր CHOPPER CITYCOCO 3000w Էլեկտրական չիպսեր քաղաքկոկո 3000w էլեկտրական հեծանիվ 2024, Նոյեմբեր
Anonim
Game Accelerometer Game Controller
Game Accelerometer Game Controller

Voorlopige տեքստ…

Քայլ 1: ՆՅՈԹԱԿԱՆ

ՆՅՈԹԱԿԱՆ
ՆՅՈԹԱԿԱՆ
  • Arduino Leonardo: microcontroller-bord als brein van onze խաղի վերահսկիչ:
  • Micro USB kabel: om onze խաղի վերահսկիչ և համակարգիչ:
  • Breadboard: zo hoeven we niet te solderen en blijft ons ontwerp makkelijk aanpasbaar.
  • Breadboard jumper լարերը. Om alle componenten met elkaar te verbinden.
  • MPU6050 արագացուցիչ. Այս սենսորը կարող է տարբեր փոփոխությունների ենթարկվել, սմարթֆոններում մեծացնել, սահել վահանակները և հավասարակշռված ռոբոտները:
  • Twee մինի կոճակներ. Բոլոր ծրագրերը կարող են արագացնել ձեր արագացուցիչը:

Optioneel:

Breadboard en Arduino houder: om compact te kunnen werken

Քայլ 2. ARDUINO FՐԱԳԻՐ

Մենք կսկսենք ծրագրերը մեկնաբանել hebben we de juiste ծրագրային ապահովման միջոցով, որոնք կօգնեն ձեզ օգտագործել խաղի վերահսկիչ, իսկ Arduino Leonardo, te kunnen besturen: Om dit te installeren, ga je als volgt te werk:

  • Ga via volgende link naar de downloadpagina van Arduino:
  • Կիրառեք ձեր ծրագրակազմը, որը հիմնված է այս գործառնական համակարգի վրա:
  • Սեղմեք ներբեռնումը:
  • Je hebt nu een (.exe) bestand dat u uitvoert door er op te dubbel սեղմեք բոլոր տեղադրման ձեր vervolledigen- ը:

!!! Wij hebben onze controller gecreëerd met het gedownloade ծրագիրը: Windows App versie kan dit evengoed, maar kan kleine verschillen hebben in aanpak:

  • Բացեք de Arduino ծրագրակազմը:
  • Connecteer je Arduino Leonardo- ն ծանոթացավ միկրո USB սարքի և համակարգչի հետ, Լեոնարդոյի վարորդների հետ խոսեց ավտոմատացված կայքէջը:

Als je nog niet zo vertrouwd bent met Arduino software, of je control control graens eens of je Arduino Leonardo foutloos verbinding maakt met je computer, dan kan je dat makkelijk testen met een voorbeeldprogramma:

  • Կիսում է Bestand> Voorbeelden> 01. Հիմունքներ> Blink om een voorbeeldprogramma te openen:
  • Vervolgens kies je bij Hulpmiddelen> Board> Arduino Leonardo om de software te laten weten welk type board wij gaan gebruiken:
  • Selecteer de juiste seriële poort door bij Hulpmiddelen> Poort> COMx (Arduino Leonardo te kiezen. Dit doe je om aan te geven via welke USB poort je Arduino communiceert.
  • Սեղմեք de linkerbovenhoek op het pijltje symbool om het voorbeeldprogramma te uploaden.
  • Հղումներ beneden zie je een indicatie die aantoont dat het programma aan het het uploaden is, gevolgd door de boodschap 'uploaden voltooid' bij succes.

!!! Als het uploaden niet lukt en een rode foutmelding geeft dan ligt dit vaak aan een fout in de code. In geval gebruiken մենք foutloze voorbeeldcode, waardoor de fout bij de connectie tussen de Leonardo en je computer moet liggen- ի միջոցով:

Քայլ 3. ԳՐԱԴԱՐԱՆԻ Թղթապանակ

Arduino's zijn in staat om heel veel data te verwerken. Dit zorgt er voor dat er ook veel կոդը nodig is om deze data correct te compileren. Om deze code niet eindeloos lang en complex te schrijven, maken wij gebruik van Arduino գրադարաններ, bibliotheken van code die bepaalde sensors gaan sturen en ons werk een stuk makkelijker maken. Projectրագրի հիմնական գրադարաններն են `Wire, I2Cdev en MPU6050: De Arduino ծրագրային ապահովման սկզբնաղբյուրը գրադարաններն են, գրառումները, ինչպես նաև գրքերի մատենաշարը (Wire) թողարկելը, այնուհետև մենք կարող ենք նաև տեղադրել ձեր ծրագիրը.

  • Լրացրեք հղումը և կտտացրեք «Կլոնավորել կամ ներբեռնել» ՝ ZIP ֆայլը ներբեռնելու համար
  • Փակցնել ZIP ֆայլը և օգտագործել ձեր ստեղծագործական լավագույնը:
  • Deուցադրեք քարտեզը i2cdevlib-master- ի միջոցով> Arduino- ի թղթապանակներ 'I2Cdev' և MPU6050:
  • Կարդացեք Arduino- ի քարտեզը C> Program Files> Arduino> Գրադարանների միջոցով:

!!! Indien je de bij de de installatie van de software ծրագրային ապահովման միջոցով դուք կարող եք գտնել այն, ինչ անհրաժեշտ է, եթե այն տեղադրված է: Het is niet de bedoeling dat je zelf een map aanmaakt.

  • Sluit de Arduino ծրագրային ապահովումը սկսեց աշխատել գրադարանների ստեղծման համար:
  • Schets> Bibliotheek Gebruiken kan je controleren of nu ook I2Cdev en MPU6050 te vinden zijn- ի միջոցով:

Քայլ 4. ԱԿՍԵԼԵՐՈՄԵՏՐ - DE TEORIE

ԱԿՍԵԼԵՐՈՄԵՏՐ - ԴԵ ՏԵՈՐԻԱ
ԱԿՍԵԼԵՐՈՄԵՏՐ - ԴԵ ՏԵՈՐԻԱ

Արագացուցիչը աշխատում է հիմք ընդունելով պիեզոէլեկտրիկ ազդեցություն: Stel je een kubusvormig doosje voor waar een klein balletje in zit (zoals in de bovenstaande illustratie) waar elke wand gemaakt is uit piezoelektrische kristallen. Wanneer je de kubus kantelt verplaatst het balletje zich naargelang de zwaartekracht. Waar het balletje de kubus wanden raakt ontstaat er piezoelectrische stroom. De drie paar evenwijdige wanden van de kubus worden gekoppeld aan de dryimensionale X, Y en Z assen: Afhankelijk van de piezoelectrische stroom geproduceerd langs deze wanden kunnen we zo de versnelling in drie dimensies bepalen.

Գործնականում կիրառելի է. Սմարթֆոնի մեջ կարելի է գտնել արագացված չափիչ և ստանդարտ չափանիշներ: Ստորև բերված է այն տեղեկատվությունը, որը նախատեսված է սմարթֆոնի համար:

Քայլ 5. ԱԿՍԵԼԵՐՈՄԵՏՐ - DE PRAKTIJK

ԱԿՍԵԼԵՐՈՄԵՏՐ - DE PRAKTIJK
ԱԿՍԵԼԵՐՈՄԵՏՐ - DE PRAKTIJK

Մենք խոնավացնում ենք արագացուցիչը, որը թարգմանվում է X, Y en Z- ում, քանի որ մենք կարող ենք ծանոթանալ Arduino ծրագրային ապահովման հետ: Om dit te doen ga je als volgt te werk:

Արագինոմետրը միացրեց արագությունը և սխեման Arduino Leonardo- ն հանդիպեց համակարգչին:

!!! De accelerometer wordt voorzien van de nodige pinnen om makkelijk op een breadboard te prikken, maar deze pinnen dienen wel noog gesoldeerd te worden. Je creatgt de optie om die haaks op je breadboard te plaatsen (bespaart plaats) of evenwijdig zoals in ons voorbeeld- ում:

  • Ներբեռնեք «MPU6050_intro» - ը լավագույնը և բաց դե Arduino ծրագրաշարում:
  • Տախտակամած տիպի հսկիչ և վերահսկիչ վերահսկողություն իրականացնող անձը:
  • Կտտացրեք de linkerbovenhoek op het pijltje om het programma up te loaden- ին:
  • Ընտրող ՝ Hulpmiddelen> Seriële Monitor- ի միջոցով
  • Een nieuw venster opent met 3 kolommen met getallen, dit zijn de versnellingen in de X, Y en Z assen.
  • Beweeg je accelerometer om de versnellingen in alle richtingen te zien- ում:

Terwijl we onze versnellingsdata voor ons hebben kunnen we meteen verkennend werk doen voor onze խաղի վերահսկիչ: Leg de Arduino en accelerometer plat op de tafel en noteer gemiddelde X en Y waarde (mag een ruwe schatting zijn): Onderneem daarna volgende stappen:

  • Kantel de accelerometer 45 ° naar rechts en noteer de gemiddelde X waarde:
  • Kantel de accelerometer 45 ° naar links to noteer de gemiddelde X waarde.
  • Kantel de accelerometer 45 ° naar voor en noteer de gemiddelde Y waarde:
  • Kantel de accelerometer 45 ° naar achter en noteer de gemiddelde Y waarde:

Քայլ 6: ԽԱԻ ԿՈՆՏՐՈԼԵՐ

ԽԱԻ ԿՈՆՏՐՈԼԵՐ
ԽԱԻ ԿՈՆՏՐՈԼԵՐ

Klaar voor het echte werk! Մենք արագացրել ենք արագացուցիչը, որը մենք հանդիպել ենք true drukknoppen om het brein van onze eigen game controller te worden- ի հետ: Koppel de Arduino en accelerometer los en bouw het het geheel opnieuw op volgens bovenstaand սխեմայով:

!!! Մինի սեղմեք կոճակները, որոնք ավելանում են ձեր նշաններում: Druk die plat met een punttang om ze makkelijker in je breadboard te creatgen.

  • Ներբեռնեք «MPU6050_gamecontroller» - ը լավագույնը և բաց դե Arduino ծրագրաշարում:
  • Verbind je Arduino en click in de linkerbovenhoek op het pijltje om het programma up te loaden.
  • De Arduino Leonardo stuurt nu մշտական տեղեկատվական դուռը մեր համակարգչի համար: Wil je de datavoer even pauzeren, koppel dan de jump wire op pin 12 even los, en verbind die opnieuw als je verder wilt gaan.
  • Պրոֆիցիատ Այն ունի հիմնական վերահսկիչ gemaakt, test het gerust eens uit op Pacman:

Geen paniek als je controller niet metéén doet wat je verwacht էր: Դետեկենտ գեվոն դաթը մենք չենք կարող ստուգել մեր աշխատանքը վերահսկողությունից և անցնելուց հետո: Daarvoor duiken we de de Arduino կոդով

Քայլ 7. ԿՈԴ - ՕԳՏԱԳՈՐՎԱ ԳՐԱԴԱՐԱՆՆԵՐ

ԿՈԴ - ՕԳՏԱԳՈՐՎԱ ԳՐԱԴԱՐԱՆՆԵՐ
ԿՈԴ - ՕԳՏԱԳՈՐՎԱ ԳՐԱԴԱՐԱՆՆԵՐ

Het leuke aan Arduino կոդը is dat deze snel aanpasbaar is zonder dat je daarvoor een uitgebreide programmeerkennis moet hebben. Om je op weg te helpen overlopen we kort waar je wat vindt, en wat je kan aanpassen om je controller kalibreren.

«MPU6050_gamecontroller» ծածկագրում անհրաժեշտ է օգտագործել տեքստը: Տվյալն այն է, ինչ մուտքագրված է կոդով, եթե այն կառուցված է: Ook tekst die na // komt, staat los van de code en dient als verduidelijking: Ինչ վերաբերում է «Օգտագործված գրադարաններ» վերնագրին, ապա գրադարանները կարող են գրվել նաև մեր գրացուցակում:

  • #ներառում geeft aan dat we de 'IC2dev' bibliotheek gaan gebruiken
  • const int ԱՆNAԱՆՈՄ = 12 տարի առաջ մենք կապում ենք 12 գեբրուիկեն ալ վելիգեյդ: Արդյո՞ք դրանք դիպչում են ծրագրերի ավտոմատացմանը:
  • const int A_BUTTON = 6 տարի առաջ

!!! De code onder Setup zijn afspraken tussen je Arduino en je computer over hoe deze communiceren, ons geval laten we dit deel code gewoon zoals ze is.

Քայլ 8 ՝ ԿՈԴ ՝ ՕՏԱՐ

ԿՈԴ
ԿՈԴ

Օգտագործելով «Loop» վերնագիրը, այն կարող է օգտագործվել առանց դադարեցման Arduino Leonardo- ի մասին: Het is ook meteen het deel van de code waar we het meest kunnen aanpassen. Կոդի «կոճակը A» և «B» կոճակը gekoppeld aan onze mini push button- երը կարող են մուտքագրել Keyboard.release ('a') enKeyboard.release ('a') twee maal de ('a') te vervangen դուռը eender welke ander ստեղնաշարի toets.

!!! Sommige keyboardtoetsen moet kan je niet rechtstreeks intypen maar hebben een code: Zo zou je 'Delete' knop moet ingeven als 'KEY_DELETE' of als decimale waarde '212': Een lijst van dit soort uitzonderingen binnen arduino vind je via deze link. Wil je nog meer info and kijk je best eens naar de ASCII էջանիշը:

Ստորև ՝ աջ, ձախ, վերև և ներքևում, երբ ընտրեք կոճակը, ինչպես նաև ընտրեք կոճակները: Մուտքագրեք արագացուցիչի արագություն. Մեր արագացուցիչը կարող է օգտագործվել նաև -20000, որպեսզի չկարողանաք օգտագործել բառերը (KEY_RIGHT_ARROW) ingeduwd: Kantel je opnieuw naar links en wordt de waarde groter dan -20000 dan laat hij de rechter pijltoets opnieuw los.

Hier komen de genoteerde waarden uit stap vijf van pas. Հետևյալ խոսքը կարող է լինել ճշգրիտ չափիչ արագացուցիչի մասին: Je kan deze waarden bijstellen naargelang je eigen speelstijl.

Tenslotte vinden we helemaal onderaan de code delay (50): Ստորև բերված է ստեղնաշարի կոդը, որը թույլ է տալիս օգտագործել համակարգչի դուռը: Merkje dat je controller te veel commando's doorgeeft dan verhoog je dit getal met enkele tientallen. Reageert alles te traag dan verklein je het getal wat.

Trial en error is de boodschap!

Խորհուրդ ենք տալիս: