ዝርዝር ሁኔታ:

የፍጥነት መለኪያ ጨዋታ መቆጣጠሪያ 8 ደረጃዎች
የፍጥነት መለኪያ ጨዋታ መቆጣጠሪያ 8 ደረጃዎች

ቪዲዮ: የፍጥነት መለኪያ ጨዋታ መቆጣጠሪያ 8 ደረጃዎች

ቪዲዮ: የፍጥነት መለኪያ ጨዋታ መቆጣጠሪያ 8 ደረጃዎች
ቪዲዮ: ከወሲብ በፊት ይህን ከጠጣህ አለቀላት ! | ማለቂያ ለሌለው የወሲብ ብቃት | 2024, ሀምሌ
Anonim
የፍጥነት መለኪያ ጨዋታ መቆጣጠሪያ
የፍጥነት መለኪያ ጨዋታ መቆጣጠሪያ

Voorlopige ጽሑፍ…

ደረጃ 1 - ቁሳቁስ

ቁሳዊ
ቁሳዊ
  • አርዱinoና ሊዮናርዶ: een microcontroller-bord als brein van onze የጨዋታ መቆጣጠሪያ።
  • የማይክሮ ዩኤስቢ ካቢል - ኦም ኦንዜዝ የጨዋታ ተቆጣጣሪ ያለ ኮምፒውተር።
  • የዳቦ ሰሌዳ: ዞ ሆቨን እኛ ኒት ተ solderen en blijft ons ontwerp makkelijk aanpasbaar.
  • የዳቦ ሰሌዳ ዝላይ ሽቦዎች - ኦም ኤሌ ክፍልን ተገናኘ ኢልካር ተ verbinden።
  • MPU6050 የፍጥነት መለኪያ: የኤን ዳሳሽ በ verschillende richtingen kan lezen ውስጥ መሞትን ፣ በስማርትፎኖች ውስጥ ዞላዎችን ፣ hoverboards en balancerende robots vindt.
  • Twee mini push button: om knoppen te programmeren die los staan van onze accelerometer.

አማራጭ አማራጭ ፦

የዳቦ ሰሌዳ en Arduino houder: om compact te kunnen werken

ደረጃ 2: ARDUINO SOFTWARE

Voor we kunnen startnen aan de bouw- en programmeerpret hebben we de juiste software nodig om het brein van onze የጨዋታ መቆጣጠሪያ ፣ een Arduino Leonardo, te kunnen besturen. ከዚህ ቀደም የተጫነውን ሥራ ፣ ሥራውን መሥራት ፣

  • ጋ በ volgende አገናኝ በኩል ናር ዴ አውርድፔን ቫን አርዱinoኖ:
  • Kies voor de juiste software op based van je operating systeem.
  • ጠቅ ያድርጉ ማውረድ።
  • Je hebt nu een (.exe) bestand dat je uitvoert በር er op te dubbel klikken om de installatie te vervolledigen.

!!! Wij hebben onze ተቆጣጣሪ gecreëerd het gedownloade programma ተገናኘ። የዊንዶውስ አፕሊኬሽን በአንድ ቀን ውስጥ ፣ በአፓክ ውስጥ ማቤን ክላይን ቨርቺን ሄቤን።

  • ዴ አርዱዲኖ ሶፍትዌርን ይክፈቱ።
  • ኮኔዲየር አርዱinoና ሊዮናርዶ ተገናኝቶ ማይክሮ ዩኤስቢ kabel aan je ኮምፒውተር ፣ የሊዮናርዶ ነጂዎች ዎርዶም አውቶማቲክ (gebeurt enkel als het de eerst keer is dat je de Arduino aansluit)።

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

  • Kies በ Bestand> Voorbeelden> 01. Basics> Blink om een voorbeeldprogramma te openen በኩል።
  • Vervolgens kies je bij Hulpmiddelen> ቦርድ> አርዱinoኖ ሊዮናርዶ ኦም ዴ ሶፍትዌር te laten weten welk type board wij gaan gebruiken.
  • Selecteer de juiste seriële poort door bij Hulpmiddelen> Poort> COMx (አርዱinoኖና ሊዮናርዶ ቴ ኪዬዘን። Dit doe je om aan te geven via welke USB poort je Arduino communiceert
  • በ linkerbovenhoek op het pijltje symbool om het voorbeeldprogramma te uploaden ላይ ጠቅ ያድርጉ።
  • አገናኞች ቤኔደን ዚዬ ጄን ኢማን አመላካች እስከ አሁን ድረስ በፕሮግራሙ ውስጥ ያለ ፕሮግራሙ ያለ ፣ የ “ቮልቮድ በር” ደ ቦድሻፕ ‘uploaden voltooid’ bij ስኬቶች ናቸው።

!!! Als het uploaden niet lukt en een rode foutmelding geeft dan ligt dit vaak aan een fout in de code. በዲት ገቫል ገቡሩኬን ውስጥ እኛ eut foutloze voorbeeldcode ፣ waardoor de fout bij de connectie tussen de ሊዮናርዶ en je computer moet liggen።

ደረጃ 3: የቤተመጽሐፍት ማጠፊያ

የአርዱዲኖ ዚጂን በ staat om heel veel data te verwerken። Dit zorgt er voor dat er ook veel code nodig is om deze data correct te compileren. Om deze code niet eindeloos lang en complex te schrijven, maken wij gebruik van Arduino Libraries, bibliotheken van code die bepaalde sensors gaan sturen en ons work een stuk makkelijker maken. Ons ፕሮጀክት gebruik drie soortgelijke ቤተ-: ሽቦ, I2Cdev en MPU6050. በዲ አርዱinoኖ ሶፍትዌር እስከ አሁን ድረስ በቤተመጽሐፍት ውስጥ ፣ አልስኦክ ኦንሴር (ሽቦ) ቢብሊዮቴክ ፣ ማርቲ ዴ ትዌይ አንድሬ ዲየን እኛ እኛ ራሳችንን እንፈልጋለን።

  • የ «Zlone» ፋይልን አውርድ ወይም 'አውርድ' የሚለውን ጠቅ ያድርጉ
  • የፓክ ዲ ዚፕ ፋይል ወደ ኦም ኦውጋንግ ቴ ክሪጅገን ቶ ዴ ዴስታንድደን።
  • በ de bekomen map vind je በ i2cdevlib-master> Arduino de አቃፊዎች 'I2Cdev' en MPU6050 ውስጥ።
  • Kopieer beide mappen naar de Arduino map በ C> የፕሮግራም ፋይሎች> አርዱinoኖ> ቤተመጻሕፍት በኩል።

!!! ኢንዲያን ጀ ዴ ቢላ ደ ኢንስታላቲ ቫን ዴ ሶፍትዌር ዘልፌን ኤን አንድሬ ሎታቲ ኦፕጌጌቨን ሄብት ዳን ፣ ቪንዴ ዴ ኖዲጌ ማፕን ዳአር። Het is niet de bedoeling dat je zelf een map aanmaakt ነው።

  • Sluit de Arduino ሶፍትዌር af en start ze opnieuw op om toegang tot de libraries te krijgen.
  • በ Schets> Bibliotheek Gebruiken kan je controleren of nu ook I2Cdev en MPU6050 te vinden zijn.

ደረጃ 4 - ACCELEROMETER - DE THEORIE

ACCELEROMETER - DE THEORIE
ACCELEROMETER - DE THEORIE

Een accelerometer werkt op van van het piezoelectrisch ውጤት። Stel je een kubusvormig doosje voor waar een klein balletje zit (zoals in de bovenstaande illustratie) waar elke wand gemaakt is uit piezoelektrische kristallen ነው። ዋኔር ጄ ደ ኩቡስ ካንቴልት verplaatst het balletje zich naargelang de zwaartekracht. ዋር het balletje de kubus wanden raakt ontstaat er piezoelectrische stroom. ዴ ድሬ ፓር evenwijdige wanden van de kubus worden gekoppeld aan de driedimensionale X, Y en Z assen። Afhankelijk ቫን ደ piezoelectrische stroom geproduceerd langs deze wanden kunnen we zo de versnelling in drie dimensies bepalen.

ኦም በእውነቱ በስራ ላይ የዋለው በስልክ ስማርትፎን ዚት ተገንwoordig ኦክ standaard een accelerometer ውስጥ ነው። Deze zorgt er onder andere voor dat je scherm automatisch meedraait als je smartphone kantant.

ደረጃ 5: ACCELEROMETER - DE PRAKTIJK

ACCELEROMETER - DE PRAKTIJK
ACCELEROMETER - DE PRAKTIJK

እኛ በዲ ኤክስ ፣ Y en Z እንደ kan meten ፣ ማር met onze Arduino software kunnen እኛ እንሞታለን data ok echt zien en opvolgen ን በዲ ኤን ኤ ፣ ኤክስ ኤክስ ኤክስ ኤክስ ኤንድ ኤን ኤ ኤ ኤ ኤ ኤን ኤን። ኦም ዲት ተ ዶን ጋ ጀ አልስ ቮልት ቲ ስራ -

Sluit de accelerometer aan volgens bovenstaand schema en verbind de Arduino Leonardo met met je computer

!!! የፍጥነት መለኪያው ቃል voorzien van de nodige pinnen om makkelijk op een breadboard te prikken, maar deze pinnen dienen wel nog gesoldeerd te worden. በኦን ቮርቤልድ ውስጥ የ evenwijdig zoals of krijgt de optie om die haaks op je breadboard te plaatsen (bespaart plaats).

  • «MPU6050_intro» bestand on de dedu in de Arduino ሶፍትዌር ውስጥ ያውርዱ።
  • የጄ ቦርድ ዓይነት ኢን ፖስተር ኖግ ፈረሶች ጁስት ስታን።
  • ላይ ጠቅ ያድርጉ በ 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 X, Y en Z assen።
  • Beweeg je accelerometer om de versnellingen in all richtingen te zien.

Terwijl እኛ onze versnellingsdata voor ons hebben kunnen እኛ meteen verkennend werk doen voor onze የጨዋታ ተቆጣጣሪ። እግር ዴ አርዱinoኖ በኤክስሌሮሜትር ፕላፕ ኦፍ ታፋል እና ማስታወሻ ደብተር ገሚዴልዴ ኤክስ ኤን ዋ ዋርዴ (mag een ruwe schatting zijn)። Onderneem daarna volgende stappen:

  • Kantel de የፍጥነት መለኪያ 45 ° naar rechts en noteer de gemiddelde X waarde.
  • Kantel de accelerometer 45 ° naar አገናኞች en noteer de gemiddelde X waarde.
  • Kantel de የፍጥነት መለኪያ 45 ° naar voor en noteer de gemiddelde Y waarde.
  • Kantel de የፍጥነት መለኪያ 45 ° naar achter en noteer de gemiddelde Y waarde.

ደረጃ 6 - የጨዋታ መቆጣጠሪያ

የጨዋታ ተቆጣጣሪ
የጨዋታ ተቆጣጣሪ

ክላራ voor het echte ሥራ! እኛ gebruiken onze accelerometer samen ተገናኘን twee drukknoppen om het brein van onze eigen የጨዋታ መቆጣጠሪያ te worden. Koppel de Arduino en የፍጥነት መለኪያ ሎስ en bouw het geheel opnieuw op volgens bovenstaand schema.

!!! ዴ ሚኒ የግፋ አዝራሮች hebben vaak een ሁገን beentjes ውስጥ buiging. Druk die plat met een punttang om ze makkelijker in je breadboard te krijgen.

  • በ ‹MPU6050_gamecontroller› ላይ ያውርዱ እና በዲ አርዱinoኖ ሶፍትዌር ውስጥ ክፍት ቦታን ያውርዱ።
  • Verbind je Arduino en klik in linkerbovenhoek op het pijltje om het programma up te loaden.
  • ደ አርዱዲኖ ሊዮናርዶ የማያቋርጥ የመረጃ መረጃ በር በኮምፒተር ውስጥ። ዊል ጄ ደ datavoer እንኳ pauzeren, koppel ዳን ደ ዝላይ ሽቦ op ሚስማር 12 እንኳ ሎስ, en verbind die opnieuw als je verder wilt gaan.
  • ፕሮፌሽናል! ሄብት ኑ የኢኤን መሠረት ተቆጣጣሪ gemaakt ፣ የሙከራ het gerust eens uit op pacman.

Geen paniek als je ተቆጣጣሪ niet metéén doet wat je je verwacht. Dat betekent gewoon dat we nog calibratie werk hebben om de መቆጣጠሪያ አነ ተ passen ናአር ኦንዜ ኖደን። Daarvoor duiken እኛ በ Arduino ኮድ ውስጥ

ደረጃ 7 ኮድ - ያገለገሉ ቤተ -መጻሕፍት

ኮድ - ያገለገሉ ቤተ መጻሕፍት
ኮድ - ያገለገሉ ቤተ መጻሕፍት

Het leuke an Arduino code 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 መቆጣጠሪያ kalibreren.

በ 'MPU6050_gamecontroller' ኮድ vind je een heleboel lichtgrijze tekst ውስጥ። ያ ቀን በቴክስት መሞት ነው። Ook tekst die na // komt, staat los van de code en dient als verduidelijking. ደ E ርቴ Echte ኮድ vinden we terug onder de titel 'Used Libraries', daar herken je meteen de libraries die we in stap drie geïnstalleerd hebben.

  • #ያካትቱ geeft aan dat we de 'IC2dev' bibliotheek gaan gebruiken
  • const int ENABLE = 12 geeft a dat እኛ 12 gebruiken als veiligheid ን እንሰካለን። Is deze pin niet verbonden dan stopt ons programma automatisch.
  • const int A_BUTTON = 6 geeft aan dat onze አንድ knop aangesloten op poort 5 ነው

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

ደረጃ 8 ፦ ኮድ ፦ ሎፕ

ኮድ: ሎፕ
ኮድ: ሎፕ

ኦንደር ዴ titel 'Loop' vind je lijnen code die no stop draaien als onze Arduino Leonardo verbonden is met de computer en pin 12 is aangesloten. Het is ook meteen het deel ቫን ዴ ኮድ ዋር እኛ het meest kunnen aanpassen. ‘ኮድ A’ en’button B’ gekoppeld is on onze mini push buttons can can jepasspass in de code Keyboard.release ('a') enKeyboard.release ('a') twee maal de ('a') te vervangen በር eender ዌልኬ ander ሰሌዳ ሰሌዳዎች.

!!! Sommige keyboardtoetsen moet kan je niet rechtstreeks intypen maar hebben een ኮድ። Zo zo je de de 'Delete' knop moet ingeven als 'KEY_DELETE' of als decimale waarde '212'. Een lijst van dit soort uitzonderingen binnen arduino vind je በ deze አገናኝ በኩል። Wil je nog meer info dan kijk je best eens naar de ASCII ታብል።

ከስር በስተቀኝ ፣ በግራ ፣ ወደ ላይ ወደ ታች vind je vrij gelijkaardige ኮድ als bij de አዝራሮች ፣ het grote verschil zit hem in het ከሆነ (accx <-20000) ዴል ቫን ዴ ኮድ። Dit verwijst naar de accelerometer: als de accelerometer naar rechts kantelt en een waarde kleiner dan -20000 leest dan wordt de rechter pijltoets (KEY_RIGHT_ARROW) ingeduwd. Kantel je opnieuw naar አገናኞች en wordt de waarde groter ዳን -20000 ዳን laat hij de rechter pijltoets opnieuw los.

Hier komen de genoteerde waarden uit stap vijf van pas. ፓስ ደ ዋርደን አአአአአአአአአአአአአአአአአአአአአአአአአአአአአአአአአአአአአአ አ አ አ አ አ አ ግሮሜትር ቴ ካሊብሬን። ጀ ቃን ዴዘ ዋርደን ቢጅስትሌለን ናአርገላንግ e eigen speelstijl።

Tenslotte vinden እኛ helemaal onderaan de ኮድ መዘግየት (50)። Dat stukje ኮድ vertraagt het aantal ቁልፍ ሰሌዳ toetsen die je computer doorkrijgt. መርኬቲ ዳታ ተቆጣጣሪ በቬል ኮማንዶ በር በር እና በቬርሆግ ጀ ዲት ጌትል ተገናኝቶ እንከለ ትኢትየንለን። Reageert alles te traag dan verklein je het getal wat.

ሙከራ en ስህተት de boodschap ነው!

የሚመከር: