Kazalo:

Igralni krmilnik merilnika pospeška: 8 korakov
Igralni krmilnik merilnika pospeška: 8 korakov

Video: Igralni krmilnik merilnika pospeška: 8 korakov

Video: Igralni krmilnik merilnika pospeška: 8 korakov
Video: Arducopter на гоночном квадрокоптере. Это вам не INAV! Часть первая. Базовая настройка 2024, November
Anonim
Igralni krmilnik merilnika pospeška
Igralni krmilnik merilnika pospeška

Voorlopige Besedilo …

1. korak: MATERIAL

MATERIAL
MATERIAL
  • Arduino Leonardo: Mikrokontroler-bord als brein van onze igralni krmilnik.
  • Kabel mikro USB: vsestranski igralni krmilnik in računalnik.
  • Breadboard: zo hoeven we niet te solderen en blijft ons ontwerp makkelijk aanpasbaar.
  • Mostične žice za ploščico: vse komponente so sestavljene iz vseh vrst.
  • Merilnik pospeška MPU6050: senzor za merjenje pospeševanja delovanja v različicah, ki so na voljo, je na voljo v pametnih telefonih, hoverboardih in ravnotežnih robotih.
  • Twee mini gumbi: om knoppen te programmeren die los staan van onze merilnik pospeška.

Možnost izbire:

Breadboard en Arduino houder: om compact te kunnen werken

2. korak: PROGRAMSKA OPREMA ARDUINO

Za začetek programa, ki ga programiramo, je treba uporabiti programsko opremo, ki je namenjena upravljanju iger, kot je Arduino Leonardo, ki je na voljo. Om dit te installeren, ga je als volgt te werk:

  • Pojdite prek povezave na spletnem mestu za prenos strani Arduino:
  • Najnovejša programska oprema je osnova operacijskega sistema.
  • Kliknite prenos.
  • Je hebt nu een (.exe) bestand dat je uitvoert door er op te dubbel klikken om de installlatie te vervolledigen.

!!! Wij hebben onze krmilnik je boljši od programa za prenos. Aplikacija Windows za različice je lahko enaka ali večja, lahko pa jo zamenjate z različnimi aplikacijami.

  • Odprite programsko opremo de Arduino.
  • Priključek je Arduino Leonardo z mikro USB kablom in računalnikom, Leonardovi gonilniki poenostavijo avtomatizirano delovanje (to je ena od možnosti Arduino).

Prav tako je najverjetneje, da je programska oprema Arduino upognjena, ali pa je kontroverzna graag eens programa Arduino Leonardo, ki je verbalno uspel z računalnikom, lahko pa ga preizkusite z enim voorbeeldprogramom:

  • Kies via Bestand> Voorbeelden> 01. Osnove> Blink om een voorbeeldprogramma te openen.
  • Vervolgens kies je bij Hulpmiddelen> Board> Arduino Leonardo om programske opreme te laten weten welk type board wij gaan gebruiken.
  • Izberite juiste serijske vratce za vrata, ki so na voljo Hulpmiddelen> Poort> COMx (Arduino Leonardo te kiezen. To je vse, kar potrebujete prek USB -ja, ki je povezan z Arduino -om).
  • Kliknite na de linkerbovenhoek op het pijltje symbool om het voorbeeldprogramma te uploaden.
  • Povezave beneden zie je een indicatie die aantoont dat het programma aan het uploaden is, gevolgd door de boodschap 'uploaden voltooid' bij uspelo.

!!! 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 računalnik moet liggen.

3. korak: KNJIŽNIČNA MAPA

Arduino's 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. 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 werk een stuk makkelijker maken. Ons gebruik drie soortgelijke knjižnice projekta: Wire, I2Cdev en MPU6050. De Arduino software heeft een goede basis aan libraries ingebouwd, alsook onze eerste (Wire) bibliotheek, maar de twee andere dienen we zelf nog te installeren:

  • Poiščite povezavo in kliknite »Kloniraj ali naloži« in prenesite datoteko ZIP
  • Pakirajte ZIP datoteko, če želite, da je križgen to bestanden.
  • Na zemljevidu bekomen je v i2cdevlib-master> Arduino mape 'I2Cdev' in MPU6050.
  • Kupite zemljevid na zemljevidu Arduino prek C> Programske datoteke> Arduino> Knjižnice.

!!! Indien je de bij de installlatie 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 software en en start ze opnieuw o om toegang tot de libraries te krijgen.
  • Prek shem> Bibliotheek Gebruiken lahko nadzirate nu ook I2Cdev in MPU6050 te vinden zijn.

4. korak: AKCELEROMETER - DE THEORIE

ACCELEROMETER - DE THEORIE
ACCELEROMETER - DE THEORIE

Merilnik pospeška deluje na osnovi osnove piezoelektričnega učinka. 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 onntstaat 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 dimenzies bepalen.

Om een praktikkvoorbeeld te geven: In elke smartphone with the tegenwoordig ook standaard een accelerometer. Deze zorgt er onder andere voor dat je scherm automatisch meedraait als je pametni telefon kantelt.

5. korak: AKCELEROMETER - DE PRAKTIJK

AKCELEROMETER - DE PRAKTIJK
AKCELEROMETER - DE PRAKTIJK

Če želite, da merilnik pospeška de versnelling v de X, Y in Z, kot je mogoče, smo se srečali s programsko opremo Arduino, ko smo umrli, podatki ook echt zien en opvolgen. Om dit te doen ga je als volgt te werk:

Merilnik pospeška in volgen bovenstagram in verbind de Arduino Leonardo z računalnikom

!!! De merilnik pospeška wordt voorzien van de nodige pinnen om makkelijk op een motherboard te prikken, maar deze pinnen dienen wel nog gesoldeerd te worden. Je krijgt de optie om die haaks op je motherboard te plaatsen (bespaart plaats) of evenwijdig zoals in ons voorbeeld.

  • Prenesite programsko opremo 'MPU6050_intro' v odprto programsko opremo de Arduino.
  • Krmilnik je boardtype en poort nog steeds juist staan.
  • Kliknite na povezavo, če želite, da se program naloži.
  • Izbira prek 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 merilnik pospeška om de versnellingen in all richtingen te zien.

Terwijl we onze versnellingsdata voor ons hebben kunnen we metteen verkennend werk doen voor onze game controller. Leg de Arduino in merilnik pospeška op de tafel in noteer gemiddelde X en Y waarde (mag een ruwe schatting zijn). Onderneem daarna volgende stappen:

  • Merilnik pospeška 45 °, na zadnjem delu, z opombo o gemiddelde X waarde.
  • Merilec pospeška 45 ° na črtah z opombo o gemiddelde X waarde.
  • Merilnik pospeška 45 °, nameščen v opombi za gemiddelde Y.
  • Merilnik pospeška 45 °, pritrjen na beležnico gemiddelde Y waarde.

6. korak: UPRAVLJALEC IGRE

NADZOR IGRE
NADZOR IGRE

Klaar voor het echte werk! Poskrbeli smo za merjenje merilnika pospeška in se seznanili s twee drukknoppen om het brein van onze lastnim igralnim krmilnikom. Koppel de Arduino z merilnikom pospeška los en bouw het geheel opnieuw op volgens bovenstaand shema.

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

  • Prenesite on '' MPU6050_gamecontroller '' v odprto programsko opremo de Arduino.
  • Verbind je Arduino in kliknite na linkerbovenhoek, da ga pišete v programu, ki ga naložite.
  • De Arduino Leonardo ne razmišlja o stalnih informacijah na računalniku. 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 kontrolor niet metéén doet wat je had verwacht. Dat betekent gewoon dat we nog calibratie werk hebben om de controller aan te passen naar onze noden. Daarvoor duiken we v de Arduino kodi

7. korak: KODE - UPORABLJENE KNJIŽNICE

KODA - UPORABLJENE KNJIŽNICE
KODA - UPORABLJENE KNJIŽNICE

Het leuke aan 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 controller kalibreren.

V kodi "MPU6050_gamecontroller" koda je prikazana kot besedilo besedila. Dat je tekst die 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 de titel 'Used Libraries', daar herken je meteen de libraries die we in stap drie geïnstalleerd hebben.

  • #vključi geeft aan dat we de "IC2dev" bibliotheek gaan gebruiken
  • const int ENABLE = 12 dni in lahko pripnemo 12 fotografij ali več. Je deze pin niet verbonden in stop stop ons programma automatisch.
  • const int A_BUTTON = 6 odmikov od datuma A knop aangesloten je op poort 5

!!! Koda pod nastavitvijo je vklopljena, ker je Arduino en računalnik prek komunikacijske povezave, v tem času pa je koda gewoon zoals ze is.

8. korak: KODA: ZANIMANJE

KODA: LOOP
KODA: LOOP

Pod naslovom 'Loop' je vpisana koda, ki neprekinjeno draizira tudi Arduino Leonardo, ki je v računalniku in je na 12 -odstotnem mestu. Het is ook meteen het deel van de code waar we het meest kunnen aanpassen. Koda pod "gumbom A" in "gumbom B" je gekoppeld aan onze mini gumbi kan je aanpassen vrata v de code Keyboard.release ('a') enKeyboard.release ('a') twee maal de ('a') ti verhangen door eender welke ander toets tipkovnice.

!!! 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.

Na desni, levi, gor in navzdol je vrij gelijkaardige koda als bij de button, het grote verschil zit hem in het if (accx <-20000) deel van de code. Na tem mestu morate meriti merilnik pospeška: als de merilnik pospeška mora biti rents kantelt en een waarde kleiner dan -20000 leest in 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 specifieke accelerometer te kalibreren. Je kan deze waarden bijstellen naargelang je eigen speelstijl.

Tenslotte vinden we helemaal onderaan de code delay (50). Ta koda je nameščena na aantalni tipkovnici in je računalniška. 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.

Poskusna napaka in napaka je de boodschap!

Priporočena: