Turinys:

Akselerometro žaidimų valdiklis: 8 žingsniai
Akselerometro žaidimų valdiklis: 8 žingsniai

Video: Akselerometro žaidimų valdiklis: 8 žingsniai

Video: Akselerometro žaidimų valdiklis: 8 žingsniai
Video: Ну как же без Боузера в финале ► 3 Прохождение Luigi's Mansion (Gamecube) 2024, Liepa
Anonim
Akselerometro žaidimų valdiklis
Akselerometro žaidimų valdiklis

„Voorlopige“tekstas…

1 žingsnis: MEDŽIAGA

MEDŽIAGA
MEDŽIAGA
  • Arduino Leonardo: mikrovaldiklis-bordas ir Brein van onze žaidimų valdiklis.
  • „Micro USB“kabelis: žaidimų valdiklis, skirtas kompiuteriui.
  • Duonos lenta: zo hoeven we niet te solderen en blijft ons ontwerp makkelijk aanpasbaar.
  • Duonos lentos jungiamieji laidai: visi komponentai ir elkaar te verbinden.
  • MPU6050 pagreičio matuoklis: een sensor die versnellingen in de verschillende richtingen can lezen, zoals je vaak in smartphones, hoverboards and balancerende robots vindt.
  • Du mini mygtukai: pagreitinkite ir programuokite greitį.

Pasirinkimas:

„Breadboard“ir „Arduino houder“: kompaktiškas ir geras darbas

2 žingsnis: ARDUINO PROGRAMINĖ ĮRANGA

Prieš tai mes pradėsime aan de bouwen en programmeerpretember hebben we de juiste programinė įranga, nukreipta į bet kokį žaidimo valdiklį, pvz., Arduino Leonardo, te kunnen besturen. Įdiegę patys, galite sužinoti, kaip elgtis:

  • Pasinaudokite „Agenduino“atsisiuntimo nuoroda: „Volgende“nuoroda:
  • Kies voor de juiste programinė įranga veikia operacinėje sistemoje.
  • Spustelėkite ir atsisiųskite.
  • Je hebt nu een (.exe) bestand dat je uitvoert door er op te dubbel click on om de installlatie te vervolledigen.

!!! Wij hebben onze controller gecreëerd met het gedownloade program. „Windows“programos versijos gali būti išlygintos, o tai galima padaryti.

  • Atidarykite „Arduino“programinę įrangą.
  • Prijunkite „Arduino Leonardo“prie kompiuterio USB mikro kabelio, „Leonardo“tvarkyklės automatiškai automatizuokite gedimo įrenginį (taip pat galite sužinoti, ar tai yra „Arduino aansluit“).

Taip pat galite rasti „Arduino“programinę įrangą, taip pat kontroliuoti „Arduino Leonardo“fblo verbinding, kai kompiuteris yra išjungtas, o tai gali būti naudinga:

  • Kies via Bestand> Voorbeelden> 01. Basics> 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.
  • Pasirinkite duris, skirtas durims, esančioms Hulpmiddelen> Poort> COMx (Arduino Leonardo ir kie. Dit doe je om aan te geven via welke USB poort je Arduino communiceert.
  • Spustelėkite nuorodų nuorodą, kad gautumėte piktogramą, kurią galite atsisiųsti.
  • Nuorodos beneden zie je een indicatie die aantoont dat het program aan het uploaden is, gevolgd door de boodschap 'uploaden voltooid' bij sėkmė.

!!! Als het uploaden niet lukt en een rode foutmelding geeft dan ligt dit vaak aan een fout in de code. Į šį geval gebruiken mes een foutloze voorbeeldcode, waardoor de fout bij de connectie tussen de Leonardo en je computer moet liggen.

3 žingsnis: BIBLIOTEKOS APLANKAS

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. Jei norite, kad šis kodas būtų sudėtingas, tai yra „Arduino Libraries“, „Arduino Libraries“biblioteka, kodų biblioteka ir bepaalde jutikliai. Projektas „Gebruik drie soortgelijke“bibliotekos: „Wire“, „I2Cdev“ir „MPU6050“. „Arduino“programinės įrangos heeft een goede base in a libraries ingebouwd, alsook onze eerste (Wire) bibliotheek, maar de twee andere dienen we zelf nog te installesren:

  • Volg deze nuoroda ir spustelėkite „Klonuoti arba atsisiųsti“ir atsisiųskite ZIP failą
  • Pakuotėje ZIP failas, kuriame galite rasti geriausią informaciją.
  • De Bekomen žemėlapyje vind je per i2cdevlib-master> „Arduino“aplankai „I2Cdev“ir MPU6050.
  • Žemėlapis „Kopieer beide mappen naar de Arduino“per C> Program Files> Arduino> Libraries.

!!! Indijos diegimo programinės įrangos dalis, skirta programinei įrangai ir kitai vietai rasti, o ne vieta, kur yra, o ne vind je de nodige mappen daar. Het is niet de bedoeling dat je zelf een map aanmaakt.

  • Pasinaudokite „Arduino“programine įranga, kad paleistumėte savo biblioteką.
  • Via Schets> Bibliotheek Gebruiken can je controleren of nu ook I2Cdev en MPU6050 te vinden zijn.

4 žingsnis: AKSELEROMETRAS - TEORIJA

AKSELEROMETRAS - TEORIJA
AKSELEROMETRAS - TEORIJA

Šis pagreičio matuoklis veikia pagal pjezoelektrinį efektą. Stel je een kubusvormig doosje voor waar een klein baletje in zit (zoals in de bovenstaande illustratie) waar elke wand gemaakt is uit piezoelektrische kristallen. Wanneer je de kubus kantelt verplaatst het baletje zich naargelang de zwaartekracht. Waar het baletje 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. Pasirenkant vango pjezoelektros kambarį geproduceerd langs deze wanden kunnen we zo de versnelling in drie dimensies bepalen.

Visus praktiškai pritaikytus dalykus: išmaniajame telefone yra greitas pagreičio matuoklis. Deze zorgt erder andere voor dat je scherm automatisch meedraait als je smartphone kantelt.

5 žingsnis: AKCELEROMETRAS - DE PRAKTIJK

AKSELEROMETRAS - DE PRAKTIJK
AKSELEROMETRAS - DE PRAKTIJK

Mes sušlapiname visus dabartinius akselerometrus, skirtus versijoms X, Y ir Z kaip 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:

Greitasis akselerometras, kuriame yra bovenstaand schema ir verbind de Arduino Leonardo su kompiuteriu

!!! Akselerometras, kuriame pateikiama informacija apie voratinklį, duonos lentelė su maketu, 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.

  • Atsisiųskite „MPU6050_intro“geriausią ir atidarykite „de Arduino“programinę įrangą.
  • Valdytojo lentos tipo ir pora ne steeds juist staan.
  • Spustelėkite nuorodą, kad gautumėte programą.
  • Pasirinkite per „Hulpmiddelen“> „Seriële Monitor“
  • Een nieuw venster opent met 3 kolomens met getallen, dit zijn de versnellingen in de X, Y en Z assen.
  • Beweeg je akselerometras visose versijose, esančiose visame richtingen te zien.

Žiūrėkite žaidimo valdiklį, kuriame yra versnellingsdata voor ons hebben kunnen. „Leg de Arduino“ir pagreičio matuoklio platforma su užrašų gemiddelde X en Y waarde (mag een ruwe schatting zijn). Onderneem daarna volgende stappen:

  • Kantelio pagreičio matuoklis 45 laipsnių kampu ir gemiddelde X waarde.
  • Kantelio pagreičio matuoklis 45 laipsnių kampu ir gemiddelde X waarde.
  • Kantelio akselerometras 45 ° kampu ir gemiddelde Y waarde.
  • Kantelio pagreičio matuoklis 45 ° kampu ir gemiddelde Y waarde.

6 žingsnis: Žaidimų valdiklis

ŽAIDIMŲ VALDIKLIS
ŽAIDIMŲ VALDIKLIS

Klau voor het echte werk! Mes matome greitį, pagreičio matuoklį, kurį gavome per du kartus, bet nesvarbu, koks yra žaidimo valdiklis. Koppel de Arduino ir pagreičio matuoklis, esantis greitas ir lengvas bovenstaand schema.

!!! De mini mygtukų, kurie leidžia jums pasipuošti. Druk die plat met een punttang om ze makkelijker in je breadboard te krijgen.

  • Atsisiųskite „MPU6050_gamecontroller“geriausią ir atvirą „de Arduino“programinę įrangą.
  • Verbind je Arduino ir spustelėkite nuorodos nuorodą, kad gautumėte programą.
  • De Arduino Leonardo yra nuolatinis kompiuterių durų informacijos šaltinis. 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.
  • Profesionalumas! Je hebt nu een pagrindo valdiklis gemaakt, test het gerust eens uit op pacman.

Geen paniek als je controller, o ne meteén doet wat je had verwacht. Pažymėkite geografinę informaciją, kurią mes naudojame, kad galėtume kontroliuoti savo valdiklį. Daarvoor duiken mes de Arduino kodu

7 veiksmas: KODAS - NAUDOTOS BIBLIOTEKOS

KODAS - NAUDOTOS BIBLIOTEKOS
KODAS - NAUDOTOS BIBLIOTEKOS

Het leuke aan Arduino kodas yra dat deze snel aanpasbaar yra 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“kodą įeina tekstas „heleboel lichtgrijze“. Tai yra tekstas ir genas, į kurį įeina heeft op de code, o ma die die dient om de code wat te structureren. Ook tekst die na // komt, staat los van de code and dient als verduidelijking. Jei norite gauti kodą, naudokite „Bibliotekos“, naudokitės bibliotekomis, naudokitės bibliotekomis.

  • #įtraukti geeft aan dat we '' IC2dev 'bibliotheek gaan gebruiken
  • const int ĮJUNGTI = 12 geeft aan dat pin 12 gebruiken als veiligheid. Ar deze pin niet verbonden dan stopt ons program automatisch.
  • const int A_BUTTON = 6 geeft aan dat onze Gnybtas aangesloten yra op poort 5

!!! Jei norite įdiegti kodą, pasirinkite Arduino ir kompiuterį per „Hoe Deze Communiceren“, o vėliau - geval latentą.

8 veiksmas: KODAS: LOOP

KODAS: LOOP
KODAS: LOOP

Jei norite gauti pavadinimą „Loop“, įveskite kodą be pertraukos draaien als onze Arduino Leonardo verbonden yra sutinkamas kompiuteriu, o 12 kaištis yra suplanuotas. Het is ook meteen het deel van de code waar we het meest kunnen aanpassen. „Kodo įvedimo“mygtukas „A“ir „B“mygtukas yra geografinis ir mažų mygtukų mygtukas, leidžiantis įeiti į durų kodą Keyboard.release ('a') enKeyboard.release ('a') twee maal de ('a') Vervangen durų eender welke ander klaviatūra.

!!! Sommige keyboardtoetsen moet can je niet rechtstreeks intypen maar hebben een code. Zo zou je de 'Ištrinti' knop moet ingeven als 'KEY_DELETE' iš 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 tabel.

Dešinėje, kairėje, aukštyn ir žemyn vind je vrij gelijkaardige code ass bij mygtukai, het grote verschil zit hem in het if (accx <-20000) deel van de code. Patikrinkite pagreičio matuoklį: taip pat ir pagreičio matuoklis, taip pat ir greitasis akselerometras -20000. 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 akselerometras ir kalibravimas. Je kan deze waarden bijstellen naargelang je eigen speelstijl.

Tenslotte vinden we helemaal onderaan de code delay (50). Išsamią kodo vertikalaus klavišo klavišą galite pakeisti kompiuterio durimis. Pažymėkite šį valdiklį ir dar komandų duris, kad pasiektumėte visas problemas. Reageert alles te traag dan verklein je het getal wat.

Bandymas ir klaida yra de boodschap!

Rekomenduojamas: