Tartalomjegyzék:

Gyorsulásmérő játékvezérlő: 8 lépés
Gyorsulásmérő játékvezérlő: 8 lépés

Videó: Gyorsulásmérő játékvezérlő: 8 lépés

Videó: Gyorsulásmérő játékvezérlő: 8 lépés
Videó: Стоит ли покупать китайские геймпады? 2024, Július
Anonim
Gyorsulásmérő játékvezérlő
Gyorsulásmérő játékvezérlő

Voorlopige szöveg…

1. lépés: ANYAG

ANYAG
ANYAG
  • Arduino Leonardo: mikrokontroller-bord és Brein van onze játékvezérlő.
  • Mikro USB kábel: minden játékvezérlő a számítógépen.
  • Breadboard: zo hoeven we niet te solderen en blijft ons ontwerp makkelijk aanpasbaar.
  • Breadboard jumper vezetékek: om alle komponens met elkaar te verbinden.
  • MPU6050 gyorsulásmérő: een sensor die versnellingen in de verschillende richtingen kan lezen, zoals je vaak in smartphone, hoverboards en balanrende robots vindt.
  • Twee mini nyomógombok: om knoppen te programeren die los staan van onze gyorsulásmérő.

Opció:

Breadboard és Arduino houder: om compact te kunnen werken

2. lépés: ARDUINO SZOFTVER

Voor we kunnen beginnen aan de bouw- en programmeerpret hebben we de juiste software nodig om het brein van onze game controller, een Arduino Leonardo, te kunnen besturen. Om dit te telepítők, ga je als volgt te werk:

  • A volgende link segítségével letöltheti Arduino letöltési oldalát:
  • Kies voor de juiste szoftver a működési rendszer alapján.
  • Kattintson a letöltésre.
  • Je hebt nu een (.exe) bestand dat je uitvoert door er op te dubbel klikken om de installlatie te vervolledigen.

!!! Wij hebben onze controller gecreëerd met het gedownloade program. A Windows App versie kan dit evengoed, maar kan kleine verschillen hebben in aanpak.

  • Nyissa meg a de Arduino szoftvert.
  • Csatlakoztassa az Arduino Leonardo -t a mikro USB -kábelhez a számítógéphez, de a Leonardo illesztőprogramok automatikus sebességváltóval (ez minden esetben az Arduino aansluit része).

Als je nog niet zo vertrouwd bent with Arduino software, of je controleert graag eens of je Arduino Leonardo foutloos verbinding maakt met je computer, dan can je data makkelijk teszten and een voorbeeldprogramma:

  • Kies via Bestand> Voorbeelden> 01. Basics> Blink om een voorbeeldprogramma te openen.
  • Vervolgens kies je bij Hulpmiddelen> Board> Arduino Leonardo om de software te latten weten welk type board wij gaan gebruiken.
  • Válassza ki a sorozatos portok ajtaját a Hulpmiddelen> Poort> COMx (Arduino Leonardo te kiezen. Dit doe je om aan te geven via welke USB poort je Arduino communiceert.
  • Kattintson a linkerbovenhoek op het pijltje symbool om het voorbeeldprogramma te uploaden.
  • Linkek beneden zie je een indicatie die aantoont dat het program aan 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 dit geval gebruiken we een foutloze voorbeeldcode, waardoor de fout bij de connectie tussen de Leonardo en je computer moet liggen.

3. lépés: KÖNYVTÁRI mappa

Arduino zijn in staat om heel veel data te verwerken. Dit zorgt er voor dat er ook veel code nodig is om deze data correct te compileren. Itt megtalálhatja az Arduino Libraries komplex könyvtárakat, az Arduino Libraries könyvtárát, a kódokat és a bepaalde szenzorokat. Ons project gebruik drie soortgelijke libraries: Wire, I2Cdev és MPU6050. De Arduino software heeft een goede base aan libraries ingebouwd, alsook onze eerste (Wire) bibliotheek, maar de twee andere dienen we zelf nog te installers:

  • Volg deze link és kattintson a "Clone or Download" és a ZIP fájl letöltéséhez
  • Csomagolja be a ZIP -fájlt, és tegye meg a legjobb adatokat.
  • A térképen vind je via i2cdevlib-master> Arduino de folders 'I2Cdev' és MPU6050.
  • Kopieer beide mappen naar de Arduino térkép a C> Program Files> Arduino> Libraries menüpontban.

!!! Indien je de bij de installatie van de software zelf een andere locatie opgegeven hebt dan, vind je de nodige mappen daar. Het is niet de bedoeling dat je zelf een map aanmaakt.

  • Sluit de Arduino szoftver a kezdetektől kezdve az opnieuw op om toegang tot de libraries te krijgen.
  • Via Schets> Bibliotheek Gebruiken kan je controleren of nu ook I2Cdev en MPU6050 te vinden zijn.

4. lépés: Gyorsulásmérő - DE ELMÉLET

Gyorsulásmérő - elmélet
Gyorsulásmérő - elmélet

A gyorsulásmérő alapja a piezoelektromos hatás. 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 balettje de kubus wanden raakt ontstaat er piezoelectrische stroom. De drie paar evenwijdige wanden van de kubus worden gekoppeld aan de kuivatimensionale X, Y en Z assen. Afhankelijk van de piezoelectrische stroom geproduceerd langs deze wanden kunnen we zo de versnelling in drie dimensies bepalen.

Om een praktijkvoorbeeld te geven: In elke smartphone zit tegenwoordig ook standaard een gyorsulásmérő. Deze zorgt er onder andere voor dat je scherm automatisch meedraait als je smartphone kantelt.

5. lépés: ACCELEROMETER - DE PRAKTIJK

Gyorsulásmérő - DE PRAKTIJK
Gyorsulásmérő - DE PRAKTIJK

Weten nu dat een gyorsulásmérő de versnelling in de X, Y en Z as kan meten, maar met onze Arduino software kunnen we die data ook echt zien en opvolgen. Om dit te doen ga je als volgt te werk:

A gyorsulásmérő zárja a bensőséget és a sémát, valamint az Arduino Leonardo verbind számítógépét

!!! A gyorsulásmérő szólamai voorzien van de nodige pinnen om makkelijk op een breadboard te prikken, maar deze pinnen dienen wel nog gesoldeerd te worden. Je krijgt de optie om die haaks op je breadboard te plaatsen (bespaart plaats) of evenwijdig zoals in ons voorbeeld.

  • Töltse le az 'MPU6050_intro' legjobb és nyitott verzióját az Arduino szoftverben.
  • Ellenőrzője a boardtype és a poort nog steeds.
  • Kattintson ide a linkerbovenhoek op het pijltje om het program up te loaden.
  • Válassza ki a Hulpmiddelen> Seriële Monitor segítségével
  • Een nieuw venster opent met 3 kolommen met getallen, dit zijn de versnellingen in de X, Y en Z assen.
  • Beweeg je a gyorsulásmérő az összes richtingen te zien.

Terwijl we onze versnellingsdata voor ons hebben kunnen we meteen verkennend werk doen voor onze game controller. Leg de Arduino és gyorsulásmérő plat op de tafel en noteer gemiddelde X en Y waarde (mag een ruwe schatting zijn). Onderneem daarna volgende stappen:

  • Kantel gyorsulásmérő 45 ° -os nach rechts en noteer de gemiddelde X waarde.
  • Kantel gyorsulásmérő 45 ° naar links and noteer de gemiddelde X waarde.
  • Kantel gyorsulásmérő 45 ° naar voor en noteer de gemiddelde Y waarde.
  • Kantel gyorsulásmérő 45 ° naar achter en noteer de gemiddelde Y waarde.

6. lépés: JÁTÉKVEZÉRLŐ

JÁTÉKVEZÉRLŐ
JÁTÉKVEZÉRLŐ

Klaar voor het echte werk! Mi a gyorsulásmérő gyorsulásmérő ugyanazt találta, mint a kettő drukknoppen om het brein van onze saját játékvezérlő te worden. Koppel de Arduino és gyorsulásmérő los en bouw het geheel opnieuw op volgens bovenstaand schema.

!!! De mini nyomógombok hebben vaak een buiging in hun beentjes. Druk die plat met een punttang om ze makkelijker in je breadboard te krijgen.

  • Töltse le az 'MPU6050_gamecontroller' legjobb és nyitott verzióját az Arduino szoftverben.
  • Verbind je Arduino és kattintson a linkerbovenhoek op het pijltje om het program up te loaden.
  • De Arduino Leonardo lenyűgöző a számítógép állandó számítógépes ajtóival. 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.
  • Proficiat! Je hebt nu een base controller gemaakt, test het gerust eens uit op pacman.

Geen paniek als je controller, nem tudta, mit kell csinálni. Det betekent gewoon dat we kal kalibrálás werk hebben om de controller aan te utas naar onze noden. Daarvoor duiken mi de Arduino kódban

7. lépés: KÓD - HASZNÁLT KÖNYVTÁRAK

KÓD - HASZNÁLT KÖNYVTÁRAK
KÓD - HASZNÁLT KÖNYVTÁRAK

Het leuke aan Arduino kód 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.

Az 'MPU6050_gamecontroller' kódban vind je een heleboel lichtgrijze text. Ez egy szöveges és geen invloed heeft op de code, maar die dient om de code wat te structureren. Ook tekst die na // komt, staat los van de code en dient als verduidelijking. De eerste echte code vinden we terug onder of "Used Libraries", daar herken je meteen de libraries die we in stap drie geïnstalleerd hebben.

  • #befoglalni geeft aan dat we '' IC2dev 'bibliotheek gaan gebruiken
  • const int ENABLE = 12 geeft aan dat pin 12 gebruiken als veiligheid. Deze pin niet verbonden dan stopt ons program automatisch.
  • const int A_BUTTON = 6 geeft aan dat onze Egy csomó aangesloten op oport 5

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

8. lépés: KÓD: LOOP

KÓD: LOOP
KÓD: LOOP

A "Loop" cím alatt a non -stop draaien als onze Arduino Leonardo verbonden -t találja a számítógépen, és a 12 -es pin is aangesloten. Het is ook meteen het deel van de code waar we het meest kunnen aanpassen. De code onder 'button A' en 'button B' is gekoppeld aan onze mini push buttons can je aanpassen door in de code Keyboard.release ('a') enKeyboard.release ('a') twee maal de ('a') te vervangen ajtó eender welke ander billentyűzet toets.

!!! Sommige keyboardtoetsen moet kan je niet rechtstreeks intypen maar hebben een code. Zo zou je de '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 dan kijk je best eens naar de ASCII tabel.

Onder de right, left, up en down vind je vrij gelijkaardige code als bij de buttons, het grote verschil zit hem in het if (accx <-20000) deel van de code. Ez a gyorsulásmérő gyorsítása: a gyorsulásmérő és a gyorsulásmérő is használható, és a Waarde kleiner dan -20000 leest dan wordt de rechter pijltoets (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. Pas de waarden aan naargelang je noties om zo jou specificieke gyorsulásmérő és kalibrálás. Je kan deze waarden bijstellen naargelang je eigen speelstijl.

Tenslotte vinden we helemaal onderaan de code delay (50). Dat stukje code vertraagt het aantal keyboard toetsen die je computer doorkrijgt. Jelölje be a vezérlőt, és tegye még a kommandósok kapuját és verhoog je dit getal met enkele tientallen. Reageert alles te traag dan verklein je het getal wat.

A próba és a hiba de boodschap!

Ajánlott: